Delete of Reference Manual Section Produces Forbidden Screen

Bug #389059 reported by Anthony
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KARL3
Fix Released
Medium
Shane Hathaway

Bug Description

While attempting to delete a section in the Communications Reference Manual, I get a Forbidden screen. (See attached). While testing, I also added a new section called 'NEW' and now I can't delete that as well.

Revision history for this message
Anthony (agalietti) wrote :
Changed in karl3:
assignee: nobody → Paul Everitt (paul-agendaless)
milestone: none → m19
Revision history for this message
Paul Everitt (paul-agendaless) wrote :

Looks like a good one for Shane.

Changed in karl3:
assignee: Paul Everitt (paul-agendaless) → Shane Hathaway (shane-hathawaymix)
importance: Undecided → Medium
milestone: m19 → m20
Revision history for this message
Chris Rossi (chris-archimedeanco) wrote :

Another week, another milestone.

Changed in karl3:
milestone: m20 → m21
Revision history for this message
Shane Hathaway (shane-hathawaymix) wrote :

Fixed in revision 3388. Resolved this by displaying the delete action only when permissions allow deletion. A related problem is some strange permission settings in the database. I suggest we run the following script to remove the apparently senseless settings::

    def fix(obj):
        acl = getattr(obj, '__acl__', None)
        if acl is not None:
            new_acl = []
            for ace in acl:
                if ace[1] == 'admin':
                    # no principal is named 'admin'
                    continue
                if ace == ('Deny', 'system.Everyone', ('edit', 'delete')):
                    # this is implicit
                    continue
                new_acl.append(ace)
            if acl != new_acl:
                print obj.__name__, new_acl
                obj.__acl__ = new_acl
        if hasattr(obj, 'values') and hasattr(obj, '__getitem__'):
            for item in obj.values():
                fix(item)

    fix(root['offices'])
    import transaction; transaction.commit()

Changed in karl3:
status: New → Fix Committed
Changed in karl3:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.