class MockAction(UIAction): id = UIAction.generate_id('creme_core', 'mock_action') type = 'test' model = CremeEntity label = 'Test action' icon = 'test' def _get_options(self): return { 'user_name': self.user.username, 'instance_id': self.instance.id, } def _get_data(self): return { 'id': self.instance.id, }
class ExportReportAction(UIAction): id = UIAction.generate_id('reports', 'export') type = 'reports-export' model = Report label = pgettext_lazy('reports-report', 'Export') icon = 'document_csv' @property def help_text(self): return pgettext('reports-report', 'Export «{object}»').format(object=self.instance) @property def url(self): return reverse('reports__export_report_filter', args=(self.instance.id,)) @property def is_enabled(self): return self.user.has_perm_to_view(self.instance)
class DownloadAction(UIAction): id = UIAction.generate_id('documents', 'download') model = Document type = 'redirect' label = _('Download') icon = 'download' @property def url(self): return reverse('creme_core__dl_file', args=(self.instance.filedata, )) @property def is_enabled(self): return self.user.has_perm_to_view(self.instance) @property def help_text(self): return _('Download the file')
class GenerateNumberAction(UIAction): id = UIAction.generate_id('billing', 'generate_number') type = 'billing-invoice-number' model = Invoice label = _('Invoice number') icon = 'invoice' help_text = _('Generate the number of the Invoice') @property def url(self): return reverse('billing__generate_invoice_number', args=(self.instance.id,)) @property def is_enabled(self): return self.user.has_perm_to_change(self.instance) and not bool(self.instance.number) def _get_options(self): return { 'confirm': ugettext('Do you really want to generate an invoice number?'), }
class ExploreFolderAction(UIAction): id = UIAction.generate_id('documents', 'explore') model = Folder type = 'redirect' label = _('Explore') icon = 'view' @property def url(self): instance = self.instance return '{}?parent_id={}'.format(instance.get_lv_absolute_url(), instance.id) @property def is_enabled(self): return self.user.has_perm_to_view(self.instance) @property def help_text(self): return ugettext('List sub-folders of «{}»').format(self.instance)