Пример #1
0
 def _process(self):
     query = LocalGroup.query.options(joinedload(LocalGroup.members)).order_by(db.func.lower(LocalGroup.name))
     groups = [g.proxy for g in query]
     providers = [p for p in multipass.identity_providers.itervalues() if p.supports_groups]
     form = SearchForm(obj=FormDefaults(exact=True))
     groups_enabled = True
     if not providers and not config.LOCAL_GROUPS:
         groups_enabled = False
     elif not providers:
         del form.provider
     else:
         choices = [('', _('All'))]
         if config.LOCAL_GROUPS:
             choices.append(('indico', _('Local Groups')))
         choices += [(p.name, p.title) for p in sorted(providers, key=attrgetter('title'))]
         form.provider.choices = choices
     search_results = None
     if groups_enabled and form.validate_on_submit():
         search_providers = None if not providers or not form.provider.data else {form.provider.data}
         search_results = GroupProxy.search(form.name.data, exact=form.exact.data, providers=search_providers)
         search_results.sort(key=attrgetter('provider', 'name'))
     provider_titles = {p.name: p.title for p in multipass.identity_providers.itervalues()}
     provider_titles[None] = _('Local')
     return WPGroupsAdmin.render_template('groups.html', groups=groups, providers=providers, form=form,
                                          search_results=search_results, provider_titles=provider_titles,
                                          groups_enabled=groups_enabled)
Пример #2
0
 def _process(self):
     query = LocalGroup.query.options(joinedload(LocalGroup.members)).order_by(db.func.lower(LocalGroup.name))
     groups = [g.proxy for g in query]
     providers = [p for p in multipass.identity_providers.itervalues() if p.supports_groups]
     form = SearchForm(obj=FormDefaults(exact=True))
     if not providers:
         del form.provider
     else:
         form.provider.choices = [("", _("All")), ("indico", _("Local Groups"))] + [
             (p.name, p.title) for p in sorted(providers, key=attrgetter("title"))
         ]
     search_results = None
     if form.validate_on_submit():
         search_providers = None if not providers or not form.provider.data else {form.provider.data}
         search_results = GroupProxy.search(form.name.data, exact=form.exact.data, providers=search_providers)
         search_results.sort(key=attrgetter("provider", "name"))
     provider_titles = {p.name: p.title for p in multipass.identity_providers.itervalues()}
     provider_titles[None] = _("Local")
     return WPGroupsAdmin.render_template(
         "groups.html",
         groups=groups,
         providers=providers,
         form=form,
         search_results=search_results,
         provider_titles=provider_titles,
     )
Пример #3
0
 def _process(self, name):
     groups = GroupProxy.search(name)
     return jsonify([{
         'is_group': True,
         'name': group.name,
         'id': getattr(group, 'id', group.name),
         'provider': group.provider
     } for group in groups])
Пример #4
0
 def _getAnswer(self):
     results = [
         g.as_legacy_group
         for g in GroupProxy.search(self._group, exact=self._exactMatch)
     ]
     fossilized_results = fossilize(results, IGroupFossil)
     for fossilizedGroup in fossilized_results:
         fossilizedGroup["isGroup"] = True
     return fossilized_results
Пример #5
0
 def _process(self):
     query = LocalGroup.query.options(joinedload(LocalGroup.members)).order_by(db.func.lower(LocalGroup.name))
     groups = [GroupProxy(g.id, _group=g) for g in query]
     providers = [p for p in multipass.identity_providers.itervalues() if p.supports_groups]
     form = SearchForm(obj=FormDefaults(exact=True))
     if not providers:
         del form.provider
     else:
         form.provider.choices = ([('', _('All')), ('indico', _('Local Groups'))] +
                                  [(p.name, p.title) for p in sorted(providers, key=attrgetter('title'))])
     search_results = None
     if form.validate_on_submit():
         search_providers = None if not providers or not form.provider.data else {form.provider.data}
         search_results = GroupProxy.search(form.name.data, exact=form.exact.data, providers=search_providers)
         search_results.sort(key=attrgetter('provider', 'name'))
     provider_titles = {p.name: p.title for p in multipass.auth_providers.itervalues()}
     provider_titles[None] = _('Local')
     return WPGroupsAdmin.render_template('groups.html', groups=groups, providers=providers, form=form,
                                          search_results=search_results, provider_titles=provider_titles)
Пример #6
0
 def _process(self, name, exact):
     groups = GroupProxy.search(name, exact=exact)
     total = len(groups)
     return jsonify(
         groups=[serialize_group(group) for group in groups[:10]],
         total=total)
Пример #7
0
 def _getAnswer(self):
     results = [g.as_legacy_group for g in GroupProxy.search(self._group, exact=self._exactMatch)]
     fossilized_results = fossilize(results, IGroupFossil)
     for fossilizedGroup in fossilized_results:
         fossilizedGroup["isGroup"] = True
     return fossilized_results
Пример #8
0
 def _process(self, name):
     groups = GroupProxy.search(name)
     return jsonify([serialize_group(group) for group in groups])
Пример #9
0
 def _process(self, name, exact):
     groups = GroupProxy.search(name, exact=exact)
     total = len(groups)
     return jsonify(groups=[serialize_group(group) for group in groups[:10]], total=total)