views.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. import json
  2. from django.shortcuts import render
  3. from django.http import HttpResponseRedirect, HttpResponse
  4. from django.contrib.auth.views import LoginView
  5. from django.urls import reverse_lazy, resolve, reverse
  6. from django.contrib.auth.decorators import login_required
  7. from .forms import *
  8. from SharixAdmin.models import *
  9. from django.contrib.auth import logout
  10. from django.db.models import Q
  11. from .tables import *
  12. from django import template
  13. from metaservicesynced.models import ServiceType
  14. from django.core import serializers
  15. # Create your views here.
  16. @login_required
  17. def index(request):
  18. ph_num = str(request.user.phone_number)
  19. convert_ph_num = f"+{ph_num[:1]} ({ph_num[1:4]}) {ph_num[4:7]}-{ph_num[7:9]}-{ph_num[9:11]}"
  20. #print(convert_ph_num)
  21. context = get_context(request, {
  22. 'title':'Главная/баланс',
  23. 'phone':convert_ph_num
  24. })
  25. return render(request, 'SharixAdmin/main.html', context)
  26. @login_required
  27. def transactions(request):
  28. context = get_context(request, {
  29. 'title':'История платежей',
  30. })
  31. return render(request, 'SharixAdmin/transactions.html', context)
  32. @login_required
  33. def servicetype(request):
  34. service_types = ServiceType.objects.all()
  35. context = get_context(request, {
  36. 'title':'Услуги сервиса',
  37. 'service_types':service_types,
  38. })
  39. return render(request, 'SharixAdmin/servicetype.html', context)
  40. @login_required
  41. def trans_id(request, trans_id):
  42. context = get_context(request, {
  43. 'title':'Услуга'
  44. })
  45. return render(request, 'SharixAdmin/trans_carried.html', context)
  46. @login_required
  47. def balance(request):
  48. context = get_context(request, {
  49. 'title':'Пополнить баланс'
  50. })
  51. if request.method == 'POST':
  52. if float(request.POST['price']) > 0:
  53. context = get_context(request, {
  54. 'title':'Пополнить баланс',
  55. 'msg':'Оплата прошла успешно ;)'
  56. })
  57. return render(request, "SharixAdmin/balance_success.html", context)
  58. else:
  59. context = get_context(request, {
  60. 'title':'Пополнить баланс',
  61. 'msg':'Оплата не прошла ;('
  62. })
  63. return render(request, "SharixAdmin/balance_success.html", context)
  64. return render(request, "SharixAdmin/balance.html", context)
  65. def logout_view(request):
  66. logout(request)
  67. return HttpResponseRedirect(reverse('authweb'))
  68. class LoginSharix(LoginView):
  69. form_class = LoginUserForm
  70. template_name = 'SharixAdmin/auth.html'
  71. def get_success_url(self):
  72. print(self.request.GET['next'])
  73. return reverse_lazy('home')
  74. def testPage(request):
  75. context = get_context(request, {
  76. 'title':'Страница в разработке'
  77. })
  78. return render(request, "SharixAdmin/test.html", context)
  79. menu = [
  80. {'title':'Главная/баланс', 'link':'home', 'sel':'house'},
  81. {'title':'Платежная информация', 'link':'test-page', 'sel':'credit-card'},
  82. {'title':'История платежей', 'link':'trans','sel':'clock-history'},
  83. {'title':'Курсы', 'link':'course', 'sel':'education'},
  84. {'title':'Личная информация', 'link':'test-page', 'sel':'person'},
  85. {'title':'Управление сервисами', 'link':'test-page', 'sel':'hdd-network'},
  86. {'title':'Мои связи', 'link':'test-page', 'sel':'people'},
  87. {'title':'Сотрудничество', 'link':'test-page', 'sel':'sotrud'},
  88. {'title':'Техподдержка', 'link':'test-page', 'sel':'gear'},
  89. {'title':'Мои заявки', 'link':'tickets', 'sel':'tikets'},
  90. {'title':'Услуги сервиса', 'link':'servicetype', 'sel':'tikets'},
  91. ]
  92. def get_context(request, page_context) -> dict:
  93. base_context = {
  94. "title":page_context['title'],
  95. 'url_path':resolve(request.path_info).url_name,
  96. 'menu':menu
  97. }
  98. context = dict(list(base_context.items()) + list(page_context.items()))
  99. return context
  100. #Shema views
  101. @login_required
  102. def schema_v3(request):
  103. return render(request, "SharixAdmin/schema.html")