def intention_choice(node, kw): root = getSite() values = [(str(i), i) for i in root.comment_intentions] values.insert(0, ('', _('- Select -'))) return Select2Widget( values=values, item_css_class="comment-form-group comment-intention-form")
def thematic_widget(node, kw): request = node.bindings['request'] values = request.get_site_folder.get_keywords_by_level() if len(values) >= 1: values = [(k, k) for k in sorted(values[1])] return Select2Widget(values=values, multiple=True)
def node_choices(node, kw): request = node.bindings['request'] values = request.get_site_folder.get_all_branches() if values: values = sorted([(k, k) for k in values], key=lambda e: e[0]) return Select2Widget(values=values)
def kind_choice(node, kw): values = [(key, value) for key, value in VENUE_KINDS.items()] values = sorted(values, key=lambda e: e[0]) return Select2Widget( values=values, create=True, multiple=True, )
def keywords_choice(node, kw): root = getSite() values = [(i, i) for i in sorted(root.keywords)] create = getattr(root, 'can_add_keywords', True) return Select2Widget(max_len=5, values=values, create=create, multiple=True)
def aliases_choices(node, kw): request = node.bindings['request'] values = request.root.get_keywords_by_level() if values: values = list(set([item for sublist in values for item in sublist])) values = sorted([(k, k) for k in values], key=lambda e: e[0]) return Select2Widget(values=values, create=True, multiple=True)
def files_choice(node, kw): context = node.bindings['context'] values = [] root = getSite() if context is not root: workspace = context.working_group.workspace values = [(get_oid(file_), file_.title) for file_ in workspace.files] return Select2Widget(values=values, multiple=True)
def position_widget(node, kw): values = [(ad_id, value['title']) for ad_id, value in ADVERTISING_CONTAINERS.items() if 'game' in value['tags']] values = sorted(values, key=lambda e: ADVERTISING_CONTAINERS[e[0]]['order']) return Select2Widget(css_class="advertising-positions", values=values, multiple=True)
def roles_choice(node, kw): roles = ADMIN_ROLES.copy() if not has_role(role=('Admin', )) and 'Admin' in roles: roles = APPLICATION_ROLES.copy() values = [(key, name) for (key, name) in roles.items() if not DACE_ROLES[key].islocal] values = sorted(values, key=lambda e: e[0]) return Select2Widget(values=values, multiple=True)
def processes_choice(node, kw): root = getSite() runtime = root['runtime'] processes = [ p for p in list(runtime.processes) if getattr(p.definition, 'isUnique', False) ] values = [(i.__name__, i.title) for i in processes] return Select2Widget(values=values, create=False, multiple=True)
def sources_choices(node, kw): request = node.bindings['request'] values = [] values = [(str(get_oid(s)), s.title) for s in getattr(request.root, 'site_folders', [])] values = sorted(values, key=lambda e: e[1]) values.insert(0, ('self', _('This site'))) values.insert(0, ('all', _('All sites'))) return Select2Widget(values=values, multiple=True)
def targets_choice(node, kw): request = node.bindings['request'] root = request.root keywords = [kw_.split('/') for kw_ in tree_to_keywords(root.tree)] keywords = list(set([item for sublist in keywords for item in sublist])) if ROOT_TREE in keywords: keywords.remove(ROOT_TREE) values = [(v, v) for v in sorted(keywords)] return Select2Widget(values=values, multiple=True)
def states_choices(node, kw): request = node.bindings['request'] localizer = request.localizer states_mapping = get_content_types_states( request.analytics_default_content_types, True) values = [ (k, ', '.join([localizer.translate(st) for st in states_mapping[k]])) for k in sorted(states_mapping.keys()) ] return Select2Widget(values=values, multiple=True)
def organization_choice(node, kw): context = node.bindings['context'] values = [] root = getSite() if root is None: root = context.__parent__.__parent__ prop = sorted(root.organizations, key=lambda p: p.title) values = [(i, i.title) for i in prop] values.insert(0, ('', _('- Select -'))) return Select2Widget(values=values)
def content_types_choices(node, kw): from lac import core request = node.bindings['request'] values = [] exclude_internal = request.user is None values = [(key, getattr(c, 'type_title', c.__class__.__name__)) for key, c in list(core.SEARCHABLE_CONTENTS.items()) if not exclude_internal or (exclude_internal and not getattr(c, 'internal_type', False))] values = sorted(values, key=lambda e: e[0]) return Select2Widget(values=values, multiple=True)
def subjects_choice(ballot_report): subjects = ballot_report.subjects def get_title(ob): if isinstance(ob, Entity): return ob.title else: return _(ob) values = [(i, get_title(i)) for i in subjects] return Select2Widget( values=values, item_css_class='publish-proposal-opt work-duration')
def participant_choice(node, kw): context = node.bindings['context'] exclusion_ballots = [ b for b in context.ballots if b.group_id == 'vote_exclusion' ] member_exclusion = [ b.subjects[0] for b in exclusion_ballots if b.subjects and (not b.is_finished or b.decision_is_valide) ] values = [(get_oid(m), m.title) for m in context.working_group.members if m not in member_exclusion] values.insert(0, ('', _('- Select -'))) return Select2Widget(values=values, multiple=False)
def subjects_choice(ballot_report): subjects = ballot_report.subjects group_values = getattr(ballot_report.ballottype, 'group_values', None) def get_title(ob): if isinstance(ob, Entity): return ob.title else: return _(ob) if group_values: values = group_values else: values = [(i, get_title(i)) for i in subjects] return Select2Widget(values=values)
class AuthSchema(Schema): log_in = colander.SchemaNode( colander.Boolean(), widget=deform.widget.CheckboxWidget(), label=_('Login with a Yammer account'), description=_('Users can login with their Yammer account.'), title='', missing=False) networks = colander.SchemaNode( colander.Set(), widget=Select2Widget(values=[], create=True, multiple=True), title=_('Trusted networks'), description=_( "To add trusted network, you need to tap the « Enter »" " key after each network or to separate them with commas."), missing=[])
def delegate_m_widget(node, kw): request = node.bindings['request'] context = node.bindings['context'] site = None if isinstance(context, SiteFolder): site = context else: site = request.get_site_folder services = site.get_services('moderation') current_organizations = [service.delegate for service in services] if isinstance(context, Service) and\ context.delegate in current_organizations: current_organizations.remove(context.delegate) organizations = find_entities(interfaces=[IOrganization]) values = [(o, o.title) for o in organizations if getattr(o, 'function', '') == 'moderation' and o not in current_organizations] return Select2Widget(values=values)
def subscription_type_widget(node, kw): values = SUBSCRIPTIONTYPES.items() values = sorted(values, key=lambda e: e[1]) return Select2Widget(values=values)
def structure_type_widget(node, kw): values = list(STRUCTURE_TYPES.items()) values.insert(0, ('', _('- Select -'))) return Select2Widget(values=values)
def roles_choice(node, roles): values = [(i, _(i)) for i in roles] return Select2Widget(values=values, multiple=True)
def dates_widget(node, kw): values = [(k, v[0]) for k, v in sorted(DEFAULT_DATES.items(), key=lambda e: e[0])] return Select2Widget(values=values)
def participants_widget(node, kw): context = node.bindings['context'] participants = getattr(context, 'participants', {}) values = [(u, participants[u]['title']) for u in participants] values = sorted(values, key=lambda e: e[1]) return Select2Widget(values=values, multiple=True)
def roles_choice(node, kw): roles = get_authorized_roles() values = [(key, name) for (key, name) in roles.items() if not DACE_ROLES[key].islocal] values = sorted(values, key=lambda e: e[0]) return Select2Widget(values=values, multiple=True)
def citizenship_choice(node, kw): root = getSite() values = [(str(i), i) for i in sorted(root.nationalities)] values.insert(0, ('', _('- Select -'))) return Select2Widget(values=values)
def titles_choice(node, kw): root = getSite() values = [(str(i), i) for i in root.titles] values.insert(0, ('', _('- Select -'))) return Select2Widget(values=values)
def urls_ids_choise(node, kw): context = node.bindings['context'] values = getattr(context, 'urls_ids', []) values = [(v, v) for v in values] return Select2Widget(values=values, create=True, multiple=True)
def locale_widget(node, kw): locales = [(l, LANGUAGES_TITLES.get(l, l)) for l in AVAILABLE_LANGUAGES] sorted_locales = sorted(locales) return Select2Widget(values=sorted_locales)