Beispiel #1
0
class ActivityConfigSchema(colander.Schema):
    """
    The schema for activity types configuration
    """
    header_img = get_file_dl_node(title=u'En-tête des sortie PDF')
    footer_img = get_file_dl_node(
        u'Image du pied de page des sorties PDF',
        u"Vient se placer au-dessus du texte du pied de page",
    )
    footer = forms.textarea_node(
        title=u"Texte du pied de page des sorties PDF",
        missing=u"",
    )
    types = ActivityTypesSeqConfig(
        title=u"Configuration des natures de rendez-vous",
        widget=CleanSequenceWidget(
            add_subitem_text_template=u"Ajouter une nature de rendez-vous ",
            orderable=True,
        ))
    modes = ActivityModesSeqConfig(
        title=u"Configuration des modes d'entretien",
        widget=CleanSequenceWidget(
            add_subitem_text_template=u"Ajouter un mode d'entretien",
            orderable=True,
        ))
    actions = ActivityActionSeq(
        title=u"Configuration des titres disponibles pour la sortie PDF",
        widget=CleanSequenceWidget(
            add_subitem_text_template=u"Ajouter un titre",
            orderable=True,
        ))
Beispiel #2
0
def deferred_seq_widget(nodex, kw):
    elements = kw['deadlines']
    return CleanSequenceWidget(
        add_subitem_text_template=u"-",
        min_len=len(elements),
        max_len=len(elements),
    )
Beispiel #3
0
class ActivityActionConfig(colander.Schema):
    id = forms.id_node()
    label = colander.SchemaNode(colander.String(),
                                title=u"Titre",
                                description=u"Titre dans la sortie pdf",
                                validator=colander.Length(max=255))
    children = ActivitySubActionSeq(
        title=u"",
        widget=CleanSequenceWidget(
            add_subitem_text_template=u"Ajouter un sous-titre", ))
Beispiel #4
0
class WorkshopInfo1(colander.Schema):
    id = forms.id_node()
    label = colander.SchemaNode(colander.String(),
                                title=u"Titre",
                                description=u"Titre dans la sortie pdf",
                                validator=colander.Length(max=255))
    children = WorkshopInfo2Seq(
        title=u'',
        widget=CleanSequenceWidget(
            add_subitem_text_template=u"Ajouter un sous-titre",
            orderable=True,
        ))
Beispiel #5
0
def get_sequence_model_admin(model, title=u"", excludes=(), **kw):
    """
    Return a schema for configuring sequence of models

        model

            The SQLAlchemy model to configure
    """
    node_schema = SQLAlchemySchemaNode(
        model,
        widget=CleanMappingWidget(),
        excludes=excludes,
    )
    node_schema.name = 'data'

    colanderalchemy_config = getattr(model, '__colanderalchemy_config__', {})

    default_widget_options = dict(
        orderable=True,
        min_len=1,
    )
    widget_options = colanderalchemy_config.get('seq_widget_options', {})
    widget_options.update(kw.get('widget_options', {}))

    for key, value in widget_options.items():
        default_widget_options[key] = value

    schema = colander.SchemaNode(colander.Mapping())
    schema.add(
        colander.SchemaNode(
            colander.Sequence(),
            node_schema,
            widget=CleanSequenceWidget(
                **default_widget_options
            ),
            title=title,
            name='datas')
    )

    def dictify(models):
        return {'datas': [node_schema.dictify(model) for model in models]}

    def objectify(datas):
        return [node_schema.objectify(data) for data in datas]

    schema.dictify = dictify
    schema.objectify = objectify
    return schema
Beispiel #6
0
class WorkshopConfigSchema(colander.Schema):
    header_img = get_file_dl_node(title=u'En-tête des sortie PDF')
    footer_img = get_file_dl_node(
        u'Image du pied de page des sorties PDF',
        u"Vient se placer au-dessus du texte du pied de page",
    )
    footer = forms.textarea_node(
        title=u"Texte du pied de page des sorties PDF",
        missing=u"",
    )
    actions = WorkshopInfo1Seq(
        title=u"Configuration des titres disponibles pour la sortie PDF",
        widget=CleanSequenceWidget(
            add_subitem_text_template=u"Ajouter une titre",
            orderable=True,
        ))