Exemplo n.º 1
0
class VisualizationAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.JSONField: {
            'widget': JSONEditorWidget(attrs={'initiaĺ': 'parsed'})
        },
    }
    #
    # Searchable fields
    #
    search_fields = ['description']
    list_display = (
        'name',
        'objective',
        'description',
        'last_change_date',
    )
    list_filter = ('objective', )
    save_as = True
    date_hierarchy = ('creation_date')

    # view_on_site = False

    def response_change(self, request, obj, post_url_continue=None):
        """This makes the response after adding go to another apps changelist for some model"""
        return HttpResponseRedirect(reverse("reporting:Visualization_list"))
Exemplo n.º 2
0
class DomainAdmin(admin.ModelAdmin, DynamicArrayMixin):
    actions = ["add_to_wl", "remove_from_wl"]
    formfield_overrides = {
        models.JSONField: {"widget": JSONEditorWidget()},
    }

    def add_to_wl(self, request, queryset):
        for item in queryset:
            wl = Whitelist(value=item.domain, type="domain")
            wl.save()
            item.whitelisted = True
            item.save()

    add_to_wl.short_description = "Add selected domains to whitelist"

    def remove_from_wl(self, request, queryset):
        for item in queryset:
            item.whitelisted = False
            item.save()
        wls = Whitelist.objects.filter(
            value__in=[item.domain for item in queryset], type="domain"
        )
        wls.delete()

    remove_from_wl.short_description = "Remove selected domain from whitelist"

    list_display = ("domain", "whois", "whitelisted")
    inlines = [ReportInline]
    search_fields = ["domain"]
Exemplo n.º 3
0
class SphereAdmin(SphereManagersAdminMixin[Sphere], SimpleHistoryAdmin):
    formfield_overrides = {
        JSONField: {
            "widget": JSONEditorWidget(options={"schema": SETTINGS_JSON_SCHEMA})
        },
    }
    list_display = ("name", "site", "is_open")
    list_filter = ("is_open",)
Exemplo n.º 4
0
    class Meta:
        model = Variables

        fields = ('jsonfield',)

        widgets = {
            'jsonfield': JSONEditorWidget(mode='code')
        }
Exemplo n.º 5
0
class ReportAdmin(admin.ModelAdmin, DynamicArrayMixin):

    formfield_overrides = {
        models.JSONField: {"widget": JSONEditorWidget()},
    }

    list_display = ("analyzer", "content_type", "object_id", "taxonomies", "success")
    list_filter = ("analyzer", "success")
Exemplo n.º 6
0
class EngagementAdmin(admin.ModelAdmin):
    list_display = [
        '__str__',
        'status',
        'partner',
        'date_of_field_visit',
        'engagement_type',
        'start_date',
        'end_date',
    ]
    list_filter = [
        'status',
        'start_date',
        'end_date',
        'status',
        'engagement_type',
    ]
    readonly_fields = (
        'status',
        'partner',
    )
    search_fields = 'partner__name', 'agreement__auditor_firm__name',
    fields = (
        'unique_id',
        'engagement_type',
        'status',
        'start_date',
        'end_date',
        'partner',
        'partner_contacted_at',
        'total_value',
        'exchange_rate',
        'date_of_field_visit',
        'date_of_draft_report_to_ip',
        'date_of_comments_by_ip',
        'date_of_draft_report_to_unicef',
        'date_of_comments_by_unicef',
        'date_of_report_submit',
        'date_of_final_report',
        'date_of_cancel',
        'cancel_comment',
        'internal_controls',
        'final_report',
        'audited_expenditure',
        'financial_findings',
        'audit_opinion',
        'description',
        'finding',
        'pending_unsupported_amount',
        'findings',
    )

    formfield_overrides = {
        JSONField: {
            'widget': JSONEditorWidget(attrs={'initial': 'parsed'})
        },
        # models.ManyToManyField: {'widget': FilteredSelectMultiple('indicator', is_stacked=False)}
    }
    class Meta:
        model = LogConsultaEOL

        fields = ('json', )

        widgets = {
            # choose one mode from ['text', 'code', 'tree', 'form', 'view']
            'json': JSONEditorWidget(mode='form', height='700px', width='100%')
        }
Exemplo n.º 8
0
class BestPracticeTemplateAdmin(admin.ModelAdmin):
    list_display = ('title', 'scope')
    list_filter = ('scope', )
    formfield_overrides = {
        fields.JSONField: {
            'widget': JSONEditorWidget(mode='code')
        },
    }
    prepopulated_fields = {"slug": ("title", )}
Exemplo n.º 9
0
class SubmissionAdmin(admin.ModelAdmin):
    """Admin interface for the Submission model."""

    form = SubmissionAdminForm
    formfield_overrides = {
        fields.JSONField: {
            "widget": JSONEditorWidget(mode="view")
        },
    }
Exemplo n.º 10
0
class ScenarioAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.JSONField: {
            'widget': JSONEditorWidget(attrs={'initiaĺ': 'parsed'})
        },
    }
    list_display = ('name', 'scenario_no', 'description')
    save_as = True
    view_on_site = False
    date_hierarchy = ('creation_date')
Exemplo n.º 11
0
 class Meta:
     model = LegalDocument
     fields = '__all__'
     widgets = {
         'metadata':
         JSONEditorWidget(options={
             'mode': 'view',
             'modes': ['view']
         }),
     }
Exemplo n.º 12
0
class ChannelMembershipConfigAdmin(admin.ModelAdmin):
    """Admin for ChannelMembershipConfig"""

    model = ChannelMembershipConfig

    formfield_overrides = {
        fields.JSONField: {
            "widget": JSONEditorWidget(
                options={
                    "mode": "tree",
                    "schema": {
                        "type": "object",
                        "properties": {
                            "email__iendswith": {"type": "string"},
                            "social_auth_provider": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "enum": ["saml", "micromasters"],
                                },
                                "minItems": 1,
                            },
                            "moira_lists": {
                                "type": "array",
                                "items": {"type": "string"},
                                "minItems": 0,
                            },
                        },
                        "minProperties": 1,
                        "additionalProperties": False,
                    },
                    "templates": [
                        {
                            "text": "Email suffix",
                            "title": "Email suffix",
                            "field": "email__endswith",
                            "value": "@example.com",
                        },
                        {
                            "text": "Social Auth",
                            "title": "Social Auth",
                            "field": "social_auth_provider",
                            "value": [""],
                        },
                        {
                            "text": "Moira Lists",
                            "title": "Moira Lists",
                            "field": "moira_lists",
                            "value": [""],
                        },
                    ],
                }
            )
        }
    }
Exemplo n.º 13
0
class CrudPropertyInline(OrderableAdmin, admin.TabularInline):
    ordering_field = "order"
    classes = ('collapse', )
    verbose_name = _("Feature property")
    verbose_name_plural = _("Feature properties")
    model = models.CrudViewProperty
    form = forms.CrudPropertyForm
    extra = 0
    formfield_overrides = {
        fields.JSONField: {'widget': JSONEditorWidget(height=200)},
    }
Exemplo n.º 14
0
class DocumentCollectionBaseAdmin(admin.ModelAdmin):
    raw_id_fields = (
        'user',
        'documents',
    )
    save_on_top = True
    search_fields = ('title', )
    date_hierarchy = 'created_at'
    list_display = ('title', 'created_at', 'public', 'listed', 'user',
                    'get_document_count', 'processed_documents_percentage')
    prepopulated_fields = {'slug': ('title', )}
    formfield_overrides = {
        JSONField: {
            'widget':
            JSONEditorWidget(
                # TODO: JS does not work with CSP
                # options={'schema': SETTINGS_SCHEMA}
            )
        },
    }
    readonly_fields = ('uid', 'created_at')

    def get_queryset(self, request):
        qs = super().get_queryset(request)
        qs = qs.annotate(
            document_count=Count('documents'),
            ready_document_count=Count('documents',
                                       filter=Q(documents__pending=False)),
        )
        return qs

    def get_document_count(self, obj):
        return obj.document_count

    get_document_count.admin_order_field = 'document_count'
    get_document_count.short_description = _('Documents')

    def processed_documents_percentage(self, obj):
        if not obj.document_count:
            return '-'
        return '{:.2f}%'.format(obj.ready_document_count / obj.document_count *
                                100)

    processed_documents_percentage.admin_order_field = 'ready_document_count'
    processed_documents_percentage.short_description = _('Processed')

    def get_inline_instances(self, request, obj=None):
        ''' Only show inline for docs with fewer than 31 pages'''
        if obj is not None:
            doc_count = obj.documents.count()
            if doc_count < 31:
                return super().get_inline_instances(request, obj=obj)
        return []
Exemplo n.º 15
0
class ReportInline(GenericTabularInline):
    formfield_overrides = {
        models.JSONField: {"widget": JSONEditorWidget()},
    }

    def has_add_permission(self, request, obj=None):
        return False

    def has_delete_permission(self, request, obj=None):
        return False

    model = Report
    extra = 0
Exemplo n.º 16
0
class MailAdmin(LeafletGeoAdmin, DynamicArrayMixin):

    formfield_overrides = {
        models.JSONField: {"widget": JSONEditorWidget()},
    }

    readonly_fields = (
        "parent",
        "message_id",
        "subject",
        "date",
        "text_plain",
        "text_html",
        "text_not_managed",
        "sender_ip_address",
        "to_domains",
        "attachments",
        "spf",
        "dmark",
        "arc",
        "dkim",
    )

    exclude = (
        "tags",
        "ips",
        "urls",
        "addresses",
        "search_vector",
        "attachments_path",
        "eml_path",
        "geom",
    )

    def get_queryset(self, request):
        return (
            super()
            .get_queryset(request)
            .prefetch_related("tags", "attachments", "ips", "urls")
        )

    inlines = [AttachmentInline, AddressesInline, UrlsInline, IpsInline]
    list_display = (
        "submission_date",
        "short_id",
        "short_subject",
        "count_iocs",
        "tag_list",
    )
    list_filter = ("submission_date", "official_response", "progress")
    search_fields = ["subject"]
Exemplo n.º 17
0
class BestPracticeAdmin(admin.ModelAdmin):
    list_display = ('title', 'course', 'courselet', 'active', 'scope')
    list_filter = ('active', 'template__scope')
    formfield_overrides = {
        fields.JSONField: {
            'widget': JSONEditorWidget(mode='code')
        },
    }

    def title(self, ob):
        return ob.template.title

    def scope(self, ob):
        return ob.template.scope
Exemplo n.º 18
0
class CalculationAdmin(admin.ModelAdmin):
    fields = ('user', 'workflow', 'workflow_data', 'results_data', 'logfile',
              'result_group')
    search_fields = ['results_data', 'workflow_data']
    list_filter = ('user', )
    list_display = ('workflow', 'result_group', 'creation_date', 'user')
    date_hierarchy = ('creation_date')

    formfield_overrides = {
        models.JSONField: {
            'widget': JSONEditorWidget(attrs={'initiaĺ': 'parsed'})
        },
    }
    save_as = False
    view_on_site = False
Exemplo n.º 19
0
class PlaybookAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.JSONField: {
            'widget': JSONEditorWidget(attrs={'initial': 'parsed'})
        }
    }
    #
    # Searchable fields
    #
    search_fields = ['description']
    list_display = (
        'pk',
        'name',
        'type',
        'last_change_date',
    )
    list_filter = ('type', )
    save_as = True
    view_on_site = False
    date_hierarchy = ('creation_date')
Exemplo n.º 20
0
class InternalReportAdmin(admin.ModelAdmin):
    list_display = ('generated_date', 'type', 'status', 'context')
    list_filter = ('context', 'type', 'status')
    readonly_fields = (
        'context',
        'type',
        'status',
        'generated_date',
    )
    exclude = ('generated', )

    formfield_overrides = {
        TextField: {
            'widget': JSONEditorWidget(mode='form')
        },
    }

    @staticmethod
    def generated_date(obj):
        return format_date_long(obj.generated)
Exemplo n.º 21
0
class DocumentPortalAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('title', )}
    search_fields = ('title', )
    date_hierarchy = 'created_at'
    list_display = ('title', 'created_at', 'public', 'get_document_count',
                    'processed_documents_percentage')
    list_filter = ('public', )
    formfield_overrides = {
        JSONField: {
            'widget':
            JSONEditorWidget(
                # TODO: JS does not work with CSP
                # options={'schema': SETTINGS_SCHEMA}
            )
        },
    }

    def get_queryset(self, request):
        qs = super().get_queryset(request)
        qs = qs.annotate(
            document_count=Count('document'),
            ready_document_count=Count('document',
                                       filter=Q(document__pending=False,
                                                document__num_pages__gt=0)),
        )
        return qs

    def get_document_count(self, obj):
        return obj.document_count

    get_document_count.admin_order_field = 'document_count'
    get_document_count.short_description = _('Documents')

    def processed_documents_percentage(self, obj):
        if not obj.document_count:
            return '-'
        return '{:.2f}%'.format(obj.ready_document_count / obj.document_count *
                                100)

    processed_documents_percentage.admin_order_field = 'ready_document_count'
    processed_documents_percentage.short_description = _('Processed')
Exemplo n.º 22
0
class LimitflowAdmin(admin.ModelAdmin):
    formfield_overrides = {
        # JSONField: {'widget': JSONEditor},
        models.JSONField: {
            'widget': JSONEditorWidget(attrs={'initial': 'parsed'})
        }
    }
    #
    # Searchable fields
    #
    search_fields = ['workflow_description']
    list_display = (
        'workflow_id',
        'name',
        'workflow_description',
        'last_change_date',
    )
    list_filter = ('workflow_type', 'workflow_status')
    save_as = True
    view_on_site = False
    date_hierarchy = ('creation_date')
Exemplo n.º 23
0
class BaseModelAdmin(admin.ModelAdmin):
    readonly_fields = ['created', 'modified']
    save_as = True
    paginator = CachingPaginator

    formfield_overrides = {
        models.JSONField: {
            'widget': JSONEditorWidget(mode='tree')
        },
    }

    def formfield_for_dbfield(self, db_field, **kwargs):
        formfield = super().formfield_for_dbfield(db_field, **kwargs)
        if isinstance(db_field,
                      models.fields.CharField) and db_field.name in getattr(
                          self, 'textarea_fields', []):
            formfield.widget = forms.Textarea(attrs=formfield.widget.attrs)
        return formfield

    class Meta:
        abstract = True
Exemplo n.º 24
0
class ExtractedDumpAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.JSONField: {
            "widget": JSONEditorWidget(options={
                "mode": "view",
                "modes": ["view"]
            })
        },
    }

    list_display = ("result", "sha256", "path")
    list_filter = ("clamav", )
    search_fields = ("sha256", )

    readonly_fields = (
        "result",
        "sha256",
        "clamav",
        "vt_report",
        "path",
    )
Exemplo n.º 25
0
 class Meta:
     model = MetadataField
     fields = '__all__'
     widgets = {'type_settings': JSONEditorWidget(mode='code')}
Exemplo n.º 26
0
 class Meta:
     model = Metadata
     fields = '__all__'
     widgets = {'values': JSONEditorWidget(mode='code')}
Exemplo n.º 27
0
class IndicatorAdmin(ImportExportModelAdmin):
    form = IndicatorForm
    # formset = IndicatorFormSet
    resource_class = IndicatorResource
    search_fields = (
        'ai_indicator',
        'name',
    )
    list_filter = (
        'activity__database__reporting_year',
        'activity__database',
        'activity',
        'master_indicator',
        'master_indicator_sub',
        'master_indicator_sub_sub',
        'individual_indicator',
        'calculated_indicator',
        'hpm_indicator',
        'separator_indicator',
        'tag_gender',
        'tag_age',
        'tag_nationality',
        'tag_disability',
        'tag_programme',
    )
    suit_list_filter_horizontal = (
        'activity__database__reporting_year',
        'activity__database',
        'activity',
        'master_indicator',
        'master_indicator_sub',
        'master_indicator_sub_sub',
        'individual_indicator',
        'calculated_indicator',
        'hpm_indicator',
        'separator_indicator',
        'tag_gender',
        'tag_age',
        'tag_nationality',
        'tag_disability',
    )
    list_display = (
        'id',
        'ai_indicator',
        'awp_code',
        'label',
        'target',
        'target_sector',
        'units',
        'activity',
        'category',
        #'sequence',
        'master_indicator',
        'is_sector',
        'is_section',
        'support_disability',
        # 'values_tags'
    )
    filter_horizontal = (
        'sub_indicators',
        'summation_sub_indicators',
    )
    list_editable = (
        'awp_code',
        'target',
        'target_sector',
        #'sequence',
        'master_indicator',
        'is_sector',
        'is_section',
        'support_disability',
        # 'values_tags'
    )

    formfield_overrides = {
        JSONField: {
            'widget': JSONEditorWidget(attrs={'initial': 'parsed'})
        },
        # models.ManyToManyField: {'widget': FilteredSelectMultiple('indicator', is_stacked=False)}
    }

    fieldsets = [
        ('Basic infos', {
            'classes': (
                'suit-tab',
                'suit-tab-general',
            ),
            'fields': [
                'ai_indicator',
                'awp_code',
                'name',
                'label',
                'description',
                'explication',
                'activity',
                'list_header',
                'type',
                'reporting_level',
                'target',
                'target_sector',
                'target_sub_total',
                'cumulative_results',
                'units',
                'category',
                'status',
                'status_color',
                'none_ai_indicator',
                'funded_by',
                'sequence',
                'is_sector',
                'is_section',
                'support_disability',
            ]
        }),
        ('Tags', {
            'classes': (
                'suit-tab',
                'suit-tab-general',
            ),
            'fields': [
                'tag_age',
                'tag_gender',
                'tag_nationality',
                'tag_disability',
                'tag_programme',
                'hpm_indicator',
            ]
        }),
        ('Sub indicators', {
            'classes': (
                'suit-tab',
                'suit-tab-general',
            ),
            'fields': [
                'master_indicator',
                'master_indicator_sub',
                'master_indicator_sub_sub',
                'individual_indicator',
                'separator_indicator',
                'calculated_indicator',
                'calculated_percentage',
                'measurement_type',
                'denominator_indicator',
                'denominator_multiplication',
                'numerator_indicator',
                'sub_indicators',
                'summation_sub_indicators',
            ]
        }),
        ('Calculated Values', {
            'classes': (
                'suit-tab',
                'suit-tab-report-values',
            ),
            'fields': [
                'values',
                'values_gov',
                'values_partners',
                'values_partners_gov',
                'cumulative_values',
            ]
        }),
        ('Calculated Values sector', {
            'classes': (
                'suit-tab',
                'suit-tab-report-values-sector',
            ),
            'fields': [
                'values_sector',
                'values_sites_sector',
                'values_partners_sector',
                'values_partners_sites_sector',
                'cumulative_values_sector',
                'values_tags_sector',
            ]
        }),
        ('Calculated HPM Values', {
            'classes': (
                'suit-tab',
                'suit-tab-hpm-values',
            ),
            'fields': [
                'values_hpm',
                'values_tags',
                'cumulative_values_hpm',
            ]
        }),
        ('Calculated Values live', {
            'classes': (
                'suit-tab',
                'suit-tab-live-values',
            ),
            'fields': [
                'values_live',
                'values_gov_live',
                'values_partners_live',
                'values_partners_gov_live',
                'cumulative_values_live',
            ]
        }),
    ]

    suit_form_tabs = (
        ('general', 'Indicator'),
        ('report-values', 'Report values'),
        ('report-values-sector', 'Report values sector'),
        ('hpm-values', 'HPM values'),
        ('live-values', 'Live values'),
    )
Exemplo n.º 28
0
class DatabaseAdmin(ImportExportModelAdmin, nested_admin.NestedModelAdmin):
    form = DatabaseForm
    resources = DatabaseResource
    inlines = [
        # ActivityInlineAdmin,
    ]
    list_filter = (
        'section',
        'reporting_year',
        'is_funded_by_unicef',
    )
    list_display = (
        'ai_id',
        'name',
        'label',
        'reporting_year',
        'focal_point',
        'mapped_db',
        'is_funded_by_unicef',
        'is_sector',
    )
    readonly_fields = ('description', 'country_name', 'ai_country_id')
    actions = [
        're_formatting_json',
        'import_basic_data',
        'update_basic_data',
        'import_only_new',
        # 'import_data',
        # 'import_reports',
        'import_reports_forced',
        'link_indicators_data',
        'calculate_indicators_values',
        'calculate_indicators_cumulative_results',
        'calculate_indicators_status',
        'reset_indicators_values',
        'update_indicators_report',
        'update_hpm_report',
        'reset_hpm_indicators_values',
        'update_indicators_hpm',
        'calculate_indicators_cumulative_hpm',
        'calculate_indicators_tags_hpm',
        'calculate_indicators_tags',
        'update_partner_data',
        'generate_indicator_tags',
        'calculate_sum_target',
        'update_indicator_list_header',
        'update_indicator_name',
    ]

    fieldsets = [
        (None, {
            'classes': (
                'suit-tab',
                'suit-tab-general',
            ),
            'fields': [
                'ai_id',
                'db_id',
                'name',
                'label',
                'username',
                'password',
                'section',
                'reporting_year',
                'focal_point',
                'focal_point_sector',
                'mapped_db',
                'is_funded_by_unicef',
                'is_sector',
                'description',
                'country_name',
                'ai_country_id',
                'dashboard_link',
            ]
        }),
        ('Extraction mapping', {
            'classes': (
                'suit-tab',
                'suit-tab-general',
            ),
            'fields': [
                'mapping_extraction1',
                'mapping_extraction2',
                'mapping_extraction3',
            ]
        }),
        (
            'Activities',
            {
                'classes': (
                    'suit-tab',
                    'suit-tab-activities',
                ),
                'fields': [
                    # 'ai_id',
                    # 'name',
                    # 'location_type',
                ]
            }),
    ]
    suit_form_tabs = (
        ('general', 'Database'),
        ('activities', 'Activities'),
    )

    def re_formatting_json(self, request, queryset):
        from .utilities import import_data_v4
        objects = 0
        for db in queryset:
            objects += import_data_v4(db)
        self.message_user(request, "{} objects created.".format(objects))

    def import_basic_data(self, request, queryset):
        objects = 0
        for db in queryset:
            objects += db.import_data()
        self.message_user(request, "{} objects created.".format(objects))

    import_basic_data.short_description = 'Step 0: Import Indicators basic structure (only once - ask Ali before!!!)'

    def update_basic_data(self, request, queryset):
        objects = 0
        for db in queryset:
            objects += db.import_data(import_new=False, update_only=True)
        self.message_user(request, "{} objects created.".format(objects))

    update_basic_data.short_description = 'Step 0a: Update Indicators basic data - ' \
                                          'Update only (only once - ask Ali before!!!)'

    def import_only_new(self, request, queryset):
        objects = 0
        for db in queryset:
            objects += db.import_data(import_new=True)
        self.message_user(request, "{} objects created.".format(objects))

    import_only_new.short_description = 'Step 0b: Import only new Indicators basic data -' \
                                        ' Import new indicators only(only once - ask Ali before!!!)'

    def update_partner_data(self, request, queryset):
        for db in queryset:
            objects = update_partner_data(db)
            self.message_user(
                request,
                "{}-{} ActivityInfo's partners created for database: ".format(
                    objects, db))

    def generate_indicator_tags(self, request, queryset):
        reports = 0
        for db in queryset:
            reports = generate_indicator_tag(db.ai_id)
        self.message_user(request, "{} objects updated.".format(reports))

    def import_data(self, request, queryset):
        for db in queryset:
            r_script_command_line('ai_generate_excel.R', db)
            self.message_user(
                request, "Script R executed for database {}".format(db.name))

    def import_reports(self, request, queryset):
        for db in queryset:
            reports = read_data_from_file(db.ai_id)
            self.message_user(
                request,
                "{} Data imported from the file for database {}".format(
                    reports, db.name))

    def import_reports_forced(self, request, queryset):
        for db in queryset:
            reports = import_data_via_r_script(db)
            self.message_user(
                request,
                "Old data deleted and {} Data imported from the file for database {}"
                .format(reports, db.name))

    import_reports_forced.short_description = 'Step 1: Import Indicator values via R script'

    def generate_awp_code(self, request, queryset):
        reports = 0
        for db in queryset:
            reports = generate_indicator_awp_code(db.ai_id)
        self.message_user(request, "{} reports updated.".format(reports))

    def calculate_sum_target(self, request, queryset):
        reports = 0
        for db in queryset:
            reports = calculate_sum_target(db.id)
        self.message_user(request, "{} indicators updated.".format(reports))

    def link_indicators_data(self, request, queryset):
        for db in queryset:
            reports = link_indicators_data(db)
            self.message_user(
                request, "{} indicators linked for database {}".format(
                    reports, db.name))

    link_indicators_data.short_description = 'Step 2: Link Indicators info to Indicator values'

    def reset_indicators_values(self, request, queryset):
        for db in queryset:
            reports = reset_indicators_values(db.ai_id)
            self.message_user(
                request,
                "{} indicators pre-calculated values removed and for database {} "
                .format(reports, db.name))

    def update_hpm_report(self, request, queryset):
        reports = update_hpm_report()
        self.message_user(request, "Update the HPM report")

    update_hpm_report.short_description = 'Update HPM monthly report (3 in 1)'

    def reset_hpm_indicators_values(self, request, queryset):
        reports = reset_hpm_indicators_values()
        self.message_user(
            request,
            "{} indicators pre-calculated HPM values removed and for database "
            .format(reports))

    reset_hpm_indicators_values.short_description = 'Step 0: Reset HPM indicators values'

    def update_indicators_hpm(self, request, queryset):
        reports = update_indicators_hpm_data()
        self.message_user(
            request,
            "{} indicators pre-calculated HPM values removed and for database "
            .format(reports))

    update_indicators_hpm.short_description = 'Step 1: Update HPM indicators values'

    def calculate_indicators_values(self, request, queryset):
        for db in queryset:
            reports = calculate_indicators_values(db)
            self.message_user(
                request,
                "{} indicators values calculated for database {}".format(
                    reports, db.name))

    calculate_indicators_values.short_description = 'Step 3: Reset and calculate monthly report, cumulative and status'

    def calculate_indicators_cumulative_results(self, request, queryset):
        for db in queryset:
            reports = calculate_indicators_cumulative_results_1(db)
            self.message_user(
                request,
                "{} indicators values cumulative calculated for database {}".
                format(reports, db.name))

    def calculate_indicators_cumulative_hpm(self, request, queryset):
        reports = calculate_indicators_cumulative_hpm()
        self.message_user(
            request,
            "{} indicators values cumulative HPM for database".format(reports))

    calculate_indicators_cumulative_hpm.short_description = 'Step 2: Calculate HPM cumulative values'

    def calculate_indicators_tags_hpm(self, request, queryset):
        reports = calculate_indicators_tags_hpm()
        self.message_user(
            request,
            "{} indicators values Tag HPM for database".format(reports))

    calculate_indicators_tags_hpm.short_description = 'Step 3: Calculate HPM indicators percentages'

    def calculate_indicators_tags(self, request, queryset):
        reports = calculate_indicators_tags()
        reports = calculate_indicators_monthly_tags()
        self.message_user(request, "{} indicators values Tag".format(reports))

    def calculate_indicators_status(self, request, queryset):
        reports = 0
        for db in queryset:
            reports = calculate_indicators_status(db)
            self.message_user(
                request,
                "{} indicators status calculated for database {}".format(
                    reports, db.name))

    def update_indicator_name(self, request, queryset):
        reports = 0
        for db in queryset:
            reports = update_indicator_data(ai_db=db,
                                            ai_field_name='name',
                                            field_name='name')
            self.message_user(
                request,
                "{} indicators status calculated for database {}".format(
                    reports, db.name))

    def update_indicator_list_header(self, request, queryset):
        reports = 0
        for db in queryset:
            reports = update_indicator_data(ai_db=db,
                                            ai_field_name='list_header',
                                            field_name='listHeader')
            self.message_user(
                request,
                "{} indicators status calculated for database {}".format(
                    reports, db.name))

    formfield_overrides = {
        JSONField: {
            'widget': JSONEditorWidget(attrs={'initial': 'parsed'})
        },
    }
Exemplo n.º 29
0
 class Meta:
     model = UserProfile
     fields = '__all__'
     widgets = {'ui_settings': JSONEditorWidget(mode='code')}
Exemplo n.º 30
0
 class Meta:
     model = KanbanBoardUserFilterSetting
     fields = '__all__'
     widgets = {'settings': JSONEditorWidget(mode='code')}