from django.shortcuts import render from django.http import HttpResponseRedirect, HttpResponse, JsonResponse from django.contrib.auth.views import LoginView from django.urls import reverse_lazy, resolve, reverse from django.contrib.auth.decorators import login_required from django_tables2 import SingleTableView from metaservicesynced.models import * from .forms import * from SharixAdmin.models import * from django.contrib.auth import logout from django.db.models import Q from django_tables2 import SingleTableView from .tables import * from django import template from django.views.generic.edit import UpdateView, CreateView from django.core import serializers from django_tables2 import SingleTableView from django.views.generic.edit import UpdateView, CreateView, DeleteView # Create your views here. # @login_required # def index(request): # ph_num = str(request.user.phone_number) # convert_ph_num = f"+{ph_num[:1]} ({ph_num[1:4]}) {ph_num[4:7]}-{ph_num[7:9]}-{ph_num[9:11]}" # #print(convert_ph_num) # context = get_context(request, { # 'title':'Главная/баланс', # 'phone':convert_ph_num # }) # return render(request, 'SharixAdmin/main.html', context) # @login_required # def transactions(request): # context = get_context(request, { # 'title':'История платежей', # }) # return render(request, 'SharixAdmin/transactions.html', context) # @login_required # def trans_id(request, trans_id): # context = get_context(request, { # 'title':'Услуга' # }) # return render(request, 'SharixAdmin/trans_carried.html', context) # @login_required # def balance(request): # context = get_context(request, { # 'title':'Пополнить баланс' # }) # if request.method == 'POST': # if float(request.POST['price']) > 0: # context = get_context(request, { # 'title':'Пополнить баланс', # 'msg':'Оплата прошла успешно ;)' # }) # return render(request, "SharixAdmin/balance_success.html", context) # else: # context = get_context(request, { # 'title':'Пополнить баланс', # 'msg':'Оплата не прошла ;(' # }) # return render(request, "SharixAdmin/balance_success.html", context) # return render(request, "SharixAdmin/balance.html", context) # def logout_view(request): # logout(request) # return HttpResponseRedirect(reverse('authweb')) # class LoginSharix(LoginView): # form_class = LoginUserForm # template_name = 'SharixAdmin/auth.html' # def get_success_url(self): # print(self.request.GET['next']) # return reverse_lazy('home') # def testPage(request): # context = get_context(request, { # 'title':'Страница в разработке' # }) # return render(request, "SharixAdmin/test.html", context) # menu = [ # {'title':'Главная/баланс', 'link':'home', 'sel':'house'}, # {'title':'Платежная информация', 'link':'test-page', 'sel':'credit-card'}, # {'title':'История платежей', 'link':'trans','sel':'clock-history'}, # {'title':'Курсы', 'link':'course', 'sel':'education'}, # {'title':'Личная информация', 'link':'test-page', 'sel':'person'}, # {'title':'Управление сервисами', 'link':'test-page', 'sel':'hdd-network'}, # {'title':'Мои связи', 'link':'test-page', 'sel':'people'}, # {'title':'Сотрудничество', 'link':'test-page', 'sel':'sotrud'}, # {'title':'Техподдержка', 'link':'test-page', 'sel':'gear'}, # {'title':'Мои заявки', 'link':'tickets', 'sel':'tikets'}, # {'title':'Исполнители', 'link':'provider', 'sel':'people'}, # {'title':'Тарифы услуг', 'link':'service_tariff', 'sel':'person'}, # {'title':'Партнеры', 'link':'partners', 'sel':'people'}, # {'title':'Ресурсы', 'link':'resource', 'sel':'sotrud'}, # {'title':'Услуги сервиса', 'link':'service_type', 'sel':'hdd-network'}, # {'title':'Информация о сервисе', 'link':'partner_information/add/', 'sel':'hdd-network'}, # {'title':'Информация о партнере', 'link':'partner_information/add/', 'sel':'person'}, # {'title':'Тарифы', 'link':'service', 'sel':'tikets'}, # ] # def partner_information(request): # context = get_context(request, { # 'title':'Информация о партнере', # }) # return render(request, 'SharixAdmin/partner_information.html', context) # def get_context(request, page_context) -> dict: # base_context = { # "title":page_context['title'], # 'url_path':resolve(request.path_info).url_name, # 'menu':menu # } # context = dict(list(base_context.items()) + list(page_context.items())) # return context # class PartnersListView(SingleTableView): # table_class = PartnersTable # queryset = Company.objects.all() # template_name = 'SharixAdmin/partners.html' # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Партнеры', # 'object_list': context['object_list'], # })) # return context # @login_required # def change_provider_status(request): # if request.method == 'POST': # provider_id = request.POST.get('provider_id') # new_status = request.POST.get('new_status') # provider = Provider.objects.get(pk=provider_id) # provider.status = new_status # provider.save() # return JsonResponse({'status': 'success'}) # else: # return JsonResponse({'status': 'error'}) # class ServiceTariffUpdateView(UpdateView): # model = Service # form_class = ServiceTariffUpdateForm # template_name = "SharixAdmin/service_tariff_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Тарифы услуг', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('service_tariff') # class ServiceTariffCreate(CreateView): # model = Service # form_class = ServiceTariffCreateForm # template_name = "SharixAdmin/service_tariff_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Тарифы услуг', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('service_tariff') # class ProviderListView(SingleTableView): # table_class = ProviderTable # queryset = Provider.objects.all() # template_name = 'SharixAdmin/provider.html' # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Исполнители', # 'object_list': context['object_list'], # })) # return context # class ServiceTariffListView(SingleTableView): # table_class = ServiceTariffTable # queryset = Service.objects.all() # template_name = 'SharixAdmin/service_tariff.html' # # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Исполнители', # 'object_list': context['object_list'], # })) # return context # class ServiceTypeUpdateView(UpdateView): # model = ServiceType # form_class = ServiceTypeUpdateForm # template_name = "SharixAdmin/service_type_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Тарифы услуг', # 'object_list': context['object_list'], # })) # return context # class ResourceListView(SingleTableView): # table_class = ResourceTable # queryset = Resource.objects.all() # template_name = 'SharixAdmin/resource.html' # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Ресурсы', # 'object_list': context['object_list'], # })) # return context # class ServiceTypeCreate(CreateView): # model = ServiceType # form_class = ServiceTypeCreateForm # template_name = "SharixAdmin/service_type_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Услуги сервиса', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('service_type') # @login_required # def change_partners_status(request): # if request.method == 'POST': # partners_id = request.POST.get('partners_id') # new_status = request.POST.get('new_status') # partners = Company.objects.get(pk=partners_id) # partners.status = new_status # partners.save() # return JsonResponse({'status': 'success'}) # else: # return JsonResponse({'status': 'error'}) # @login_required # def change_resource_status(request): # if request.method == 'POST': # resource_id = request.POST.get('resource_id') # new_status = request.POST.get('new_status') # resource = Resource.objects.get(pk=resource_id) # resource.status = new_status # resource.save() # return JsonResponse({'status': 'success'}) # else: # return JsonResponse({'status': 'error'}) # class ServiceTypeDelete(DeleteView): # model = ServiceType # template_name = "SharixAdmin/service_type_delete.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Услуги сервиса', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('service_type') # class ServiceTypeListView(SingleTableView): # table_class = ServiceTypeTable # queryset = ServiceType.objects.all() # template_name = 'SharixAdmin/service_type.html' # # paginate_by = 2 # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Услуги сервиса', # 'object_list': context['object_list'], # })) # return context # class ServiceInformationUpdateView(UpdateView): # model = Service # form_class = ServiceInformationUpdateForm # template_name = "SharixAdmin/service_information_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Информация о сервисе', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('test-page') # class ServiceInformationCreate(CreateView): # model = Service # form_class = ServiceInformationCreateForm # template_name = "SharixAdmin/service_information_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Информация о сервисе', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('test-page') # class ServiceListView(SingleTableView): # table_class = ServiceTable # queryset = Service.objects.all() # template_name = 'SharixAdmin/service.html' # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Тарифы', # 'object_list': context['object_list'], # })) # return context # @login_required # def change_service_status(request): # if request.method == 'POST': # service_id = request.POST.get('service_id') # new_status = request.POST.get('new_status') # service = Service.objects.get(pk=service_id) # service.status = new_status # service.save() # #Shema views # @login_required # def schema_v3(request): # return render(request, "SharixAdmin/schema.html") # class PartnerInformationUpdateView(UpdateView): # model = Company # form_class = PartnerInformationUpdateForm # template_name = "SharixAdmin/partner_information_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Информация о партнере', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('test-page') # class PartnerInformationCreate(CreateView): # model = Company # form_class = PartnerInformationCreateForm # template_name = "SharixAdmin/partner_information_form.html" # def get_context_data(self, **kwargs): # context = super().get_context_data(**kwargs) # context.update(get_context(self.request, { # 'title': 'Информация о партнере', # 'object': self.object, # })) # return context # def get_success_url(self): # return reverse('test-page')