Пример #1
0
 def editbar_links(self):
     result = []
     result.append(
         Link(text=_("Print delivery note"),
              url=self.request.link(self.model, 'delivery-note'),
              attrs={'class': 'print-icon'}))
     if self.request.has_permission(self.model, EditModelUnrestricted):
         result.append(
             Link(text=_("Edit"),
                  url=self.request.link(self.model, 'edit-unrestricted'),
                  attrs={'class': 'edit-icon'}))
     elif self.request.has_permission(self.model, EditModel):
         result.append(
             Link(text=_("Edit"),
                  url=self.request.link(self.model, 'edit'),
                  attrs={'class': 'edit-icon'}))
     if self.request.has_permission(self.model, DeleteModel):
         result.append(
             Link(text=_("Delete"),
                  url=self.csrf_protected_url(self.request.link(
                      self.model)),
                  attrs={'class': 'delete-icon'},
                  traits=(Confirm(
                      _("Do you really want to delete this "
                        "scan job?"), _("This cannot be undone."),
                      _("Delete"), _("Cancel")),
                          Intercooler(request_method='DELETE',
                                      redirect_after=self.scan_jobs_url))))
     return result
Пример #2
0
 def breadcrumbs(self):
     return [
         Link(_("Homepage"), self.homepage_url),
         Link(_("Report"), self.report_url),
         Link(self.title, "#"),
         Link(self.subtitle, self.request.link(self.model)),
     ]
Пример #3
0
 def breadcrumbs(self):
     return [
         Link(_("Homepage"), self.homepage_url),
         Link(_("Municipalities"), self.municipalities_url),
         Link(self.model.name, self.request.link(self.model)),
         Link(self.title, '#')
     ]
Пример #4
0
def view_mission_report_files(self, request):
    data = view_get_image_collection(self, request)
    data['layout'] = MissionReportLayout(
        self, request, Link(self.report.title, request.link(self.report)),
        Link(_("Images"), '#', editbar=False))

    return data
Пример #5
0
 def breadcrumbs(self):
     return (Link(_("Homepage"), self.homepage_url),
             Link(_("Activities"),
                  self.request.class_link(VacationActivityCollection)),
             Link(self.model.activity.title,
                  self.request.link(self.model.activity)),
             Link(_("Attendees"), '#'))
Пример #6
0
 def editbar_links(self):
     result = []
     if self.request.has_permission(self.model, EditModel):
         result.append(
             Link(text=_("Edit"),
                  url=self.request.link(self.model, 'edit'),
                  attrs={'class': 'edit-icon'}))
         result.append(
             Link(text=_("Delete pick-up dates"),
                  url=self.request.link(self.model, 'delete-dates'),
                  attrs={'class': 'delete-icon'}))
     if self.request.has_permission(self.model, DeleteModel):
         result.append(
             Link(text=_("Delete"),
                  url=self.csrf_protected_url(self.request.link(
                      self.model)),
                  attrs={'class': 'delete-icon'},
                  traits=(Confirm(
                      _("Do you really want to delete this "
                        "municipality?"), _("This cannot be undone."),
                      _("Delete"), _("Cancel")),
                          Intercooler(
                              request_method='DELETE',
                              redirect_after=self.municipalities_url))))
     return result
Пример #7
0
 def breadcrumbs(self):
     return (Link(_("Homepage"), self.homepage_url),
             Link(_("Activities"),
                  self.request.class_link(VacationActivityCollection)),
             Link(_("Manage Periods"),
                  self.request.class_link(PeriodCollection)),
             Link(self.title, '#'))
Пример #8
0
 def breadcrumbs(self):
     return [
         Link(_("Homepage"), self.homepage_url),
         Link(_("Users"), self.users_url),
         Link(self.model.title, self.request.link(self.model)),
         Link(_("Edit"), '#')
     ]
Пример #9
0
 def breadcrumbs(self):
     return [
         Link(_("Homepage"), self.homepage_url),
         Link(_("Notifications"), self.notifications_url),
         Link(self.model.title, self.request.link(self.model)),
         Link(_("Edit"), '#')
     ]
Пример #10
0
 def editbar_links(self):
     result = []
     if self.request.has_permission(self.model, AddModelUnrestricted):
         result.append(
             Link(
                 text=_("Add"),
                 url=self.request.link(
                     self.model,
                     name='add-unrestricted'
                 ),
                 attrs={'class': 'add-icon'}
             )
         )
     elif self.request.has_permission(self.model, AddModel):
         result.append(
             Link(
                 text=_("Add"),
                 url=self.request.link(
                     self.model,
                     name='add'
                 ),
                 attrs={'class': 'add-icon'}
             )
         )
     return result
Пример #11
0
def handle_edit_vehicle(self, request, form):

    if form.submitted(request):
        form.populate_obj(self)

        request.success(_("Your changes were saved"))

        return request.redirect(
            request.class_link(MissionReportVehicleCollection))

    elif not request.POST:
        form.process(obj=self)

    return {
        'title':
        self.title,
        'form':
        form,
        'layout':
        MissionReportLayout(
            self, request,
            Link(_("Vehicles"),
                 request.class_link(MissionReportVehicleCollection)),
            Link(self.title, '#'))
    }
Пример #12
0
def handle_new_vehicle(self, request, form):

    if form.submitted(request):
        vehicle = self.add(
            **{
                k: v
                for k, v in form.data.items()
                if k not in ('csrf_token', 'symbol')
            })

        # required for the symbol image
        form.populate_obj(vehicle)

        request.success(_("Successfully added a vehicle"))

        return request.redirect(
            request.class_link(MissionReportVehicleCollection))

    return {
        'title':
        _("Vehicle"),
        'form':
        form,
        'layout':
        MissionReportLayout(self, request,
                            Link(_("Vehicles"), request.link(self)),
                            Link(_("New"), '#', editbar=False)),
    }
Пример #13
0
 def breadcrumbs(self):
     return [
         Link(_("Homepage"), self.homepage_url),
         Link(_("Scan jobs"), self.scan_jobs_url),
         Link(self.model.delivery_number, self.request.link(self.model)),
         Link(self.title, '#')
     ]
Пример #14
0
 def editbar_links(self):
     result = []
     if self.request.has_role('admin', 'editor'):
         result.append(
             Link(
                 text=_("Update dataset"),
                 url=self.request.link(self.model.default(), name='update'),
                 attrs={'class': 'upload-icon'}
             )
         )
         result.append(
             Link(
                 text=_("Download dataset (CSV)"),
                 url=self.request.link(self.model.default(), name='csv'),
                 attrs={'class': 'export-icon'}
             )
         )
         result.append(
             Link(
                 text=_("Download dataset (XLSX)"),
                 url=self.request.link(self.model.default(), name='xlsx'),
                 attrs={'class': 'export-icon'}
             )
         )
     if self.request.has_role('admin'):
         result.append(
             Link(
                 text=_("Delete all votes"),
                 url=self.request.link(self.model.default(), name='delete'),
                 attrs={'class': 'delete-icon'}
             )
         )
     return result
Пример #15
0
 def breadcrumbs(self):
     return [
         Link(_("Homepage"), self.homepage_url),
         Link(_("Votes"), self.votes_url),
         Link(self.model.short_title, self.request.link(self.model)),
         Link(self.title, '#'),
     ]
Пример #16
0
    def breadcrumbs(self):
        if self.model.id == 'home':
            return [Link(_("Homepage"), self.homepage_url)]

        return [
            Link(_("Homepage"), self.homepage_url),
            Link(self.title, '#'),
        ]
Пример #17
0
 def breadcrumbs(self):
     return (
         Link(_("Homepage"), self.homepage_url),
         Link(
             _("Daycare Subsidy Calculator"),
             self.request.link(self.model)
         )
     )
Пример #18
0
    def breadcrumbs_iter(self):
        yield Link(
            _("Homepage"),
            self.homepage_url)

        yield Link(
            _("Mission Reports"),
            self.request.class_link(MissionReportCollection))

        yield from self.suffixes
Пример #19
0
 def top_navigation(self):
     result = [Link(_("Votes"), self.votes_url)]
     for page in self.pages.query():
         if page.id not in self.request.app.static_content_pages:
             result.append(
                 Link(
                     page.title,
                     self.request.link(page),
                     sortable_id=page.id,
                 ))
     return result
Пример #20
0
    def breadcrumbs(self):
        links = [
            Link(_("Homepage"), self.homepage_url),
            Link(_("Activities"),
                 self.request.class_link(VacationActivityCollection)),
            Link(_("Notification Templates"),
                 self.request.class_link(NotificationTemplateCollection))
        ]

        if self.subtitle:
            links.append(Link(self.subtitle, '#'))

        return links
Пример #21
0
 def editbar_links(self):
     result = []
     if self.request.has_permission(self.model, EditModel):
         result.append(
             Link(text=_("Import data"),
                  url=self.request.link(self.model, 'import-data'),
                  attrs={'class': 'upload-icon'}))
     if self.request.has_permission(self.model, AddModel):
         result.append(
             Link(text=_("Add"),
                  url=self.request.link(self.model, name='add'),
                  attrs={'class': 'add-icon'}))
     return result
Пример #22
0
 def editbar_links(self):
     if self.request.is_manager:
         return [
             Link(text=_("Create PDF"),
                  url=self.request.link(self.model, 'create-pdf'),
                  attrs={'class': 'create-pdf'}),
             LinkGroup(title=_("Add"),
                       links=[
                           Link(text=_("Agency"),
                                url=self.request.link(self.model,
                                                      name='new'),
                                attrs={'class': 'new-agency'})
                       ]),
         ]
Пример #23
0
def handle_new_mission_report(self, request, form):

    if form.submitted(request):
        mission = self.add(
            **{
                k: v
                for k, v in form.data.items()
                if k != 'csrf_token' and not k.startswith('vehicles_')
            })

        form.populate_obj(mission)

        if mission.date.year != date.today().year:
            request.warning(
                _("The report was entered in the current year, "
                  "please verify the date"))
        else:
            request.success(_("Successfully added a mission report"))

        return request.redirect(request.link(mission))

    return {
        'title':
        _("Mission Reports"),
        'form':
        form,
        'layout':
        MissionReportLayout(self, request, Link(_("New"), '#', editbar=False)),
    }
Пример #24
0
    def breadcrumbs(self):
        wishlist_phase = self.app.active_period \
            and self.app.active_period.wishlist_phase

        if self.request.is_logged_in:
            return [
                Link(_("Homepage"), self.homepage_url),
                Link(wishlist_phase and _("Wishlist") or _("Bookings"),
                     self.request.class_link(BookingCollection)),
                Link(_("Group"), '#')
            ]
        else:
            return [
                Link(_("Homepage"), self.homepage_url),
                Link(_("Group"), '#')
            ]
Пример #25
0
    def family_removal_links(self):
        attrs = {'class': ('remove-manual', 'extend-to-family')}

        for record in self.families:
            text = _('Delete "${text}"', mapping={
                'text': record.text,
            })

            url = self.csrf_protected_url(
                self.request.class_link(
                    InvoiceAction, {
                        'id': record.item,
                        'action': 'remove-manual',
                        'extend_to': 'family'
                    }))

            if record.has_online_payments:
                traits = (Block(
                    _("This booking cannot be removed, at least one "
                      "booking has been paid online."),
                    _("You may remove the bookings manually one by one."),
                    _("Cancel")), )
            else:
                traits = (Confirm(
                    _('Do you really want to remove "${text}"?',
                      mapping={'text': record.text}),
                    _("${count} bookings will be removed",
                      mapping={'count': record.count}),
                    _("Remove ${count} bookings",
                      mapping={'count': record.count}),
                    _("Cancel")), Intercooler(request_method='POST'))

            yield Link(text=text, url=url, attrs=attrs, traits=traits)
Пример #26
0
    def organiser_links(self):
        if self.app.active_period:
            yield Link(text=_("Submit Activity"),
                       url=self.request.link(self.model, name='new'),
                       attrs={'class': 'new-activity'})

            yield self.offer_again_links
Пример #27
0
    def manual_booking_link(username):
        url = request.link(self, name='booking')
        url = f'{url}&for-user={quote_plus(username)}'

        return Link(_("Add manual booking"),
                    attrs={'class': 'new-booking'},
                    url=url)
Пример #28
0
    def as_link(action, traits):
        traits = (*(traits or tuple()), Intercooler(request_method='POST'))

        return Link(action.text,
                    attrs={'class': action.action},
                    url=csrf_protected(request.link(action)),
                    traits=traits)
Пример #29
0
    def group_action(booking, action):
        assert action in ('join', 'leave')

        if attendees_count == 1 and action == 'leave':
            traits = (
                Intercooler(
                    request_method='POST',
                    redirect_after=request.class_link(BookingCollection)
                ),
            )
        else:
            traits = (
                Intercooler(
                    request_method='POST',
                    redirect_after=request.link(self)
                ),
            )

        url = URL(request.link(self, action))\
            .query_param('booking_id', booking.id)\
            .as_string()

        return Link(
            text=(action == 'join' and _("Join Group") or _("Leave Group")),
            url=layout.csrf_protected_url(url),
            traits=traits
        )
Пример #30
0
def get_global_tools(request):
    for item in get_global_tools_base(request):
        if getattr(item, 'title', None) == 'Management':
            item.links.append(
                Link(text=_("Hidden contents"),
                     url=request.class_link(Organisation, name='view-hidden'),
                     attrs={"class": "hidden-contents"}))
        yield item