def pending_join(self): """Returns True if the user is pending approval to join a group.""" for group in Group.all(): for user in group.pending_users: if user.user_id() == self.user_id: return True return False
def get(self): # fix any references to non-existance objects users = User.all() for user in users: try: project = user.project except db.ReferencePropertyResolveError as e: logging.info( 'Resolving property resolve error on user.project for {}\'s project {}' .format(user.key(), user._project)) user.project = None user.put() try: group = user.group except db.ReferencePropertyResolveError as e: user.group = None user.put() groups = Group.all() for group in groups: try: project = group.project except db.ReferencePropertyResolveError as e: group.project = None group.put() projects = Project.all() for project in projects: volunteers = project.volunteers.filter('group =', None) num_volunteers = volunteers.count() groups = project.groups num_group_volunteers = sum([group.slots for group in groups]) spots = num_volunteers + num_group_volunteers project.setSpotsTaken(spots, True) groups = Group.all() for group in groups: members = group.members num_members = members.count() group.spots_taken = num_members group.put() return self.redirect('/admin', {'error': '1'})
def index(request): groups = Group.all().filter("owner =", request.user).fetch(100) if len(groups) == 0: message = _("You don't own any group yet.") else: message = _("The groups you own.") return render_to_response('groupy/index.html', { 'message': message, 'groups': groups })
def post(self): verification = self.request.get('verification') if verification != 'close group registration': raise ValidationError( errors={'verification': 'Insufficient verification'}) groups = Group.all() for group in groups: group.slots = group.spots_taken group.put() return self.redirect('/admin/groups', {'error': '3'})
def get(self): groups = Group.all() leaders_emails = ','.join( map( lambda user: user.email, User.all().filter('is_group_leader = ', True).filter('group !=', None))) return { 'groups': groups, 'Group': Group, 'leaders_emails': leaders_emails, }
def getGroups(id): query = Group.all() if id: query = query.filter('parentGroup =', db.Key(id)) # XXX exceptions query.order('name') groups = [] for g in query.fetch(1000): gg = g.json() try: gg['parent'] = g.parentGroup.key().__str__() if g.parentGroup else None except Exception: continue groups.append(gg) return groups
def get(self): stats = {} stats['volunteers'] = {} stats['volunteers']['count'] = 0 stats['volunteers']['count_has_group'] = 0 stats['volunteers']['count_no_group'] = 0 stats['volunteers']['count_has_project'] = 0 stats['volunteers']['count_no_project'] = 0 users = User.all() for user in users: stats['volunteers']['count'] += 1 if user.group == None: stats['volunteers']['count_no_group'] += 1 else: stats['volunteers']['count_has_group'] += 1 if user.project == None: stats['volunteers']['count_no_project'] += 1 else: stats['volunteers']['count_has_project'] += 1 stats['groups'] = {} stats['groups']['count'] = Group.all().count() stats['groups']['total_spots'] = sum( map(lambda group: group.slots, Group.all())) stats['groups']['spots_taken'] = sum( map(lambda group: group.spots_taken, Group.all())) stats['groups']['unused_spots'] = sum( map(lambda group: group.spots_taken, Group.all())) stats['projects'] = {} stats['projects']['count'] = Project.all().count() stats['projects']['total_spots'] = sum( map(lambda project: project.max_volunteers, Project.all())) stats['projects']['spots_taken'] = sum( map(lambda project: project.spots_taken, Project.all())) stats['projects']['unused_spots'] = stats['projects'][ 'total_spots'] - stats['projects']['spots_taken'] return stats
def get(self, username): if username == 'mine': user = User.get_current_user() else: user = get1_by_property(User, 'name', username) if user: balances = self.get_balances(user) self.generate('user_profile.html', {'user':user, 'balances':balances, 'groups':Group.all(), 'vendors':Vendor.all()}) else: self.redirect('/oops/invalid_user')
def __init__(self, parent, *args, **kwargs): QDialog.__init__(self, parent, *args, **kwargs) vbox = QVBoxLayout() vbox.addWidget(FBoxTitle(u"<h3>Ajout de contact </h3>")) self.combo_grp = QComboBox() groups = Group() groups.name = "Aucun" self.list_grp = Group.all() self.list_grp.append(groups) self.list_grp.reverse() for index in self.list_grp: sentence = u"%(name)s" % {'name': index.name} self.combo_grp.addItem(sentence) self.full_name = LineEdit() self.msg_e_or_c = FLabel("") self.full_name.setFont(QFont("Arial", 16)) self.phone_number = IntLineEdit() self.phone_number.setInputMask("D9.99.99.99") self.phone_number.setAlignment(Qt.AlignCenter) self.phone_number.setFont(QFont("Arial", 16)) send_butt = Button(u"Enregistrer") send_butt.clicked.connect(self.save_form) cancel_but = Button(u"Fermer") cancel_but.clicked.connect(self.cancel) formbox = QGridLayout() formbox.addWidget(FLabel(u"Groupes:"), 0, 0) formbox.addWidget(self.combo_grp, 1, 0) formbox.addWidget(FLabel(u"Nom complèt: "), 0, 1) formbox.addWidget(self.full_name, 1, 1) formbox.addWidget(FLabel(u"Numéro: "), 0, 2) formbox.addWidget(self.phone_number, 1, 2) formbox.addWidget(send_butt, 2, 1) formbox.addWidget(cancel_but, 2, 0) formbox.addWidget(self.msg_e_or_c, 3, 0, 3, 2) vbox.addLayout(formbox) self.setLayout(vbox)
def post(self): data = UserForm(data=self.request.POST) logging.info(self.request.POST) if not data.is_valid(): self.redirect('/u/register') else: user = data.save(commit=False) if not exists_by_property(User, 'name', user.name): user.who = users.get_current_user() user.put() for group in self.request.POST.getall('group'): user.join(Group.get_by_id(group)) self.redirect('/u/%s/profile' % user.name) else: logging.debug('user %s already exists!' % user.name) self.generate('add_user.html', {'form':data, 'groups':Group.all()})
def get(self): """Displays a list of all groups.""" return self.render('groups_list', {'groups': Group.all()})
def get(self): return { 'groups': Group.all().order('name'), }
def group(self): """The group the user belongs to, or None.""" for group in Group.all(): if self.gae_user in group.members: return group return None
def get(self): return self.render('groups_list', { 'groups': Group.all() })
def get(self): form = UserForm() self.generate('add_user.html', {'form':form, 'groups':Group.all()})
def get(self): self.generate("list_group.html", {"groups":list(Group.all())})
def post(self): groups = Group.all() for group in groups: group.delete()