· 3 years ago · Aug 10, 2022, 11:20 AM
1from decimal import Decimal
2from django.db import models
3from django.utils.translation import ugettext_lazy as _
4from django.utils.functional import lazy
5
6from ..default import TEMPLATES
7
8
9def get_institution_queryset():
10 from apps.institutions.models import Institution
11 return Institution.objects.all()
12
13
14def get_manager_queryset():
15 from apps.users.receivers import USER_MANAGER_ACTIVE_QUERYSET
16 return USER_MANAGER_ACTIVE_QUERYSET
17
18
19def get_employee_queryset():
20 from apps.users.receivers import USER_EMPLOYEE_ACTIVE_QUERYSET
21 return USER_EMPLOYEE_ACTIVE_QUERYSET
22
23
24TEMPLATES[0]['OPTIONS']['context_processors'] += [
25 'constance.context_processors.config',
26]
27
28
29CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'
30
31CONSTANCE_DATABASE_CACHE_BACKEND = 'default'
32
33CONSTANCE_ADDITIONAL_FIELDS = {
34 'demo_institution': [
35 'django.forms.ModelChoiceField',
36 {
37 'required': False,
38 'queryset': lazy(get_institution_queryset, models.QuerySet)(),
39 'required': True
40 }
41 ],
42 'demo_manager': [
43 'django.forms.ModelChoiceField',
44 {
45 'required': False,
46 'queryset': lazy(get_manager_queryset, models.QuerySet)(),
47 'required': True
48 }
49 ],
50 'demo_employee': [
51 'django.forms.ModelChoiceField',
52 {
53 'required': False,
54 'queryset': lazy(get_employee_queryset, models.QuerySet)(),
55 'required': True
56 }
57 ]
58}
59
60CONSTANCE_CONFIG = {
61
62 'DEMO_INSTITUTION': (
63 None,
64 _('Dummy institution for demo page'),
65 'demo_institution'
66 ),
67 'DEMO_MANAGER': (
68 None,
69 _('Demo manager'),
70 'demo_manager'
71 ),
72 'DEMO_EMPLOYEE': (
73 None,
74 _('Demo employee'),
75 'demo_employee'
76 ),
77 'CHAYCOM_TAX': (
78 Decimal('1.00'),
79 _('Chaycom tax'),
80 Decimal,
81 ),
82 'WITHDRAWAL_TAX': (
83 Decimal('1.00') ,
84 _('Withdrawal tax'),
85 Decimal,
86 ),
87 'WITHDRAWAL_MIN_AMOUNT': (
88 Decimal('200'),
89 _('Withdrawal min amount'),
90 Decimal,
91 ),
92 'SMSCLUB_MOBI_TOKEN': ('', _('Smsclub.mobi API token'), str),
93 'SMSCLUB_MOBI_ALFA_NAME': ('', _('Smsclub.mobi alfa-name token'), str),
94
95 'FONDY_MERCHANT_ID': ('', _('Merchant id'), str),
96 'FONDY_SECRET_KEY': ('test', _('Secret key'), str),
97 'FONDY_CREDIT_PRIVATE_KEY': ('', _('Credit private key'), str),
98 'FONDY_DEFAULT_CURRENCY': ('UAH', _('Default currency'), str),
99 'FONDY_EXPIRED_DAYS': (3, _("Expired days"), int),
100
101 'POSTER_APPLICATION_ID': ('', _('Application id'), str),
102 'POSTER_SECRET_KEY': ('', _('Secret key'), str),
103
104 'ZOHOCRM_CLIENT_ID': ('', _('Client id'), str),
105 'ZOHOCRM_CLIENT_SECRET': ('', _('Client secret'), str),
106 'ZOHOCRM_REFRESH_TOKEN_SECRET': ('', _('Refresh token'), str),
107}
108
109CONSTANCE_CONFIG_FIELDSETS = {
110
111 'Demo page': (
112 'DEMO_INSTITUTION',
113 'DEMO_MANAGER',
114 'DEMO_EMPLOYEE',
115 ),
116 'Chaycom config': (
117 'CHAYCOM_TAX',
118 'WITHDRAWAL_TAX',
119 'WITHDRAWAL_MIN_AMOUNT',
120 ),
121 'SMSCLUB config': (
122 'SMSCLUB_MOBI_TOKEN',
123 'SMSCLUB_MOBI_ALFA_NAME',
124 ),
125
126 'Fondy Options': (
127 'FONDY_MERCHANT_ID',
128 'FONDY_SECRET_KEY',
129 'FONDY_CREDIT_PRIVATE_KEY',
130 'FONDY_DEFAULT_CURRENCY',
131 'FONDY_EXPIRED_DAYS',
132 ),
133
134 'Poster Options': (
135 'POSTER_APPLICATION_ID',
136 'POSTER_SECRET_KEY',
137 ),
138 'ZOHO CRM Options': (
139 'ZOHOCRM_CLIENT_ID',
140 'ZOHOCRM_CLIENT_SECRET',
141 'ZOHOCRM_REFRESH_TOKEN_SECRET',
142 ),
143
144}
145