accrete 0.0.26__py3-none-any.whl → 0.0.28__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- accrete/contrib/sequence/migrations/0002_alter_sequence_name.py +18 -0
- accrete/contrib/sequence/models.py +1 -1
- accrete/contrib/sequence/queries.py +2 -2
- accrete/contrib/system_mail/tasks.py +10 -3
- accrete/contrib/ui/__init__.py +2 -1
- accrete/contrib/ui/components.py +29 -0
- accrete/contrib/ui/context.py +16 -11
- accrete/contrib/ui/elements.py +0 -0
- accrete/contrib/ui/filter.py +24 -0
- accrete/contrib/ui/querystring.py +1 -1
- accrete/contrib/ui/static/js/filter.js +20 -2
- accrete/contrib/ui/templates/ui/detail.html +19 -1
- accrete/contrib/ui/templates/ui/layout.html +5 -3
- accrete/contrib/ui/templates/ui/list.html +0 -5
- accrete/contrib/ui/templates/ui/partials/filter.html +1 -0
- accrete/contrib/ui/templates/ui/partials/header.html +3 -1
- accrete/contrib/ui/templates/ui/table.html +3 -6
- accrete/contrib/ui/templatetags/accrete_ui.py +12 -0
- accrete/contrib/user/forms.py +92 -1
- accrete/contrib/user/templates/user/accrete_navbar_end.html +5 -1
- accrete/contrib/user/templates/user/change_email.html +29 -0
- accrete/contrib/user/templates/user/change_password.html +40 -0
- accrete/contrib/user/urls.py +3 -2
- accrete/contrib/user/views.py +56 -11
- accrete/contrib/user_registration/forms.py +6 -2
- accrete/forms.py +6 -5
- accrete/utils/dates.py +10 -2
- {accrete-0.0.26.dist-info → accrete-0.0.28.dist-info}/METADATA +2 -1
- {accrete-0.0.26.dist-info → accrete-0.0.28.dist-info}/RECORD +31 -28
- {accrete-0.0.26.dist-info → accrete-0.0.28.dist-info}/WHEEL +1 -1
- accrete/contrib/ui/static/js/filter_old.js +0 -734
- {accrete-0.0.26.dist-info → accrete-0.0.28.dist-info}/licenses/LICENSE +0 -0
accrete/contrib/user/views.py
CHANGED
@@ -1,16 +1,19 @@
|
|
1
1
|
from django.views.generic import View
|
2
2
|
from django.contrib.auth.forms import AuthenticationForm
|
3
|
-
from django.contrib.auth import logout, views
|
3
|
+
from django.contrib.auth import logout, views, update_session_auth_hash
|
4
4
|
from django.contrib.auth.decorators import login_required
|
5
|
-
from django.
|
5
|
+
from django.contrib import messages
|
6
|
+
from django.shortcuts import redirect, render, reverse, resolve_url
|
6
7
|
from django.utils.translation import gettext_lazy as _
|
8
|
+
from django.conf import settings
|
7
9
|
|
8
10
|
from accrete.forms import save_form
|
9
11
|
from accrete.contrib.ui import FormContext, DetailContext, ClientAction
|
10
|
-
from .forms import UserForm
|
12
|
+
from .forms import UserForm, ChangePasswordForm, ChangeEmailForm
|
11
13
|
|
12
14
|
|
13
15
|
class LoginView(views.LoginView):
|
16
|
+
|
14
17
|
form_class = AuthenticationForm
|
15
18
|
template_name = 'user/login.html'
|
16
19
|
redirect_authenticated_user = True
|
@@ -26,11 +29,10 @@ class LoginView(views.LoginView):
|
|
26
29
|
return super().form_invalid(form)
|
27
30
|
|
28
31
|
|
29
|
-
class LogoutView(
|
30
|
-
|
31
|
-
def
|
32
|
-
|
33
|
-
return redirect('user:login')
|
32
|
+
class LogoutView(views.LogoutView):
|
33
|
+
|
34
|
+
def get_success_url(self):
|
35
|
+
return resolve_url(settings.LOGIN_URL)
|
34
36
|
|
35
37
|
|
36
38
|
@login_required()
|
@@ -39,8 +41,8 @@ def user_detail(request):
|
|
39
41
|
request.user, request.GET.dict(), paginate_by=0, breadcrumbs=[],
|
40
42
|
actions=[
|
41
43
|
ClientAction(_('Edit'), url=reverse('user:edit')),
|
42
|
-
ClientAction(_('Change E-Mail'), url=''),
|
43
|
-
ClientAction(_('Change Password'), url='')
|
44
|
+
ClientAction(_('Change E-Mail'), url=reverse('user:edit_email')),
|
45
|
+
ClientAction(_('Change Password'), url=reverse('user:edit_password'))
|
44
46
|
]
|
45
47
|
)
|
46
48
|
return render(request, 'user/user_detail.html', ctx.dict())
|
@@ -56,5 +58,48 @@ def user_edit(request):
|
|
56
58
|
form = save_form(UserForm(request.POST, instance=request.user))
|
57
59
|
if form.is_saved:
|
58
60
|
return redirect('user:detail')
|
59
|
-
ctx = FormContext(request.user, request.GET.dict()
|
61
|
+
ctx = FormContext(request.user, form, request.GET.dict()).dict()
|
60
62
|
return render(request, 'user/user_form.html', ctx)
|
63
|
+
|
64
|
+
|
65
|
+
@login_required()
|
66
|
+
def user_change_password(request):
|
67
|
+
form = ChangePasswordForm(instance=request.user)
|
68
|
+
if request.method == 'POST':
|
69
|
+
form = save_form(ChangePasswordForm(request.POST, instance=request.user))
|
70
|
+
if form.is_saved:
|
71
|
+
update_session_auth_hash(request, form.instance)
|
72
|
+
messages.add_message(
|
73
|
+
request, messages.SUCCESS,
|
74
|
+
str(_('Your password has been changed.')),
|
75
|
+
fail_silently=True
|
76
|
+
)
|
77
|
+
return redirect('user:detail')
|
78
|
+
ctx = FormContext(
|
79
|
+
request.user,
|
80
|
+
form,
|
81
|
+
request.GET.dict(),
|
82
|
+
title=_('Change Password'),
|
83
|
+
).dict()
|
84
|
+
return render(request, 'user/change_password.html', ctx)
|
85
|
+
|
86
|
+
|
87
|
+
@login_required()
|
88
|
+
def user_change_email(request):
|
89
|
+
form = ChangeEmailForm(instance=request.user)
|
90
|
+
if request.method == 'POST':
|
91
|
+
form = save_form(ChangeEmailForm(request.POST, instance=request.user))
|
92
|
+
if form.is_saved:
|
93
|
+
messages.add_message(
|
94
|
+
request, messages.SUCCESS,
|
95
|
+
str(_('Your email address has been changed.')),
|
96
|
+
fail_silently=True
|
97
|
+
)
|
98
|
+
return redirect('user:detail')
|
99
|
+
ctx = FormContext(
|
100
|
+
request.user,
|
101
|
+
form,
|
102
|
+
request.GET.dict(),
|
103
|
+
title=_('Change Email')
|
104
|
+
).dict()
|
105
|
+
return render(request, 'user/change_email.html', ctx)
|
@@ -19,11 +19,15 @@ class UserRegistrationForm(forms.Form):
|
|
19
19
|
)
|
20
20
|
|
21
21
|
password1 = forms.CharField(
|
22
|
-
label=_('Password'),
|
22
|
+
label=_('Password'),
|
23
|
+
widget=forms.PasswordInput,
|
24
|
+
max_length=128
|
23
25
|
)
|
24
26
|
|
25
27
|
password2 = forms.CharField(
|
26
|
-
label=_('Confirm Password'),
|
28
|
+
label=_('Confirm Password'),
|
29
|
+
widget=forms.PasswordInput,
|
30
|
+
max_length=128
|
27
31
|
)
|
28
32
|
|
29
33
|
def clean_password1(self):
|
accrete/forms.py
CHANGED
@@ -292,7 +292,7 @@ class TenantModelForm(One2ManyModelForm):
|
|
292
292
|
return self.instance
|
293
293
|
|
294
294
|
|
295
|
-
def save_form(form, reraise=False):
|
295
|
+
def save_form(form, reraise=False, log=True):
|
296
296
|
form.is_saved = False
|
297
297
|
try:
|
298
298
|
if form.is_valid():
|
@@ -300,10 +300,11 @@ def save_form(form, reraise=False):
|
|
300
300
|
form.save()
|
301
301
|
form.is_saved = True
|
302
302
|
except Exception as e:
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
303
|
+
form.save_error = repr(e)
|
304
|
+
if log:
|
305
|
+
error_id = str(uuid4())[:8]
|
306
|
+
_logger.exception(f'{error_id}: {e}')
|
307
|
+
form.save_error_id = error_id
|
307
308
|
if reraise:
|
308
309
|
raise e
|
309
310
|
return form
|
accrete/utils/dates.py
CHANGED
@@ -9,7 +9,6 @@ def current_year_start() -> datetime:
|
|
9
9
|
first_day = now.replace(
|
10
10
|
month=1, day=1, hour=0, minute=0, second=0, microsecond=0
|
11
11
|
)
|
12
|
-
# calendar.monthrange(date.year, date.month)[1]
|
13
12
|
return first_day
|
14
13
|
|
15
14
|
|
@@ -23,7 +22,6 @@ def current_year_end() -> datetime:
|
|
23
22
|
|
24
23
|
def current_month_start() -> datetime:
|
25
24
|
now = timezone.now()
|
26
|
-
monthrange = calendar.monthrange(now.year, now.month)
|
27
25
|
first_day = now.replace(
|
28
26
|
day=1, hour=0, minute=0, second=0, microsecond=0
|
29
27
|
)
|
@@ -37,3 +35,13 @@ def current_month_end() -> datetime:
|
|
37
35
|
day=monthrange[1], hour=23, minute=59, second=59, microsecond=999999
|
38
36
|
)
|
39
37
|
return last_day
|
38
|
+
|
39
|
+
|
40
|
+
def next_relative_month_start(start_date: date) -> date:
|
41
|
+
monthrange = calendar.monthrange(start_date.year, start_date.month)
|
42
|
+
return start_date.replace(day=monthrange[1]) + timedelta(days=1)
|
43
|
+
|
44
|
+
|
45
|
+
def next_relative_year_start(start_date: date) -> date:
|
46
|
+
current = current_year_end().date().replace(year=start_date.year)
|
47
|
+
return current + relativedelta(days=1)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: accrete
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.28
|
4
4
|
Summary: Django Shared Schema Multi Tenant
|
5
5
|
Author-email: Benedikt Jilek <benedikt.jilek@pm.me>
|
6
6
|
License: Copyright (c) 2023 Benedikt Jilek
|
@@ -35,6 +35,7 @@ Requires-Dist: django>=4.2
|
|
35
35
|
Provides-Extra: contrib
|
36
36
|
Requires-Dist: celery>=5.3.4; extra == 'contrib'
|
37
37
|
Requires-Dist: django-celery-beat; extra == 'contrib'
|
38
|
+
Requires-Dist: sqlalchemy; extra == 'contrib'
|
38
39
|
Provides-Extra: dev
|
39
40
|
Requires-Dist: build; extra == 'dev'
|
40
41
|
Requires-Dist: pytest>=7.0; extra == 'dev'
|
@@ -3,7 +3,7 @@ accrete/admin.py,sha256=MUYUmCFlGYPowiXTbwl4_Q6Cq0-neiL53WW4P76JCLs,1174
|
|
3
3
|
accrete/apps.py,sha256=F7ynMLHJr_6bRujWtZVUzCliY2CGKiDvyUmL4F68L2E,146
|
4
4
|
accrete/config.py,sha256=eJUbvyBO3DvAD6xkVKjTAzlXy7V7EK9bVyb91girfUs,299
|
5
5
|
accrete/decorators.py,sha256=vM8GuDHLzwEpHmTGafG-xwMddKvuYFIhe-FrUJqL1_4,678
|
6
|
-
accrete/forms.py,sha256=
|
6
|
+
accrete/forms.py,sha256=PsM13oQ84U3eJ0b6d5fhCNZCKGyKobMao_2M_1Q4Ucs,11216
|
7
7
|
accrete/middleware.py,sha256=ldnMI4Wv9p1JUyFX_sQSa6Hg4MgkXNbKaHqq5aRsD8s,2629
|
8
8
|
accrete/models.py,sha256=OcxHnmFWity-Pfgj-jOhrxzZ44MdqmLxTH-xwrbtz7w,5974
|
9
9
|
accrete/queries.py,sha256=bchiqLzE1DmR9kvQ6Yyog6cNlYK_lxpztQMOx6Hy_0c,410
|
@@ -16,29 +16,31 @@ accrete/contrib/sequence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
16
16
|
accrete/contrib/sequence/admin.py,sha256=mTjab5cVklRUIQcSrsUo-_JgtXEsSdcFj_gfWhlStS4,273
|
17
17
|
accrete/contrib/sequence/apps.py,sha256=2SalOz9piCrbOPudCh0grN1eojN9kEC4-jcNzBmfqEk,164
|
18
18
|
accrete/contrib/sequence/forms.py,sha256=cdjLIytH7WlJK-B2Y6xRRPjOijkK36XpqUuIe4yLLj0,248
|
19
|
-
accrete/contrib/sequence/models.py,sha256=
|
20
|
-
accrete/contrib/sequence/queries.py,sha256=
|
19
|
+
accrete/contrib/sequence/models.py,sha256=UEuPvg1StovPW1n9yF-f31nBq4aTj5zpfS10oqcf60E,887
|
20
|
+
accrete/contrib/sequence/queries.py,sha256=VT4pbYKzVAEE_8oPOaavdcCPi-zPiX1BwdVviWh8XKM,683
|
21
21
|
accrete/contrib/sequence/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
22
22
|
accrete/contrib/sequence/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
|
23
23
|
accrete/contrib/sequence/migrations/0001_initial.py,sha256=iAR_hhGN2wDAk40IS9PwEsm7iYqfgasoKRrTLFEpOY8,1352
|
24
|
+
accrete/contrib/sequence/migrations/0002_alter_sequence_name.py,sha256=70tpxJ0_edWpzj69PxV73m3CwI7Hy5x1YK8m6_2niP4,398
|
24
25
|
accrete/contrib/sequence/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
26
|
accrete/contrib/system_mail/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
27
|
accrete/contrib/system_mail/admin.py,sha256=9hXwwfZn446juyRoBOygLWm12X6N9waRC-1LHBLrgZk,227
|
27
28
|
accrete/contrib/system_mail/apps.py,sha256=yIWgsa5GV8NPOJBtDZQJljSZ5v_mOP6VJrTfo_HkLF8,169
|
28
29
|
accrete/contrib/system_mail/forms.py,sha256=baRoj0YQvc-b83y69dbxVgCN5BWoQsco_YRNqqbubY8,723
|
29
30
|
accrete/contrib/system_mail/models.py,sha256=mTx8YAtyyrUE2B8iKQDyJVsUqN1EGHg8XKgdoWibZ9g,880
|
30
|
-
accrete/contrib/system_mail/tasks.py,sha256=
|
31
|
+
accrete/contrib/system_mail/tasks.py,sha256=W3q40AxcjGFt7wtuvblQ_WFYIaipYF-WWkDYGvbkYhQ,1326
|
31
32
|
accrete/contrib/system_mail/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
32
33
|
accrete/contrib/system_mail/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
|
33
34
|
accrete/contrib/system_mail/migrations/0001_initial.py,sha256=6cwkkRXGjXvwXoMjjgmWmcPyXSTlUbhW1vMiHObk9MQ,1074
|
34
35
|
accrete/contrib/system_mail/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
accrete/contrib/ui/__init__.py,sha256=
|
36
|
+
accrete/contrib/ui/__init__.py,sha256=VuqzzKYHSxxEeps7dOcQ4u0vOdgrpMnkwPXq8n6xEgY,306
|
36
37
|
accrete/contrib/ui/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
|
37
38
|
accrete/contrib/ui/apps.py,sha256=E0ao2ox6PQ3ldfeR17FXJUUJuGiWjm2DPCxHbPXGzls,152
|
38
|
-
accrete/contrib/ui/components.py,sha256=
|
39
|
-
accrete/contrib/ui/context.py,sha256=
|
40
|
-
accrete/contrib/ui/
|
41
|
-
accrete/contrib/ui/
|
39
|
+
accrete/contrib/ui/components.py,sha256=9GrutNvfPT5QS2x8Ae3lIGWx7sSRx12uh52BqwysL1w,1670
|
40
|
+
accrete/contrib/ui/context.py,sha256=CI0GGIFvYPAu7v_8wKvrvFyWFae2t3sfiKtokus6rlk,9552
|
41
|
+
accrete/contrib/ui/elements.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
|
+
accrete/contrib/ui/filter.py,sha256=OmrNWElKuVRjwSbD7GEus1erZmHwcu-I8NzCMbQovu8,12586
|
43
|
+
accrete/contrib/ui/querystring.py,sha256=vMP_4Hn6L3jCLf6_HIscZkPgkZGe9g9Y7GfI2zZYn2A,709
|
42
44
|
accrete/contrib/ui/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
43
45
|
accrete/contrib/ui/urls.py,sha256=TUBlz_CGs9InTZoxM78GSnucA73I8knoh_obt12RUHM,186
|
44
46
|
accrete/contrib/ui/views.py,sha256=WpBKMsxFFG8eG4IN7TW_TPE6i3OFF7gnLDTK7JMKti8,191
|
@@ -124,8 +126,7 @@ accrete/contrib/ui/static/css/accrete.scss,sha256=-ASM1TVXcT48Z0-VVHmESBn9wbIaKM
|
|
124
126
|
accrete/contrib/ui/static/css/icons.css,sha256=ZaS9ChqKlwvEgrHbRXhplE3JohWEYmJefVnfggx9-gY,4739
|
125
127
|
accrete/contrib/ui/static/icons/Logo.svg,sha256=hGZuxrAa-LRpFavFiF8Lnc7X9OQcqmb6Xl_dxx-27hM,1861
|
126
128
|
accrete/contrib/ui/static/icons/accrete.svg,sha256=CWHJKIgk3hxL7xIaFSz2j1cK-eF1TroCbjcF58bgOIs,1024
|
127
|
-
accrete/contrib/ui/static/js/filter.js,sha256=
|
128
|
-
accrete/contrib/ui/static/js/filter_old.js,sha256=yBC_Fhb9d40YLGmsfoxW7zQrlQkC8aCeVryaEInwy24,25779
|
129
|
+
accrete/contrib/ui/static/js/filter.js,sha256=7HUBHon2UB5SP0G1NH6fHqxdWw5CuQE8VvJvzDRNYCU,24133
|
129
130
|
accrete/contrib/ui/static/js/list.js,sha256=OX_81ifRmawE-1QBU5Qpq_E6sHiiNwIPleETAn9EOJw,4280
|
130
131
|
accrete/contrib/ui/static/js/navbar.js,sha256=9QGZfPgGWjCBZhZhrRf983hoPnRlwQP-Pl73c2vISYs,628
|
131
132
|
accrete/contrib/ui/static/js/utils.js,sha256=6RKh3EJ57gx5UIjBcSaeZEs7lZdLvyYT9VAQ-WqlKSk,173
|
@@ -136,15 +137,15 @@ accrete/contrib/ui/templates/django/forms/widgets/input.html,sha256=CRu81kTsbPwi
|
|
136
137
|
accrete/contrib/ui/templates/django/forms/widgets/select.html,sha256=jT_UnHizHfdWTdJoSxjcIqTiR7NbVBA4bBSvkuDPRtw,394
|
137
138
|
accrete/contrib/ui/templates/django/forms/widgets/text.html,sha256=MSmLlQc7PsPoDLVtTOOiWNprrsPriNr712yFxaHyDIo,47
|
138
139
|
accrete/contrib/ui/templates/django/forms/widgets/textarea.html,sha256=c9BTedqb3IkXLyVYd0p9pR8DFnsXCNGoxVBWZTk_Fic,278
|
139
|
-
accrete/contrib/ui/templates/ui/detail.html,sha256=
|
140
|
+
accrete/contrib/ui/templates/ui/detail.html,sha256=Ix3WpJ3FsYuvUfi0ivGcA6Bd8IpGO1wpG4eXJFofK8k,1047
|
140
141
|
accrete/contrib/ui/templates/ui/form.html,sha256=HpcZCDU_ur_Zf5gpnH_F8OV6qfOYPl6Ecqg6w5RIayQ,405
|
141
|
-
accrete/contrib/ui/templates/ui/layout.html,sha256=
|
142
|
-
accrete/contrib/ui/templates/ui/list.html,sha256=
|
143
|
-
accrete/contrib/ui/templates/ui/table.html,sha256=
|
144
|
-
accrete/contrib/ui/templates/ui/partials/filter.html,sha256=
|
142
|
+
accrete/contrib/ui/templates/ui/layout.html,sha256=U_ZLxWn-Wg1Ta2Tjev7oMlNSpvfblmLhJbtc83hDWVc,8222
|
143
|
+
accrete/contrib/ui/templates/ui/list.html,sha256=d35PALSg9Zr9ErMD4z9XvyXRJPkZEhB5IoOT6LXh73s,661
|
144
|
+
accrete/contrib/ui/templates/ui/table.html,sha256=68EG0v78UXWx1YQtJWlqDmXx-7db6DU5kru2FM2kvkA,2762
|
145
|
+
accrete/contrib/ui/templates/ui/partials/filter.html,sha256=phuMVykVDGo3urTGGHeA1aLALoSdsZHYEJYLi3rkfo0,2686
|
145
146
|
accrete/contrib/ui/templates/ui/partials/form_errors.html,sha256=1_TQvTdiejsn-43YSyp2YfnP52P-MFYb-HGY0DLm4oA,991
|
146
147
|
accrete/contrib/ui/templates/ui/partials/form_modal.html,sha256=FFDfI5qjOCUBSGqDjBXa8tcqN2q94wOOCNFDaiyplHQ,1032
|
147
|
-
accrete/contrib/ui/templates/ui/partials/header.html,sha256=
|
148
|
+
accrete/contrib/ui/templates/ui/partials/header.html,sha256=KVsYaXn5C8UQykMv4H5zFONretq8tjxLdwcgrwAYdvk,2835
|
148
149
|
accrete/contrib/ui/templates/ui/partials/onchange_form.html,sha256=K5twTGqRUW1iM2dGtdWntjsJvJVo5EIzKxX2HK-H1yw,160
|
149
150
|
accrete/contrib/ui/templates/ui/partials/pagination_detail.html,sha256=ee5d5wZHLgh8wARvKCVZ68KZf77w107GWNRi9qkpW80,938
|
150
151
|
accrete/contrib/ui/templates/ui/partials/pagination_list.html,sha256=zdIHmK5W58IpYlW7QmMVpsh1ufUIxpPrDimq9uqaYFQ,1299
|
@@ -153,21 +154,23 @@ accrete/contrib/ui/templates/ui/partials/table_field_float.html,sha256=GH_jFdpk8
|
|
153
154
|
accrete/contrib/ui/templates/ui/partials/table_field_monetary.html,sha256=Wtod9vel2dD4vG8lUVLbtls4aU_2EG3p0E1QRRUSH10,166
|
154
155
|
accrete/contrib/ui/templates/ui/partials/table_field_string.html,sha256=GH_jFdpk8wEJXv4QfO6c3URYrZGGLeuSyWwWl2cWxwQ,45
|
155
156
|
accrete/contrib/ui/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
156
|
-
accrete/contrib/ui/templatetags/accrete_ui.py,sha256=
|
157
|
+
accrete/contrib/ui/templatetags/accrete_ui.py,sha256=qcGZpjdvTmFKaEX6zDN1TopYV4zyqPUljQ8lpfriJjo,2815
|
157
158
|
accrete/contrib/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
158
159
|
accrete/contrib/user/admin.py,sha256=YS4iApli7XUaIl9GsEJxys2j8sepX0by88omYHjff-E,85
|
159
160
|
accrete/contrib/user/apps.py,sha256=oHDrAiHf-G57mZLyxqGJzRY2DbPprGFD-QgyVJG_ruI,156
|
160
|
-
accrete/contrib/user/forms.py,sha256=
|
161
|
+
accrete/contrib/user/forms.py,sha256=kkPXxeaJWheNogd1-nBFN4kUxbh9v4b6ofF8-lgt6Vo,3298
|
161
162
|
accrete/contrib/user/middleware.py,sha256=qblcujwJsthopagyT-hPFq4HsMyGt-VvqZw5TQopBjk,403
|
162
163
|
accrete/contrib/user/models.py,sha256=SFEXG9G-XY7Nuss7DT51abDv8BWLHKYJocOhQDI_1Lw,3926
|
163
164
|
accrete/contrib/user/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
164
|
-
accrete/contrib/user/urls.py,sha256=
|
165
|
-
accrete/contrib/user/views.py,sha256=
|
165
|
+
accrete/contrib/user/urls.py,sha256=ktQJ3vZxDlKNUfzOxReeDLOduSdoW5z5Sz0LVFpxZGU,460
|
166
|
+
accrete/contrib/user/views.py,sha256=uQ_gd97HubpA2vFMeAM9IKK0N0U9os03g3FAKU6pN_E,3523
|
166
167
|
accrete/contrib/user/locale/de/LC_MESSAGES/django.mo,sha256=p3rgUg6WltAVIMkQsjvjBqTsd_usLhSr1GH4Cyltc2c,433
|
167
168
|
accrete/contrib/user/locale/de/LC_MESSAGES/django.po,sha256=f_Nxpo3HTm2L3f3zoHLfeWsZ-4IQp_EEVSku6TCZSvw,1870
|
168
169
|
accrete/contrib/user/migrations/0001_initial.py,sha256=JWfM9PcMDfkJUdCjLWuWieGs6643qP0KdbCyr5uAZoY,2950
|
169
170
|
accrete/contrib/user/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
170
|
-
accrete/contrib/user/templates/user/accrete_navbar_end.html,sha256=
|
171
|
+
accrete/contrib/user/templates/user/accrete_navbar_end.html,sha256=vDFjrOZ95doOpdGYSCRlP8H-FfKUWpkYgYP8mOKcboY,481
|
172
|
+
accrete/contrib/user/templates/user/change_email.html,sha256=i9ZgDH31awO9W87E6c3_MKgQNf1ff7EYQX1nEdPqRC8,995
|
173
|
+
accrete/contrib/user/templates/user/change_password.html,sha256=wcwm5_tfPgs9V7VWdDQqhhyMpcIkiGsx2OIptF5fWMk,1498
|
171
174
|
accrete/contrib/user/templates/user/login.html,sha256=qKUqF5WCkWPrbwQMaa05Ou7zkM_CeVrJzHsjsDWNPhQ,1644
|
172
175
|
accrete/contrib/user/templates/user/user_detail.html,sha256=SMkghUKVncVq3KFGBxADJf_wDnLYwmK4oDTKLO0Ejlo,1445
|
173
176
|
accrete/contrib/user/templates/user/user_form.html,sha256=4o24KV940D_KsBP4YwBguwTFW9nYz1uz-RILs91M7Po,1935
|
@@ -175,7 +178,7 @@ accrete/contrib/user_registration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
175
178
|
accrete/contrib/user_registration/admin.py,sha256=kwmGTsg4Hii-lsw9-UaJG7AhQ4k4SPi48GSrtpZ4YR4,119
|
176
179
|
accrete/contrib/user_registration/apps.py,sha256=mYu3fuuubfjImeJHk4D_Wd6Edw2r3oUNXGcFbAkhir4,181
|
177
180
|
accrete/contrib/user_registration/config.py,sha256=wrZuZY5ed9dCFKp5W2iRUAoHN9xAoetEU8BuuKSofRg,949
|
178
|
-
accrete/contrib/user_registration/forms.py,sha256=
|
181
|
+
accrete/contrib/user_registration/forms.py,sha256=WeQgxK0qAxRf3IH5ssET2y3QSgk5pqlGhcudg0yNf_A,3345
|
179
182
|
accrete/contrib/user_registration/models.py,sha256=bxDQ_UTeLMmU6tjNfwVLenWuJu_WNZEm3-uPNeOAidk,398
|
180
183
|
accrete/contrib/user_registration/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
181
184
|
accrete/contrib/user_registration/urls.py,sha256=lC1uHBHY3lgJVooZaMx7quTnqDsG01JQq_XRXQVjz3o,382
|
@@ -188,8 +191,8 @@ accrete/migrations/0001_initial.py,sha256=azThbc8otEhxJwo8BIgOt5eC30mxXhKJLBAazZ
|
|
188
191
|
accrete/migrations/0002_initial.py,sha256=dFOM7kdHlx7pVAh8cTDlZMtciN4O9Z547HAzEKnygZE,1628
|
189
192
|
accrete/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
190
193
|
accrete/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
191
|
-
accrete/utils/dates.py,sha256=
|
192
|
-
accrete-0.0.
|
193
|
-
accrete-0.0.
|
194
|
-
accrete-0.0.
|
195
|
-
accrete-0.0.
|
194
|
+
accrete/utils/dates.py,sha256=iqMqEcW1ZV5yg9TjVN01-Pa24vgdcO-_u2x_sXSvMPI,1329
|
195
|
+
accrete-0.0.28.dist-info/METADATA,sha256=SO405O8tJ2JxsxLxj7WrfExs10ujpFideOP3o_6ksKQ,4892
|
196
|
+
accrete-0.0.28.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
|
197
|
+
accrete-0.0.28.dist-info/licenses/LICENSE,sha256=_7laeMIHnsd3Y2vJEXDYXq_PEXxIcjgJsGt8UIKTRWc,1057
|
198
|
+
accrete-0.0.28.dist-info/RECORD,,
|