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
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)), ]
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, '#') ]
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
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"), '#'))
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
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, '#'))
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"), '#') ]
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"), '#') ]
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
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, '#')) }
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)), }
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, '#') ]
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
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, '#'), ]
def breadcrumbs(self): if self.model.id == 'home': return [Link(_("Homepage"), self.homepage_url)] return [ Link(_("Homepage"), self.homepage_url), Link(self.title, '#'), ]
def breadcrumbs(self): return ( Link(_("Homepage"), self.homepage_url), Link( _("Daycare Subsidy Calculator"), self.request.link(self.model) ) )
def breadcrumbs_iter(self): yield Link( _("Homepage"), self.homepage_url) yield Link( _("Mission Reports"), self.request.class_link(MissionReportCollection)) yield from self.suffixes
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
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
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
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'}) ]), ]
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)), }
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"), '#') ]
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)
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
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)
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)
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 )
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