Exemplo n.º 1
0
def set_discussions_properties(db_user: User, db_issue: Issue, value,
                               iproperty, translator) -> dict:
    """

    :param db_user: User
    :param db_issue: Issue
    :param value: The value which should be assigned to property
    :param iproperty: Property of Issue, e.g. is_disabled
    :param translator:
    :return:
    """
    if db_issue.author_uid != db_user.uid and not user.is_admin(
            db_user.nickname):
        return {'error': translator.get(_.noRights)}

    if iproperty == 'enable':
        db_issue.set_disabled(not value)
    elif iproperty == 'public':
        db_issue.set_private(not value)
    elif iproperty == 'writable':
        db_issue.set_read_only(not value)
    else:
        return {'error': translator.get(_.internalKeyError)}

    DBDiscussionSession.add(db_issue)
    DBDiscussionSession.flush()
    transaction.commit()

    return {'error': ''}
Exemplo n.º 2
0
 def test_is_user_admin(self):
     self.assertTrue(user.is_admin('Tobias'))
     self.assertFalse(user.is_admin('Torben'))
Exemplo n.º 3
0
 def test_is_admin(self):
     self.assertFalse(user.is_admin('Pascal'))
     self.assertTrue(user.is_admin('Tobias'))
Exemplo n.º 4
0
 def test_is_admin(self):
     assert_false(user.is_admin('Pascal'))
     assert_true(user.is_admin('Tobias'))