views.py 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. from django.shortcuts import render
  2. from django.template import loader
  3. from django.urls import reverse
  4. from django.utils import timezone
  5. from django.http import HttpResponse, HttpResponseRedirect
  6. from django.contrib import messages
  7. from django.contrib.auth.decorators import login_required
  8. from django.contrib.auth import authenticate, login, logout
  9. from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
  10. from django.contrib.auth.models import User
  11. from core.views import gen_page_base, gen_page_sys, get_get_value, get_data_value, update_data_value
  12. from .models import *
  13. from .api import link_user_to_app
  14. @login_required(login_url='core_login')
  15. def index(request):
  16. template = loader.get_template('gest_user_index.html')
  17. page = gen_page_base()
  18. get_search = request.GET.get('get_search', '')
  19. get_id = request.GET.get('get_id', '')
  20. page.lastapta = get_data_value('dernier-apta')
  21. if get_search :
  22. print(get_search)
  23. page.search = get_search
  24. if get_id :
  25. print(get_id)
  26. page.item_id = get_id
  27. page.p_adresse = reverse('gest_user_index')
  28. page.p_titre = "Listing des utilisateurs"
  29. page.p_contenu = "Listing des utilisateurs"
  30. page.p_right = "Les Outils :"
  31. planning_query = GES_User.objects.exclude(GES_Date = None).filter(GES_OK = False).order_by('GES_Date', 'GES_Service', 'GES_Nom', 'GES_Prenom')
  32. html = template.render({
  33. 'page': page,
  34. 'planning_query': planning_query,
  35. 'user': request.user,
  36. }, request)
  37. return HttpResponse(html)
  38. def user_get(request, id):
  39. template = loader.get_template('page.html')
  40. page = gen_page_base()
  41. page.p_adresse = reverse('gest_user_index')
  42. page.p_titre = "Détail d'un utilisateur"
  43. page.p_contenu = "Détail d'un utilisateur"
  44. page.p_right = ""
  45. page.p_include = "gest_user_api_get.html"
  46. item = GES_User.objects.get(id = id)
  47. link_user_to_app(item.id, 'update')
  48. item.apps = GES_APPLink.objects.filter(GES_APPLink_User = item.id)
  49. html = template.render({
  50. 'page': page,
  51. 'item':item,
  52. 'user': request.user,
  53. }, request)
  54. return HttpResponse(html)
  55. def user_edit(request, id):
  56. get_search = request.GET.get('get_search', '')
  57. template = loader.get_template('base.html')
  58. page = gen_page_base()
  59. page.p_adresse = reverse('gest_user_index')
  60. page.p_titre = "Modification d'un utilisateur"
  61. page.p_contenu = "Modification d'un utilisateur"
  62. page.p_right = "&nbsp"
  63. page.p_include = "gest_user_api_edit.html"
  64. if id == None or id == '0':
  65. item = GES_User()
  66. else :
  67. item = GES_User.objects.get(id = id)
  68. print(item)
  69. if request.method == 'POST':
  70. form = GES_User_form(request.POST, instance=item)
  71. form.url = "gest_user_edit"
  72. if form.is_valid():
  73. form.save()
  74. get_value = "?get_id=" + str(item.id)
  75. if get_search:
  76. get_value = get_value + '&get_search=' + get_search
  77. return HttpResponseRedirect(reverse('gest_user_index')+get_value)
  78. else:
  79. form = GES_User_form(instance=item)
  80. form.url = "gest_user_edit"
  81. html = template.render({
  82. 'form': form,
  83. 'page': page,
  84. 'item': item,
  85. }, request)
  86. return HttpResponse(html)
  87. def app_edit(request, id):
  88. get_search = request.GET.get('get_search', '')
  89. template = loader.get_template('base.html')
  90. page = gen_page_base()
  91. page.p_adresse = reverse('gest_user_index')
  92. page.p_titre = "Modification d'un utilisateur"
  93. page.p_contenu = "Modification d'un utilisateur"
  94. page.p_right = "&nbsp"
  95. page.p_include = "gest_user_api_edit.html"
  96. if id == None or id == '0':
  97. item = GES_APPLink()
  98. else :
  99. item = GES_APPLink.objects.get(id = id)
  100. if request.method == 'POST':
  101. form = GES_APPLink_form(request.POST, instance=item)
  102. form.url = "gest_app_edit"
  103. if form.is_valid():
  104. form.save()
  105. if item.GES_APPLink_APP.GESAP_Nom == "Apta":
  106. print("hoo un apta")
  107. item = GES_APPLink.objects.get(id = id)
  108. data = get_data_value("dernier-apta")
  109. if item.GES_APPLink_Sup > data :
  110. print ("need update compteur")
  111. data = update_data_value("dernier-apta", item.GES_APPLink_Sup)
  112. get_value = "?get_id=" + str(item.GES_APPLink_User.id)
  113. if get_search:
  114. get_value = get_value + '&get_search=' + get_search
  115. return HttpResponseRedirect(reverse('gest_user_index')+get_value)
  116. else:
  117. form = GES_APPLink_form(instance=item)
  118. form.url = "gest_app_edit"
  119. html = template.render({
  120. 'form': form,
  121. 'page': page,
  122. 'item': item,
  123. }, request)
  124. return HttpResponse(html)
  125. def update(request):
  126. items = GES_User.objects.all()
  127. # for item in items:
  128. # if item.GES_L_Site == "GENT":
  129. # item.GES_L_Site = "GEN"
  130. # if item.GES_Site == None :
  131. # site = Clinique.objects.get(CLIN_Anag = item.GES_L_Site)
  132. # item.GES_Site = site
  133. # item.save()
  134. for item in items:
  135. if item.GES_L_Service == None :
  136. site = Clinique.objects.get(CLIN_Anag = "HPN")
  137. service = Services.objects.get(SERVICE_Anag = item.GES_Service.SERVICE_Anag)
  138. new_service, created = Clin_Services.objects.get_or_create(
  139. SERVICE_Nom = service.SERVICE_Nom,
  140. SERVICE_Anag = service.SERVICE_Anag,
  141. defaults={'SERVICE_Clin': site},
  142. )
  143. item.GES_L_Service = new_service
  144. item.save()
  145. # if item.PIS_Site == None :
  146. # print(" * Update *")
  147. # site = Clinique.objects.get(CLIN_Anag = item.PIS_L_Site)
  148. # print(site)
  149. # item.PIS_Site = site
  150. # item.save()
  151. # items = PIC.objects.all()
  152. # for item in items:
  153. # if item.PIC_Site.CLIN_Anag == "GENT":
  154. # item.PIC_Site.CLIN_Anag = "GEN"
  155. # if item.PIC_L_Statut == "OK":
  156. # item.PIC_L_Statut = "RAS"
  157. # item.save()
  158. return HttpResponse("OK")