def get_upload_list_schema():
    """
    Build a schema for Accounting Operation upload listing
    """
    schema = BaseListsSchema().clone()
    del schema['search']

    schema.insert(
        0,
        colander.SchemaNode(
            colander.String(),
            name='filetype',
            widget=deform.widget.SelectWidget(
                values=(
                    ('all', u'Tous les types de fichier'),
                    ('general_ledger', u"Grand livre"),
                    ('analytical_balance', u"Balance analytique"),
                )
            ),
            default='all',
            missing=colander.drop,
        )
    )
    schema.insert(
        0,
        YearPeriodSchema(
            name='period',
            widget=CleanMappingWidget(),
            missing=colander.drop,
        )
    )
    return schema
def get_income_statement_measures_list_schema():
    """
    Build the schema used to list treasury measures

    :returns: A form schema
    :rtype: colander.Schema
    """
    schema = BaseListsSchema().clone()
    del schema['search']
    del schema['page']
    del schema['items_per_page']

    def get_year_options(kw):
        cid = kw['request'].context.get_company_id()
        years = IncomeStatementMeasureGrid.get_years(company_id=cid)
        current_year = datetime.date.today().year
        if current_year not in years:
            years.append(current_year)
        return years

    node = forms.year_select_node(
        name='year',
        query_func=get_year_options,
        title=u"Année"
    )

    schema.insert(0, node)
    return schema
Exemple #3
0
def get_income_statement_measures_list_schema():
    """
    Build the schema used to list treasury measures

    :returns: A form schema
    :rtype: colander.Schema
    """
    schema = BaseListsSchema().clone()
    del schema['search']
    del schema['page']
    del schema['items_per_page']

    def get_year_options(kw):
        cid = kw['request'].context.get_company_id()
        years = IncomeStatementMeasureGrid.get_years(company_id=cid)
        current_year = datetime.date.today().year
        if current_year not in years:
            years.append(current_year)
        return years

    node = forms.year_select_node(name='year',
                                  query_func=get_year_options,
                                  title=u"Année")

    schema.insert(0, node)
    return schema
Exemple #4
0
def get_list_schema():
    schema = BaseListsSchema().clone()
    schema['search'].description = u"Entreprise ou contact principal"
    schema.add(
        colander.SchemaNode(colander.Boolean(),
                            name='archived',
                            missing=False,
                            widget=deform.widget.HiddenWidget()))

    return schema
Exemple #5
0
def get_list_schema():
    schema = BaseListsSchema().clone()
    schema['search'].description = u"Entreprise ou contact principal"
    schema.add(colander.SchemaNode(
        colander.Boolean(),
        name='archived',
        missing=False,
        widget=deform.widget.HiddenWidget())
    )

    return schema
Exemple #6
0
def get_list_schema():
    """
    Return a list schema for user datas
    """
    schema = BaseListsSchema().clone()

    schema['search'].description = u"Nom, prénom, entreprise"

    schema.insert(
        0,
        colander.SchemaNode(
            colander.Integer(),
            name='situation_situation',
            widget=get_deferred_select(CaeSituationOption,
                                       empty_filter_msg=u"Tous les status"),
            validator=get_deferred_select_validator(CaeSituationOption),
            missing=colander.drop,
        ))

    schema.insert(0, conseiller_filter_node_factory())
    antenne_filter_node = colander.SchemaNode(
        colander.Integer(),
        name="situation_antenne_id",
        widget=get_deferred_select(AntenneOption,
                                   empty_filter_msg=u"Toutes les antennes"),
        validator=get_deferred_select_validator(AntenneOption),
        missing=colander.drop)
    schema.insert(0, antenne_filter_node)
    return schema
Exemple #7
0
def get_list_schema():
    """
    Return the schema for the customer search list
    """
    schema = BaseListsSchema().clone()
    schema['search'].description = u"Entreprise ou contact principal"
    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='archived',
            label=u"Inclure les clients archivés",
        ))
    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='individual',
            label=u"Inclure les particuliers",
            default=True,
        ))
    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='company',
            label=u"Inclure les personnes morales \
(entreprises, association ...)",
            default=True,
        ))
    return schema
Exemple #8
0
def get_operation_list_schema():
    """
    Build a schema listing operations
    """
    schema = BaseListsSchema().clone()
    del schema['search']
    schema.insert(
        0,
        colander.SchemaNode(
            colander.Boolean(),
            name='include_associated',
            title="",
            label=u"Inclure les opérations associées à une entreprise",
            default=True,
            missing=colander.drop,
        )
    )
    schema.insert(
        0,
        colander.SchemaNode(
            colander.String(),
            name='analytical_account',
            title="",
            widget=deferred_analytical_account_widget,
            missing=colander.drop,
        )
    )
    schema.insert(
        0,
        colander.SchemaNode(
            colander.String(),
            name='general_account',
            title="",
            widget=deferred_general_account_widget,
            missing=colander.drop,
        )
    )
    schema.insert(
        0,
        colander.SchemaNode(
            colander.Integer(),
            name='company_id',
            title="",
            widget=deferred_company_id_widget,
            missing=colander.drop
        )
    )

    return schema
Exemple #9
0
class MailHistoryView(BaseListView):
    """
    A view showing the history of sent emails
    """
    schema = BaseListsSchema()
    default_sort = 'send_at'
    default_direction = 'desc'
    sort_columns = {'send_at': 'send_at'}
    title = u"Historique des mails envoyés"

    def query(self):
        return MailHistory.query()

    def _build_return_value(self, schema, appstruct, query):
        """
        add month and years attribute to each file record
        """
        result = BaseListView._build_return_value(self, schema, appstruct,
                                                  query)

        for obj in result['records']:
            splitted = obj.filepath.split('/')
            month = splitted[-2]
            year = splitted[-3]

            obj.month = month
            obj.year = year

        return result

    def filter_company_id(self, query, appstruct):
        search = appstruct.get('search')
        if search:
            query = query.filter(MailHistory.company_id == search)
        return query
Exemple #10
0
def get_upload_list_schema():
    """
    Build a schema for Accounting Operation upload listing
    """
    schema = BaseListsSchema().clone()
    del schema['search']

    schema.insert(
        0,
        YearPeriodSchema(
            name='period',
            widget=CleanMappingWidget(),
            missing=colander.drop,
        )
    )
    return schema
def get_training_list_schema(is_admin):
    """
    Build the Training list filter schema
    """
    schema = BaseListsSchema().clone()
    schema['search'].description = u"Numéro de facture"
    if is_admin:
        schema.add_before(
            "items_per_page",
            company_filter_node_factory(name='company_id')
        )
    schema.add_before(
        "items_per_page",
        customer_filter_node_factory(name='customer_id', is_admin=is_admin)
    )
    schema.add_before(
        "items_per_page",
        colander.SchemaNode(
            colander.Boolean(),
            name="include_closed",
            label=u"Inclure les affaires clôturées",
            missing=False
        )
    )
    return schema
def get_list_schema():
    """
    Return the schema for the customer search list
    """
    schema = BaseListsSchema().clone()
    schema['search'].description = u"Entreprise ou contact principal"
    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='archived',
            label=u"Inclure les clients archivés",
        )
    )
    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='individual',
            label=u"Inclure les particuliers",
            default=True,
        )
    )
    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='company',
            label=u"Inclure les personnes morales \
(entreprises, association ...)",
            default=True,
        )
    )
    return schema
def get_list_schema():
    """
    Return a list schema for user datas
    """
    schema = BaseListsSchema().clone()

    schema['search'].description = u"Nom, prénom, entreprise"

    schema.insert(0, colander.SchemaNode(
        colander.Integer(),
        name='situation_situation',
        widget=get_deferred_select(
            CaeSituationOption, empty_filter_msg=u"Tous les status"
        ),
        validator=get_deferred_select_validator(CaeSituationOption),
        missing=colander.drop,
    ))

    schema.insert(0, conseiller_filter_node_factory(
        name='situation_follower_id'
    ))

    antenne_filter_node = colander.SchemaNode(
        colander.Integer(),
        name="situation_antenne_id",
        widget=get_deferred_select(
            AntenneOption, empty_filter_msg=u"Toutes les antennes"
        ),
        validator=get_deferred_select_validator(AntenneOption),
        missing=colander.drop
    )
    schema.insert(0, antenne_filter_node)

    return schema
Exemple #14
0
def get_list_schema():
    """
    Return the schema for the project search form
    :rtype: colander.Schema
    """
    schema = BaseListsSchema().clone()

    schema['search'].description = u"Nom de l'affaire"

    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='closed',
            label=u"Inclure les affaires terminées",
            missing=True,
        ))

    return schema
def get_operation_list_schema():
    """
    Build a schema listing operations
    """
    schema = BaseListsSchema().clone()
    del schema['search']
    schema.insert(
        0,
        colander.SchemaNode(
            colander.Boolean(),
            name='include_associated',
            title="",
            label=u"Inclure les opérations associées à une entreprise",
            default=True,
            missing=colander.drop,
        )
    )
    schema.insert(
        0,
        colander.SchemaNode(
            colander.String(),
            name='analytical_account',
            title="",
            widget=deferred_analytical_account_widget,
            missing=colander.drop,
        )
    )
    schema.insert(
        0,
        colander.SchemaNode(
            colander.String(),
            name='general_account',
            title="",
            widget=deferred_general_account_widget,
            missing=colander.drop,
        )
    )
    schema.insert(
        0,
        colander.SchemaNode(
            colander.Integer(),
            name='company_id',
            title="",
            widget=deferred_company_id_widget,
            missing=colander.drop
        )
    )

    return schema
def get_list_schema():
    """
    Return the schema for the project search form
    :rtype: colander.Schema
    """
    schema = BaseListsSchema().clone()

    schema['search'].description = u"Nom de l'affaire"

    schema.add(
        colander.SchemaNode(
            colander.Boolean(),
            name='closed',
            label=u"Inclure les affaires terminées",
            missing=True,
        )
    )

    return schema
Exemple #17
0
def get_treasury_measures_list_schema():
    """
    Build the schema used to list treasury measures

    :returns: A form schema
    :rtype: colander.Schema
    """
    schema = BaseListsSchema().clone()
    del schema['search']

    def get_year_options(kw):
        return TreasuryMeasureGrid.get_years()

    node = forms.year_select_node(name='year',
                                  query_func=get_year_options,
                                  missing=-1,
                                  description=u"Année de dépôt")

    schema.insert(0, node)
    return schema
Exemple #18
0
def get_upload_list_schema():
    """
    Build a schema for Accounting Operation upload listing
    """
    schema = BaseListsSchema().clone()
    del schema['search']

    schema.insert(
        0,
        colander.SchemaNode(
            colander.String(),
            name='filetype',
            widget=deform.widget.SelectWidget(values=(
                ('all', u'Tous les types de fichier'),
                ('general_ledger', u"Grand livre"),
                ('analytical_balance', u"Balance analytique"),
            )),
            default='all',
            missing=colander.drop,
        ))
    schema.insert(
        0,
        YearPeriodSchema(
            name='period',
            widget=CleanMappingWidget(),
            missing=colander.drop,
        ))
    return schema
def get_treasury_measures_list_schema():
    """
    Build the schema used to list treasury measures

    :returns: A form schema
    :rtype: colander.Schema
    """
    schema = BaseListsSchema().clone()
    del schema['search']

    def get_year_options(kw):
        return TreasuryMeasureGrid.get_years()

    node = forms.year_select_node(
        name='year',
        query_func=get_year_options,
        missing=-1,
        description=u"Année de dépôt"
    )

    schema.insert(0, node)
    return schema
Exemple #20
0
def get_training_list_schema(is_admin):
    """
    Build the Training list filter schema
    """
    schema = BaseListsSchema().clone()
    schema['search'].description = u"Numéro de facture"
    schema.add_before("items_per_page",
                      company_filter_node_factory(name='company_id'))
    schema.add_before(
        "items_per_page",
        customer_filter_node_factory(name='customer_id', is_admin=is_admin))
    schema.add_before(
        "items_per_page",
        colander.SchemaNode(colander.Boolean(),
                            name="include_closed",
                            label=u"Inclure les affaires clôturées",
                            missing=False))
    return schema
Exemple #21
0
def get_list_schema():
    """
    Return a list schema for user datas
    """
    schema = BaseListsSchema().clone()

    schema['search'].description = u"Nom, prénom, entreprise"

    schema.insert(0, colander.SchemaNode(
        colander.Integer(),
        name='situation_situation',
        widget=deferred_situation_select,
        validator=deferred_situation_id_validator,
        missing=colander.drop,
    )
    )

    schema.insert(0, conseiller_filter_node_factory())
    return schema