Skip to content

Commit

Permalink
Merge pull request #43 from openimis/release/23.10
Browse files Browse the repository at this point in the history
MERGING release/23.10 into main
  • Loading branch information
hirensoni913 committed Jan 16, 2024
2 parents 7669e12 + d5700c0 commit 8fae86d
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 109 deletions.
141 changes: 32 additions & 109 deletions report/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

DEFAULT_CFG = {
"gql_query_report_perms": ["131200"],

"gql_reports_primary_operational_indicator_policies_perms": ["131201"],
"gql_reports_primary_operational_indicators_claims_perms": ["131202"],
"gql_reports_derived_operational_indicators_perms": ["131203"],
Expand Down Expand Up @@ -43,116 +42,40 @@
class ReportConfig(AppConfig):
name = MODULE_NAME

gql_query_report_perms: []
gql_mutation_report_add_perms: []
gql_mutation_report_edit_perms: []
gql_mutation_report_delete_perms: []
gql_reports_primary_operational_indicator_policies_perms: []
gql_reports_primary_operational_indicators_claims_perms: []
gql_reports_derived_operational_indicators_perms: []
gql_reports_contribution_collection_perms: []
gql_reports_product_sales_perms: []
gql_reports_contribution_distribution_perms: []
gql_reports_user_activity_perms: []
gql_reports_enrolment_performance_indicators_perms: []
gql_reports_status_of_register_perms: []
gql_reports_insuree_without_photos_perms: []
gql_reports_payment_category_overview_perms: []
gql_reports_matching_funds_perms: []
gql_reports_claim_overview_report_perms: []
gql_reports_percentage_referrals_perms: []
gql_reports_families_insurees_overview_perms: []
gql_reports_pending_insurees_perms: []
gql_reports_renewals_perms: []
gql_reports_capitation_payment_perms: []
gql_reports_rejected_photo_perms: []
gql_reports_contribution_payment_perms: []
gql_reports_control_number_assignment_perms: []
gql_reports_overview_of_commissions_perms: []
gql_reports_claim_history_report_perms: []
gql_query_report_perms = []
gql_mutation_report_add_perms = []
gql_mutation_report_edit_perms = []
gql_mutation_report_delete_perms = []
gql_reports_primary_operational_indicator_policies_perms = []
gql_reports_primary_operational_indicators_claims_perms = []
gql_reports_derived_operational_indicators_perms = []
gql_reports_contribution_collection_perms = []
gql_reports_product_sales_perms = []
gql_reports_contribution_distribution_perms = []
gql_reports_user_activity_perms = []
gql_reports_enrolment_performance_indicators_perms = []
gql_reports_status_of_register_perms = []
gql_reports_insuree_without_photos_perms = []
gql_reports_payment_category_overview_perms = []
gql_reports_matching_funds_perms = []
gql_reports_claim_overview_report_perms = []
gql_reports_percentage_referrals_perms = []
gql_reports_families_insurees_overview_perms = []
gql_reports_pending_insurees_perms = []
gql_reports_renewals_perms = []
gql_reports_capitation_payment_perms = []
gql_reports_rejected_photo_perms = []
gql_reports_contribution_payment_perms = []
gql_reports_control_number_assignment_perms = []
gql_reports_overview_of_commissions_perms = []
gql_reports_claim_history_report_perms = []

reports = []

def _configure_permissions(self, cfg):
ReportConfig.gql_query_report_perms = cfg["gql_query_report_perms"]
ReportConfig.gql_mutation_report_add_perms = cfg[
"gql_mutation_report_add_perms"
]
ReportConfig.gql_mutation_report_edit_perms = cfg[
"gql_mutation_report_edit_perms"
]
ReportConfig.gql_mutation_report_delete_perms = cfg[
"gql_mutation_report_delete_perms"
]
ReportConfig.gql_reports_primary_operational_indicator_policies_perms = cfg[
"gql_reports_primary_operational_indicator_policies_perms"
]
ReportConfig.gql_reports_primary_operational_indicators_claims_perms = cfg[
"gql_reports_primary_operational_indicators_claims_perms"
]
ReportConfig.gql_reports_derived_operational_indicators_perms = cfg[
"gql_reports_derived_operational_indicators_perms"
]
ReportConfig.gql_reports_contribution_collection_perms = cfg[
"gql_reports_contribution_collection_perms"
]
ReportConfig.gql_reports_product_sales_perms = cfg[
"gql_reports_product_sales_perms"
]
ReportConfig.gql_reports_contribution_distribution_perms = cfg[
"gql_reports_contribution_distribution_perms"
]
ReportConfig.gql_reports_user_activity_perms = cfg[
"gql_reports_user_activity_perms"
]
ReportConfig.gql_reports_enrolment_performance_indicators_perms = cfg[
"gql_reports_enrolment_performance_indicators_perms"
]
ReportConfig.gql_reports_status_of_register_perms = cfg[
"gql_reports_status_of_register_perms"
]
ReportConfig.gql_reports_insuree_without_photos_perms = cfg[
"gql_reports_insuree_without_photos_perms"
]
ReportConfig.gql_reports_payment_category_overview_perms = cfg[
"gql_reports_payment_category_overview_perms"
]
ReportConfig.gql_reports_matching_funds_perms = cfg[
"gql_reports_matching_funds_perms"
]
ReportConfig.gql_reports_claim_overview_report_perms = cfg[
"gql_reports_claim_overview_report_perms"
]
ReportConfig.gql_reports_percentage_referrals_perms = cfg[
"gql_reports_percentage_referrals_perms"
]
ReportConfig.gql_reports_families_insurees_overview_perms = cfg[
"gql_reports_families_insurees_overview_perms"
]
ReportConfig.gql_reports_pending_insurees_perms = cfg[
"gql_reports_pending_insurees_perms"
]
ReportConfig.gql_reports_renewals_perms = cfg[
"gql_reports_renewals_perms"
]
ReportConfig.gql_reports_capitation_payment_perms = cfg[
"gql_reports_capitation_payment_perms"
]
ReportConfig.gql_reports_rejected_photo_perms = cfg[
"gql_reports_rejected_photo_perms"
]
ReportConfig.gql_reports_contribution_payment_perms = cfg[
"gql_reports_contribution_payment_perms"
]
ReportConfig.gql_reports_control_number_assignment_perms = cfg[
"gql_reports_control_number_assignment_perms"
]
ReportConfig.gql_reports_overview_of_commissions_perms = cfg[
"gql_reports_overview_of_commissions_perms"
]
ReportConfig.gql_reports_claim_history_report_perms = cfg[
"gql_reports_claim_history_report_perms"
]
def __load_config(self, cfg):
for field in cfg:
if hasattr(ReportConfig, field):
setattr(ReportConfig, field, cfg[field])

@classmethod
def get_report(cls, report_name):
Expand All @@ -165,7 +88,7 @@ def ready(self):
from core.models import ModuleConfiguration

cfg = ModuleConfiguration.get_or_default(MODULE_NAME, DEFAULT_CFG)
self._configure_permissions(cfg)
self.__load_config(cfg)

all_apps = openimis_apps()

Expand Down
39 changes: 39 additions & 0 deletions report/migrations/0010_add_query_rights.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Generated by Django 3.2.17 on 2023-03-01 15:02
import logging

from django.db import migrations

from core.utils import insert_role_right_for_system, remove_role_right_for_system

logger = logging.getLogger(__name__)

# It is a dictionary with IsSystem values, it maps to RoleIDs:
# ROLES_ID = [1, 2, 3, 5, 6, 7, 11, 12]
ROLES_ID = [1, 2, 4, 16, 32, 64, 524288, 1048576]
REPORT_QUERY_ROLE_ID = 131200


def add_query_rights(apps, schema_editor):
"""
Add gql_query_reports_perms to every role with report permission (based on existing data).
"""
for role in ROLES_ID:
insert_role_right_for_system(role, REPORT_QUERY_ROLE_ID)


def remove_query_rights(apps, schema_editor):
"""
Add gql_query_reports_perms to every role with report permission (based on existing data).
"""
for role in ROLES_ID:
remove_role_right_for_system(role, REPORT_QUERY_ROLE_ID)


class Migration(migrations.Migration):
dependencies = [
('report', '0009_set_managed_to_true'),
]

operations = [
migrations.RunPython(add_query_rights, remove_query_rights),
]

0 comments on commit 8fae86d

Please sign in to comment.