Example #1
0
def populate_actionmenu(request):
    """
    Set the menu items in the request context
    """
    link = ViewLink(
        u"Voir la facture",
        "view",
        path="invoice",
        id=request.context.task.id,
    )
    request.actionmenu.add(link)
    if has_permission('manage', request.context, request):
        link = ViewLink(u"Modifier",
                        "manage",
                        path="payment",
                        id=request.context.id,
                        _query=dict(action="edit"))
        request.actionmenu.add(link)
        link = ViewLink(
            u"Supprimer",
            "manage",
            path="payment",
            confirm=u"Êtes-vous sûr de vouloir supprimer ce paiement ?",
            id=request.context.id,
            _query=dict(action="delete"))
        request.actionmenu.add(link)
Example #2
0
def populate_actionmenu(context, request):
    """
        Add menu items
    """
    type_label = NODE_TYPE_LABEL.get(context.parent.type_, u'précédent')
    label = u"Revenir au {0}".format(type_label)
    request.actionmenu.add(
        ViewLink(label,
                 perm='view_file',
                 path=context.parent.type_,
                 id=context.parent.id))
    request.actionmenu.add(
        ViewLink(
            u"Modifier",
            perm=u'edit_file',
            path="file",
            id=context.id,
            _query=dict(action='edit'),
        ))
    request.actionmenu.add(
        ViewLink(u"Supprimer le fichier",
                 perm=u'edit_file',
                 path="file",
                 confirm=u"Êtes-vous sûr de vouloir supprimer ce fichier ?",
                 id=context.id,
                 _query=dict(action='delete')))
Example #3
0
def populate_invoice_payment_actionmenu(context, request):
    """
    Set the menu items in the request context
    """
    link = ViewLink(
        u"Voir la facture",
        path="/%ss/{id}.html" % context.parent.type_,
        id=context.parent.id,
    )
    request.actionmenu.add(link)
    link = ViewLink(
        u"Modifier",
        "edit.payment",
        path="payment",
        id=context.id,
        _query=dict(action="edit")
    )
    request.actionmenu.add(link)
    link = ViewLink(
        u"Supprimer",
        "delete.payment",
        path="payment",
        confirm=u"Êtes-vous sûr de vouloir supprimer ce paiement ?",
        id=context.id,
        _query=dict(action="delete", come_from=request.referer)
    )
    request.actionmenu.add(link)
Example #4
0
def populate_actionmenu(request):
    link = ViewLink(
        u"Liste des rendez-vous",
        "admin_activities",
        path="activities",
    )
    request.actionmenu.add(link)

    link = ViewLink(u"Attacher un fichier",
                    "admin_activity",
                    path="activity",
                    id=request.context.id,
                    _query=dict(action="attach_file"),
                    confirm=u"En quittant cette page, vous perdrez toutes "
                    u"modifications non enregistrées. Voulez-vous continuer ?")
    request.actionmenu.add(link)

    if not request.has_permission('admin_activities'):
        # On doit rediriger l'utilisateur vers la liste des activités de son
        # entreprise, le problème c'est qu'on a pas l'id de celle-ci, on prend
        # donc le premier id d'entreprise qu'on trouve (c'est pas génial, mais
        # ça a le mérite de marcher)
        company = request.user.active_companies[0]
        if request.has_permission('list_activities', company):
            link = ViewLink(u"Liste des rendez-vous",
                            path="company_activities",
                            id=company.id)
            request.actionmenu.add(link)
Example #5
0
def populate_actionmenu(request, tolist=False):
    """
        Add buttons in the request actionmenu attribute
    """
    link = None
    if isinstance(request.context, Company):
        link = ViewLink(
            u"Revenir à la liste des dépenses",
            path="company_expenses",
            id=request.context.id
        )
    elif isinstance(request.context, ExpenseSheet):
        if tolist:
            link = ViewLink(
                u"Revenir à la liste des dépenses",
                path="company_expenses",
                id=request.context.company_id
            )
        else:
            link = ViewLink(
                u"Revenir à la note de dépenses",
                path="/expenses/{id}",
                id=request.context.id
            )
    if link is not None:
        request.actionmenu.add(link)
Example #6
0
def index(request):
    """
        Return datas for the index view
    """
    request.actionmenu.add(
        ViewLink(
            u"Configuration générale",
            path='admin_main',
            title=u"Configuration générale de votre installation d'autonomie"))
    request.actionmenu.add(
        ViewLink(
            u"Configuration comptable des produits et TVA collectés",
            path='admin_tva',
            title=u"Configuration des taux de TVA proposés dans les devis et \
factures"))
    request.actionmenu.add(
        ViewLink(u"Configuration des modes de paiement",
                 path="admin_paymentmode",
                 title=u"Configuration des modes de paiement des factures"))
    request.actionmenu.add(
        ViewLink(u"Configuration des conditions de paiement",
                 path="admin_payment_conditions",
                 title=u"Configuration des conditions de paiement"))
    request.actionmenu.add(
        ViewLink(u"Configuration des unités de prestation",
                 path="admin_workunit",
                 title=u"Configuration des unités de prestation proposées \
dans les formulaires"))
    request.actionmenu.add(
        ViewLink(u"Configuration des notes de frais",
                 path="admin_expense",
                 title=u"Configuration des types de notes de frais"))
    request.actionmenu.add(
        ViewLink(
            u"Configuration comptable du module ventes",
            path="admin_cae",
            title=u"Configuration des différents comptes analytiques de la CAE"
        ))
    request.actionmenu.add(
        ViewLink(u"Configuration du module accompagnement",
                 path="admin_accompagnement",
                 title=u"Configuration des types d'activité du module \
accompagnement"))
    request.actionmenu.add(
        ViewLink(
            u"Administration de la gestion sociale",
            path='admin_userdatas',
            title=u"Configuration des types pour la gestion sociale",
        ))
    request.actionmenu.add(
        ViewLink(
            u"Configuration des domaines d'activité des entreprises",
            path="admin_company_activity",
            title=u"Configuration des domaines d'activité des entreprises"))
    return dict(title=u"Administration du site")
Example #7
0
 def myview(request):
     """
     The dinamycally built view
     """
     request.actionmenu.add(ViewLink(u"Retour", path=parent_route))
     for view, route_name, tmpl in views_to_link_to:
         request.actionmenu.add(
             ViewLink(
                 view.title,
                 path=route_name,
                 title=view.title,
             ))
     return dict(title=title)
Example #8
0
def populate_actionmenu(request):
    """
    Add elements in the actionmenu regarding the current context
    """
    company_id = request.GET.get('company_id')

    if company_id is not None:
        link = ViewLink(u"Liste des ateliers",
                        "view",
                        path='company_workshops',
                        id=company_id)
    else:
        link = ViewLink(u"Liste des ateliers", "manage", path='workshops')

    request.actionmenu.add(link)
Example #9
0
def invoices_pdf_view(request):
    """
        Bulk pdf output : output a large amount of invoices/cancelinvoices

    """
    # We retrieve the form
    query_form = get_invoice_pdf_export_form(request)
    if 'submit' in request.params:
        try:
            appstruct = query_form.validate(request.params.items())
        except ValidationFailure as e:
            # Form validation failed, the error contains the form with the error
            # messages
            query_form = e
            appstruct = None

        if appstruct is not None:
            # The form has been validated, we can query for documents
            start_number = appstruct["start"]
            end_number = appstruct["end"]
            year = appstruct['year']

            documents = query_documents_for_export(start_number, end_number,
                                                   year)

            # We've got some documents to export
            if documents:
                # Getting the html output
                html_string = html(request, documents, bulk=True)

                filename = u"factures_{0}_{1}_{2}.pdf".format(
                    year,
                    start_number,
                    end_number,
                )

                try:
                    # Placing the pdf datas in the request
                    write_pdf(request, filename, html_string)
                    return request.response
                except BaseException as e:
                    import traceback
                    traceback.print_exc()
                    request.session.flash(u"Erreur à l'export des factures, \
    essayez de limiter le nombre de factures à exporter. Prévenez \
    votre administrateur si le problème persiste.",
                                          queue="error")
            else:
                # There were no documents to export, we send a message to the
                # end user
                request.session.flash(u"Aucune facture n'a pu être retrouvée",
                                      queue="error")
    gotolist_btn = ViewLink(u"Liste des factures",
                            "admin_invoices",
                            path="invoices")
    request.actionmenu.add(gotolist_btn)
    return dict(
        title=u"Export massif de factures au format PDF",
        form=query_form.render(),
    )
Example #10
0
 def before(self, form):
     self.request.actionmenu.add(
         ViewLink("Retour",
                  "admin_userdatas",
                  path="userdata",
                  id=self.context.id,
                  _anchor="tab5"))
Example #11
0
 def before(self, form):
     form.set_appstruct(
         {'lines': [line.appstruct() for line in self.context.all_lines]})
     self.request.actionmenu.add(
         ViewLink(u"Revenir au document",
                  path="/%ss/{id}.html" % self.context.type_,
                  id=self.context.id))
Example #12
0
 def _populate_action_menu(self):
     self.request.actionmenu.add(
         ViewLink(
             label=u"Liste des notes de dépenses",
             path='expenses',
         )
     )
Example #13
0
def get_list_view_btn(cid):
    return ViewLink(
        u"Liste des projets",
        "edit",
        path="company_projects",
        id=cid,
    )
Example #14
0
 def populate_action_menu(self):
     self.request.actionmenu.add(
         ViewLink(
             label=u"Liste des factures",
             path='invoices',
         )
     )
Example #15
0
def get_view_btn(customer_id):
    return ViewLink(
        u"Revenir au client",
        "view_customer",
        path="customer",
        id=customer_id
    )
Example #16
0
 def populate_actionmenu(self, appstruct):
     self.request.actionmenu.add(
         ViewLink(
             u"Liste des fichiers téléversés",
             path="/accounting/operation_uploads",
         )
     )
Example #17
0
def get_phase_btn(id_):
    return ViewLink(
        u"Ajouter une phase (sous-dossier)",
        path="project",
        id=id_,
        _query=dict(action="addphase"),
    )
Example #18
0
def get_edit_btn(id_):
    return ViewLink(
        u"Modifier",
        path="project",
        id=id_,
        _query=dict(action="edit"),
    )
Example #19
0
def add_link_to_menu(request, label, path, title):
    request.actionmenu.add(
        ViewLink(
            label,
            path=path,
            title=title,
        )
    )
Example #20
0
def get_edit_btn(customer_id):
    return ViewLink(
        u"Modifier",
        "edit_customer",
        path="customer",
        id=customer_id,
        _query=dict(action="edit")
    )
Example #21
0
def company_view(request):
    """
        Company main view
    """
    company = request.context
    populate_actionmenu(request, request.context)
    link_list = []
    link_list.append(
        ViewLink(u"Voir les clients",
                 "view_company",
                 path="company_customers",
                 id=company.id,
                 icon='arrow-right'))

    link_list.append(
        ViewLink(u"Voir les projets",
                 "view_company",
                 path="company_projects",
                 id=company.id,
                 icon='arrow-right'))

    link_list.append(
        ViewLink(u"Voir les factures",
                 "view_company",
                 path="company_invoices",
                 id=company.id,
                 icon='arrow-right'))

    link_list.append(
        ViewLink(u"Liste des rendez-vous",
                 "view_company",
                 path="company_activities",
                 id=company.id,
                 icon='arrow-right'))

    link_list.append(
        ViewLink(u"Liste des ateliers",
                 "manage",
                 path="company_workshops",
                 id=company.id,
                 icon='arrow-right'))

    return dict(title=company.name.title(),
                company=company,
                link_list=link_list)
Example #22
0
def get_project_redirect_btn(request, id_):
    """
        Button for "go back to project" link
    """
    return ViewLink(
        u"Revenir au projet",
        path=PROJECT_ITEM_ROUTE,
        id=id_
    )
Example #23
0
 def before(self, form):
     self.request.actionmenu.add(
         ViewLink(
             label=u"Revenir à la facture",
             path="/invoices/{id}.html",
             id=self.context.id,
         ))
     if self.context.estimation_id:
         form.set_appstruct({'estimation_id': self.context.estimation_id})
Example #24
0
 def before(self, form):
     BaseEditView.before(self, form)
     self.request.actionmenu.add(
         ViewLink(
             label=u"Revenir à la facture",
             path="/invoices/{id}.html",
             id=self.context.id,
             _anchor="treasury",
         ))
Example #25
0
def get_edit_btn(company_id):
    """
        Return a link to the edition form
    """
    return ViewLink(u"Modifier",
                    "edit",
                    path="company",
                    id=company_id,
                    _query=dict(action="edit"))
Example #26
0
def get_enable_btn(company_id):
    """
        Return a link to the edition form
    """
    return ViewLink(u"Activer",
                    "edit",
                    path="company",
                    id=company_id,
                    _query=dict(action="enable"))
Example #27
0
def get_disable_btn(user_id):
    """
        Return the button used to disable an account
    """
    return ViewLink(u"Désactiver",
                    "edit_user",
                    path="user",
                    id=user_id,
                    _query=dict(action="disable"))
Example #28
0
def get_enable_btn(company_id):
    """
        Return a link to enable a company
    """
    return ViewLink(u"Activer",
                    "admin_company",
                    path="company",
                    id=company_id,
                    _query=dict(action="enable"))
Example #29
0
def get_userdatas_link_btn():
    """
    Return a button leading to the userdatas list view
    """
    return ViewLink(
        u"Annuaire gestion sociale",
        "admin_userdatas",
        path="userdatas",
    )
Example #30
0
 def populate_action_menu(self):
     """
     Add a back button to the action menu
     """
     self.request.actionmenu.add(
         ViewLink(label=u"Retour au document",
                  path='/%ss/{id}.html' % self.context.type_,
                  id=self.context.id,
                  _anchor='treasury'))