[hooks/security] provide attribute "add" permission
As of today, the update permission on attributes is checked at entity
*creation* time. This forbids using update permissions the proper way.
We set it to be checked at entity update time only.
We introduce a specific 'add' permission rule for attributes.
For backward compatibility, its default value will be the same as the
current 'update' permission.
Notes:
* needs a new yams version (ticket #149216)
* introduces two new 'add_permissions' rdefs (attribute - group|rqlexpr)
* if the update permission was () and the bw compat kicks in, the rule
is not enforced, to avoid un-creatable entity types -- this
restriction will be lifted when the bw compat is gone
* small internal refactoring on check_entity_attributes
* one small pre 3.6.1 bw compat snippet must be removed from schemaserial
Closes #2965518.
.. -*- coding: utf-8 -*-
Formation Python-CubicWeb 5 jours
==================================
Bases Python
------------
Syntaxe de base
~~~~~~~~~~~~~~~
:durée: 1j
Modèle objet
~~~~~~~~~~~~
:durée: 0.5j
Traitement de chaînes
~~~~~~~~~~~~~~~~~~~~~
:durée: 0.3j
Formattage de chaînes
Unicode
Entrées/Sorties
~~~~~~~~~~~~~~~
:durée: 0.2j
Fichiers
`StringIO`
Structures avancées
~~~~~~~~~~~~~~~~~~~
:durée: 0.5j
`object`, `super`
iterateurs
générateurs
list comprehension / generator expression
descripteurs, properties (`classmethod`, `property`)
décorateurs
Développement CubicWeb
-----------------------
Mise en place d'un environnement de développement CubicWeb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:durée: 0.5j
Introduction mercurial
Installation de CubicWeb et de ses dépendances (debian !)
Postgres
Notion de template et d'instance
L'outil `cubicweb-ctl`
Création du modèle
Création d'une instance de développement
Fondements CubicWeb
~~~~~~~~~~~~~~~~~~~
:durée: 0.1j
Vocabulaire
Le langage RQL
Client/Serveur
Définition du modèle de données
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:durée: 0.4j
Définition d'entité
Définition de relation
Persistence du schéma
Migration de schéma
Fondements du framework CubicWeb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:durée: 0.1j
La classe `appobject`
La base de registres
Chargement dynamique des classes
Manipulation des données stockées
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:durée: 0.4j
Les classes `Entity` et `AnyEntity`
Paramétrages et extensions spécifiques
Écriture de tests unitaires
Définition de vues
~~~~~~~~~~~~~~~~~~
:durée: 0.5j
Les classes de base des vues
Les vues prédéfinies dans la librairie
Les patrons
Vues binaires ou autre
Écriture de tests unitaires
Tests automatiques
Autres composants de l'interface web
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:durée: 0.5j
Actions
Component, VComponent
Forms, Controller
Eproperty