def test_setup(test): """Create some models needed for the tests.""" ututi.tests.setUp(test) setUpUser() uni = LocationTag.get(u'uni') dep = LocationTag(u'department', u'dep', u'', uni, member_policy='PUBLIC') meta.Session.add(dep) meta.Session.commit() u = User.get('*****@*****.**', uni) meta.set_active_user(u.id) g = Group('moderators', u'Moderatoriai', LocationTag.get(u'vu'), date.today(), u'U2ti moderatoriai.') role = GroupMembershipType.get('administrator') gm = GroupMember() gm.user = u gm.group = g gm.role = role meta.Session.add(g) meta.Session.add(gm) meta.Session.add(Subject(u'subject', u'A Generic subject', uni, u'')) meta.Session.commit() meta.set_active_user(u.id)
def update_membership(self, group): if hasattr(self, 'form_result'): user = User.get_byid(self.form_result.get('user_id', None)) membership = GroupMember.get(user, group) if membership is not None: role = self.form_result.get('role', 'member') if role == 'not-member': meta.Session.delete(membership) elif role in ['member', 'administrator']: role = GroupMembershipType.get(role) membership.role = role h.flash(_("The status of the user %(fullname)s was updated.") % {'fullname': user.fullname}) else: h.flash(_("Problem updating the status of the user.")) meta.Session.flush() meta.Session.expire(group) if group.administrators == 0: h.flash(_('The group must have at least one administrator!')) meta.Session.rollback() else: meta.Session.commit() else: h.flash(_("Problem updating the status of the user. Cannot find such user.")) redirect(url(controller="group", action="members", id=group.group_id))
def test_setup(test): """Create some models needed for the tests.""" ututi.tests.setUp(test) setUpUser() u = User.get('*****@*****.**', LocationTag.get('uni')) meta.set_active_user(u.id) g = Group('moderators', u'Moderatoriai', LocationTag.get(u'uni'), date.today(), u'U2ti moderatoriai.') role = GroupMembershipType.get('administrator') gm = GroupMember() gm.user = u gm.group = g gm.role = role meta.Session.add(g) meta.Session.add(gm) meta.Session.commit()
def test_setup(test): """Create some models for this test.""" ututi.tests.setUp(test) # The following c&p from model tests. Maybe should be put to base set up. #a user needs a university uni = LocationTag(u'U-niversity', u'uni', u'', member_policy='PUBLIC') meta.Session.add(uni) meta.Session.commit() #the user meta.Session.execute("insert into authors (type, fullname) values ('user', 'Administrator of the university')") meta.Session.execute("insert into users (id, location_id, username, password)" " (select authors.id, tags.id, '*****@*****.**', 'xnIVufqLhFFcgX+XjkkwGbrY6kBBk0vvwjA7'" " from tags, authors where title_short = 'uni' and fullname = 'Administrator of the university');") meta.Session.execute("insert into emails (id, email, confirmed)" " (select users.id, users.username, true from users where username = '******')") meta.Session.commit() u = User.get('*****@*****.**', uni) user = User(u"a new user", "*****@*****.**", uni, "his password") meta.Session.add(user) user.emails.append(Email("*****@*****.**")) user.phone_number = '+37060000000' user.phone_confirmed = False meta.Session.commit() meta.Session.execute("SET LOCAL ututi.active_user TO %d" % u.id) g = Group('moderators', u'Moderatoriai', LocationTag.get(u'vu'), date.today(), u'U2ti moderatoriai.') role = GroupMembershipType.get('administrator') gm = GroupMember() gm.user = u gm.group = g gm.role = role meta.Session.add(g) meta.Session.add(gm) meta.Session.commit() meta.set_active_user(u.id)
def leave(self, group): membership = GroupMember.get(c.user, group) if membership is not None: meta.Session.delete(membership) meta.Session.flush() meta.Session.expire(group) if len(group.administrators) < 1: h.flash(_('The group must have at least one administrator!')) meta.Session.rollback() redirect(request.referrer) meta.Session.commit() redirect(group.url())