Browse Source

add the 'legacy user created' page type

Olivier Massot 7 months ago
parent
commit
cee2cb280b

+ 8 - 4
doc/be_users.md

@@ -38,8 +38,6 @@ Ce paragraphe présente les droits des be_users sur les pages et contenus du sit
 | Menu Présentation (*)                              | ![v](images/v.svg) | ![x](images/x.svg) | ![v](images/v.svg) | ![x](images/x.svg) | ![v](images/v.svg) | *11* |
 | Autres pages                                       | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | *31* |
 
-> (*) Inclut les pages : Adhérents, membres du CA, évènements, évènements des structures, structures adhérentes, informations pratiques
-
 #### Editeur Premium
 
 | Page                                               | Show               | Edit content       | Edit page          | Delete             | New                | Code |
@@ -58,7 +56,8 @@ Ce paragraphe présente les droits des be_users sur les pages et contenus du sit
 | Home                                               | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *19* |
 | footer/* (mentions légales, contact, plan du site) | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *1*  |
 | Menu Présentation (*)                              | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *1*  |
-| Autres pages                                       | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *27* |
+| Autres pages                                       | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *0*  |
+| Autres pages (legacy **)                           | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![x](images/x.svg) | *21* |
 
 #### Editeur Standard
 
@@ -67,7 +66,12 @@ Ce paragraphe présente les droits des be_users sur les pages et contenus du sit
 | Home                                               | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *19* |
 | footer/* (mentions légales, contact, plan du site) | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *1*  |
 | Menu Présentation (*)                              | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *1*  |
-| Autres pages                                       | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *27* |
+| Autres pages                                       | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | ![x](images/x.svg) | *0*  |
+| Autres pages (legacy **)                           | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![v](images/v.svg) | ![x](images/x.svg) | *21* |
+
+> (*) Inclut les pages : Adhérents, membres du CA, évènements, évènements des structures, structures adhérentes, informations pratiques
+
+> (**) Les pages créées par les utilisateurs standards avant la correction des droits disposent de droits particuliers (`ot_page_type = 'LEGACY_USER_CREATED'`).
 
 
 ## Accès aux menus

+ 6 - 0
ot_admin/Classes/Controller/SiteController.php

@@ -1785,6 +1785,12 @@ class SiteController extends ActionController
                 $editorsPerms = self::PERM_NONE;
                 $hidden = 1;
 
+            } else if ($page['ot_page_type'] === OtPageTypeEnum::LEGACY_USER_CREATED->value && !$isPremium) {
+                // Cas particulier des pages créées par les utilisateurs standard avant la remise à plat des droits
+                // @see doc/be_users.md
+                $adminPerms = self::PERM_SHOW + self::PERM_EDIT_CONTENT + self::PERM_EDIT_PAGE + self::PERM_DELETE;
+                $editorsPerms = self::PERM_SHOW + self::PERM_EDIT_CONTENT + self::PERM_EDIT_PAGE + self::PERM_DELETE;
+
             } else {
                 $adminPerms = self::PERM_SHOW + self::PERM_EDIT_CONTENT + self::PERM_EDIT_PAGE;
                 if ($isPremium)  {

+ 1 - 0
ot_admin/Classes/Enum/OtPageTypeEnum.php

@@ -10,4 +10,5 @@ enum OtPageTypeEnum: string
     case MANDATORY_NON_EDITABLE = 'MANDATORY_NON_EDITABLE';
     case NON_MANDATORY = 'NON_MANDATORY';
     case USER_CREATED = 'USER_CREATED';
+    case LEGACY_USER_CREATED = 'LEGACY_USER_CREATED';
 }