From cadf32e3608e983afd2e7c52619a90e2eab1d8b7 Mon Sep 17 00:00:00 2001 From: mahdavi Date: Sun, 4 Sep 2022 17:26:39 +0430 Subject: [PATCH] transaction app to wallet app --- accounts/settings.py | 4 +-- accounts/urls.py | 31 +++---------------- apps/transactions/apps.py | 5 --- apps/transactions/migrations/0002_initial.py | 28 ----------------- apps/users/urls.py | 16 ++++++++++ apps/users/views.py | 5 --- apps/{transactions => wallet}/__init__.py | 0 apps/{transactions => wallet}/admin.py | 0 apps/wallet/apps.py | 5 +++ .../migrations/0001_initial.py | 7 ++++- .../migrations/__init__.py | 0 apps/{transactions => wallet}/models.py | 0 apps/{transactions => wallet}/serializers.py | 0 apps/{transactions => wallet}/tests.py | 0 apps/wallet/urls.py | 17 ++++++++++ apps/{transactions => wallet}/views.py | 4 +-- templates/base.html | 2 +- templates/registration/login.html | 4 +-- 18 files changed, 55 insertions(+), 73 deletions(-) delete mode 100755 apps/transactions/apps.py delete mode 100644 apps/transactions/migrations/0002_initial.py create mode 100644 apps/users/urls.py rename apps/{transactions => wallet}/__init__.py (100%) rename apps/{transactions => wallet}/admin.py (100%) create mode 100755 apps/wallet/apps.py rename apps/{transactions => wallet}/migrations/0001_initial.py (69%) rename apps/{transactions => wallet}/migrations/__init__.py (100%) rename apps/{transactions => wallet}/models.py (100%) rename apps/{transactions => wallet}/serializers.py (100%) rename apps/{transactions => wallet}/tests.py (100%) create mode 100644 apps/wallet/urls.py rename apps/{transactions => wallet}/views.py (97%) diff --git a/accounts/settings.py b/accounts/settings.py index 54e7324..c30eb6d 100644 --- a/accounts/settings.py +++ b/accounts/settings.py @@ -42,7 +42,7 @@ INSTALLED_APPS = [ 'rest_framework', 'corsheaders', 'apps.users', - 'apps.transactions', + 'apps.wallet', 'apps.gooyal_oauth2', 'apps.superapp', ] @@ -178,7 +178,7 @@ USE_TZ = True # LOGIN_URL = '/accounts/login/' # LOGIN_REDIRECT_URL = '/accounts/profile/' -LOGIN_URL = '/login/' +# LOGIN_URL = LOGIN_REDIRECT_URL = '/' AUTH_USER_MODEL = 'users.User' diff --git a/accounts/urls.py b/accounts/urls.py index 3b80993..21ff5a0 100644 --- a/accounts/urls.py +++ b/accounts/urls.py @@ -16,7 +16,6 @@ Including another URLconf from django.conf import settings # from django.conf.urls import url from django.conf.urls.static import static -from django.contrib.auth.views import LogoutView from django.urls import path, include from django.contrib import admin from rest_framework import permissions @@ -24,45 +23,23 @@ from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, Spec # from apps.gooyal_oauth2.views.introspect import introspect_token -from apps.transactions.views import TransactionList, TransactionDetail, TransactionPay, TransactionReceipt, \ +from apps.wallet.views import TransactionList, TransactionDetail, TransactionPay, TransactionReceipt, \ WithdrawVerify, WithdrawSubmit, DepositSubmit, DepositVerify -from apps.users.views import UserListView, UserDetailView, AccountView, RequestOTPView, ChangePasswordView, \ - OTPLoginView, home, UserInquiryView from django.contrib.auth import urls as auth_urls urlpatterns = [ - # YOUR PATTERNS path('swagger/', SpectacularAPIView.as_view(), name='schema'), - # Optional UI: path('swagger/swagger-ui/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'), path('swagger/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'), + path('admin/', admin.site.urls), - # path('accounts/', include(auth_urls)), - path('login/', OTPLoginView.as_view(), name='login'), - path('logout/', LogoutView.as_view(), name='logout'), + path('wallet/', include('apps.wallet.urls')), + path('users/', include('apps.users.urls')), path('', include('apps.superapp.urls')), - # path('', home, name='home'), path('oauth2/', include('oauth2_provider.urls', namespace='oauth2_provider')), - path('account/', AccountView.as_view(), name='account'), - path('users/', UserListView.as_view()), - path('users//', UserDetailView.as_view(), name='user_detail'), - path('request_otp/', RequestOTPView.as_view(), name='register'), - path('change_password/', ChangePasswordView.as_view(), name='change_password'), - # path('province', ProvinceApiView.as_view(), name='province'), - # path('inquiry/', UserInquiryView.as_view(), name='inquiry'), - path('transactions/', TransactionList.as_view(), name='transactions'), - path('transactions/', TransactionDetail.as_view(), name='transaction_detail'), - path('transactions//pay', TransactionPay.as_view(), name='transaction_pay'), - path('transactions//receipt', TransactionReceipt.as_view(), name='transaction_receipt'), - # - path('deposit/', DepositSubmit.as_view(), name='deposit_submit'), - path('deposit//verify', DepositVerify.as_view(), name='deposit_verify'), - # - path('withdraw/', WithdrawSubmit.as_view(), name='withdraw_submit'), - path('withdraw//verify', WithdrawVerify.as_view(), name='withdraw_verify'), ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/apps/transactions/apps.py b/apps/transactions/apps.py deleted file mode 100755 index 1562eb2..0000000 --- a/apps/transactions/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class TransactionsConfig(AppConfig): - name = 'apps.transactions' diff --git a/apps/transactions/migrations/0002_initial.py b/apps/transactions/migrations/0002_initial.py deleted file mode 100644 index 51d3e00..0000000 --- a/apps/transactions/migrations/0002_initial.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 4.1 on 2022-08-17 19:05 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('transactions', '0001_initial'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.AddField( - model_name='transaction', - name='payee', - field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='receipts', to=settings.AUTH_USER_MODEL), - ), - migrations.AddField( - model_name='transaction', - name='payer', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='payments', to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/apps/users/urls.py b/apps/users/urls.py new file mode 100644 index 0000000..d14083e --- /dev/null +++ b/apps/users/urls.py @@ -0,0 +1,16 @@ +from django.urls import path +from django.contrib.auth.views import LogoutView +from .views import UserListView, UserDetailView, AccountView, RequestOTPView, ChangePasswordView, \ + OTPLoginView + +app_name = "users" + +urlpatterns = [ + path('login/', OTPLoginView.as_view(), name='login'), + path('logout/', LogoutView.as_view(), name='logout'), + path('api/account/', AccountView.as_view(), name='account'), + path('api/users/', UserListView.as_view()), + path('api/users//', UserDetailView.as_view(), name='user_detail'), + path('api/request_otp/', RequestOTPView.as_view(), name='request_otp'), + path('api/change_password/', ChangePasswordView.as_view(), name='change_password'), +] diff --git a/apps/users/views.py b/apps/users/views.py index b4c44bf..2eb5b0d 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -95,11 +95,6 @@ class ChangePasswordView(generics.UpdateAPIView): return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) -@login_required -def home(request): - return render(request, 'registration/profile.html') - - class OTPLoginView(LoginView): """ Display the login form and handle the login action. diff --git a/apps/transactions/__init__.py b/apps/wallet/__init__.py similarity index 100% rename from apps/transactions/__init__.py rename to apps/wallet/__init__.py diff --git a/apps/transactions/admin.py b/apps/wallet/admin.py similarity index 100% rename from apps/transactions/admin.py rename to apps/wallet/admin.py diff --git a/apps/wallet/apps.py b/apps/wallet/apps.py new file mode 100755 index 0000000..7af25eb --- /dev/null +++ b/apps/wallet/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class WalletConfig(AppConfig): + name = 'apps.wallet' diff --git a/apps/transactions/migrations/0001_initial.py b/apps/wallet/migrations/0001_initial.py similarity index 69% rename from apps/transactions/migrations/0001_initial.py rename to apps/wallet/migrations/0001_initial.py index 3b5b376..6e02dfd 100644 --- a/apps/transactions/migrations/0001_initial.py +++ b/apps/wallet/migrations/0001_initial.py @@ -1,6 +1,8 @@ -# Generated by Django 4.1 on 2022-08-17 19:05 +# Generated by Django 4.1 on 2022-09-04 12:55 +from django.conf import settings from django.db import migrations, models +import django.db.models.deletion import uuid @@ -9,6 +11,7 @@ class Migration(migrations.Migration): initial = True dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ @@ -23,6 +26,8 @@ class Migration(migrations.Migration): ('last_update', models.DateTimeField(auto_now=True, null=True, verbose_name='last update')), ('application_client_id', models.CharField(db_index=True, max_length=100, null=True)), ('detail_id', models.IntegerField(blank=True, null=True)), + ('payee', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='receipts', to=settings.AUTH_USER_MODEL)), + ('payer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='payments', to=settings.AUTH_USER_MODEL)), ], ), ] diff --git a/apps/transactions/migrations/__init__.py b/apps/wallet/migrations/__init__.py similarity index 100% rename from apps/transactions/migrations/__init__.py rename to apps/wallet/migrations/__init__.py diff --git a/apps/transactions/models.py b/apps/wallet/models.py similarity index 100% rename from apps/transactions/models.py rename to apps/wallet/models.py diff --git a/apps/transactions/serializers.py b/apps/wallet/serializers.py similarity index 100% rename from apps/transactions/serializers.py rename to apps/wallet/serializers.py diff --git a/apps/transactions/tests.py b/apps/wallet/tests.py similarity index 100% rename from apps/transactions/tests.py rename to apps/wallet/tests.py diff --git a/apps/wallet/urls.py b/apps/wallet/urls.py new file mode 100644 index 0000000..cb84f3f --- /dev/null +++ b/apps/wallet/urls.py @@ -0,0 +1,17 @@ +from django.urls import path +from .views import TransactionList, TransactionDetail, TransactionPay, TransactionReceipt, \ + WithdrawVerify, WithdrawSubmit, DepositSubmit, DepositVerify +app_name = "wallet" + +urlpatterns = [ + path('transactions/', TransactionList.as_view(), name='transactions'), + path('transactions/', TransactionDetail.as_view(), name='transaction_detail'), + path('transactions//pay', TransactionPay.as_view(), name='transaction_pay'), + path('transactions//receipt', TransactionReceipt.as_view(), name='transaction_receipt'), + # + path('deposit/', DepositSubmit.as_view(), name='deposit_submit'), + path('deposit//verify', DepositVerify.as_view(), name='deposit_verify'), + # + path('withdraw/', WithdrawSubmit.as_view(), name='withdraw_submit'), + path('withdraw//verify', WithdrawVerify.as_view(), name='withdraw_verify'), +] \ No newline at end of file diff --git a/apps/transactions/views.py b/apps/wallet/views.py similarity index 97% rename from apps/transactions/views.py rename to apps/wallet/views.py index 372018b..1b3dce4 100755 --- a/apps/transactions/views.py +++ b/apps/wallet/views.py @@ -5,8 +5,8 @@ from rest_framework import generics, permissions from rest_framework.response import Response from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements -from apps.transactions.models import Transaction -from apps.transactions.serializers import TransactionSerializer, DepositSerializer, WithdrawSerializer +from apps.wallet.models import Transaction +from apps.wallet.serializers import TransactionSerializer, DepositSerializer, WithdrawSerializer from apps.users.constans import STATE_CHOICES diff --git a/templates/base.html b/templates/base.html index 7fcecd7..f57d078 100644 --- a/templates/base.html +++ b/templates/base.html @@ -42,7 +42,7 @@ {% if request.user.is_authenticated %} {% endif %} diff --git a/templates/registration/login.html b/templates/registration/login.html index 5fcf18b..bfbe248 100755 --- a/templates/registration/login.html +++ b/templates/registration/login.html @@ -25,7 +25,7 @@ {# #}
-
+ {% csrf_token %} @@ -96,7 +96,7 @@ // var data = {'username': mobileNumberOrUsername} //} - $.post("/request_otp/", data).done( + $.post("{% url 'users:request_otp' %}", data).done( function (result) { console.log(result); if (result.hasOwnProperty('ttl')) {