Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-1782

Allow multiple sections from single unit to have separate permissions

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Needs Review
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 5.2.2
    • Component/s: Permissions
    • Labels:
      None
    • Change Log Group:
      Changed
    • Change Log Message:
      Change of permission of one unit section won't copy/paste them to other section in same unit.
    • Story Points:
      2
    • Copy Issue Key:
    • Patch Instructions:

      Patches must be submitted through Phabricator.

      Description

      1. add the section parameter to m unit query string definition (http://qa.in-portal.org/diffusion/INP/browse/branches%252F5.2.x/in-portal/branches/5.2.x/core/units/general/general_config.php;16154$22-29- 0.2h
      2. always pass "m_section" url parameter (will be included into env url parameter), when building urls in the Admin Console tree (see http://qa.in-portal.org/diffusion/INP/browse/branches%252F5.2.x/in-portal/branches/5.2.x/core/units/helpers/sections_helper.php;16154$245- 0.3h
      3. don't use perm_prefix key to replace non-primary unit section with primary one (e.g. in-portal:admins with in-portal:user_list) when saving/showing group permissions (see http://qa.in-portal.org/D52 for code places, but the changed code needs to be removed at all to use $section_name as-as) - 0.5h
      4. write an upgrade script, that will copy permission grants for all non-primary unit sections from unit's primary section (only mentioned section uses perm_prefix in core code, so it's a simple SQL query) - 0.3h
      5. when declaring section use SectionPrefix key for specifying associated unit instead of perm_prefix key (no coding required for that) - 0.2h
      6. in places, where the perm_prefix setting from section definition is used we need to use SectionPrefix (always present) instead: - 0.5h
        1. the kEvent::getSection method
        2. the kSectionsHelper::getPermSection method
      7. improve the kSectionsHelper::getPermSection method by: - 0.5h
        1. adding optional $prefix parameter
        2. when $prefix parameter is given we:
          1. look for "m_section" request variable
          2. if found and is declared in the unit, which prefix is given, then use it as permission section
        3. invoke current code (use section's unit main unit permission section name) when:
          1. $prefix parameter is not given
          2. the m_section request variable is empty
          3. section given in m_section request variable is defined in another unit
          4. section given in m_section request variable not defined at all
      8. in places, where kSectionsHelper::getPermSection method is called we need to provide the $prefix parameter:- 1h
        1. the "adm::SectionInfo" tag (from the combined_header block)
        2. the "adm::PrintSections" tag (from Admin Tree)
        3. the "adm::ListTabs" tag (grids with tabs, e.g. discounts)
        4. in the "\kSectionsHelper::sectionVisible" method (called from "adm::DrawTree" tag, "adm::PrintSections" tag, "kSectionsHelper::getFirstChild" method)
        5. the "adm::DrawTree" tag (from group permission editing screen) - indirect call
        6. the "kSectionsHelper::getFirstChild" method (from "adm::PrintSection" tag) - indirect call

      Quote: 3.5h*1.4 (doing) + 1.5h (quoting) = 6.5h

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                alex Alex
                Reporter:
                alex Alex
                Developer:
                Erik Snarski [Intechnic]
                Reviewer:
                Alex
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Time Tracking

                  Estimated:
                  Original Estimate - 8.5h Original Estimate - 8.5h
                  8.5h
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 11h 10m
                  11h 10m