Example #1
0
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,
        }
Example #2
0
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)
Example #3
0
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')
Example #4
0
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?'),
        }
Example #5
0
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)