Esempio n. 1
0
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")
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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,
        )
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
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)
Esempio n. 9
0
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)
Esempio n. 10
0
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)
Esempio n. 11
0
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)
Esempio n. 12
0
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)
Esempio n. 13
0
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)
Esempio n. 14
0
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)
Esempio n. 15
0
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)
Esempio n. 16
0
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')
Esempio n. 17
0
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)
Esempio n. 18
0
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)
Esempio n. 19
0
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=[])
Esempio n. 20
0
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)
Esempio n. 21
0
def subscription_type_widget(node, kw):
    values = SUBSCRIPTIONTYPES.items()
    values = sorted(values, key=lambda e: e[1])
    return Select2Widget(values=values)
Esempio n. 22
0
def structure_type_widget(node, kw):
    values = list(STRUCTURE_TYPES.items())
    values.insert(0, ('', _('- Select -')))
    return Select2Widget(values=values)
Esempio n. 23
0
def roles_choice(node, roles):
    values = [(i, _(i)) for i in roles]
    return Select2Widget(values=values, multiple=True)
Esempio n. 24
0
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)
Esempio n. 25
0
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)
Esempio n. 26
0
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)
Esempio n. 27
0
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)
Esempio n. 28
0
def titles_choice(node, kw):
    root = getSite()
    values = [(str(i), i) for i in root.titles]
    values.insert(0, ('', _('- Select -')))
    return Select2Widget(values=values)
Esempio n. 29
0
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)
Esempio n. 30
0
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)