views.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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. planning_query_clos = GES_User.objects.exclude(GES_Date_Sup = None).exclude(GES_OK = False).filter(GES_SUP = False).order_by('GES_Date', 'GES_Service', 'GES_Nom', 'GES_Prenom')
  33. html = template.render({
  34. 'page': page,
  35. 'planning_query': planning_query,
  36. 'planning_query_clos': planning_query_clos,
  37. 'user': request.user,
  38. }, request)
  39. return HttpResponse(html)
  40. def user_get(request, id):
  41. template = loader.get_template('page.html')
  42. page = gen_page_base()
  43. page.p_adresse = reverse('gest_user_index')
  44. page.p_titre = "Détail d'un utilisateur"
  45. page.p_contenu = "Détail d'un utilisateur"
  46. page.p_right = ""
  47. page.p_include = "gest_user_api_get.html"
  48. item = GES_User.objects.get(id = id)
  49. link_user_to_app(item.id, 'update')
  50. item.apps = GES_APPLink.objects.filter(GES_APPLink_User = item.id)
  51. html = template.render({
  52. 'page': page,
  53. 'item':item,
  54. 'user': request.user,
  55. }, request)
  56. return HttpResponse(html)
  57. def user_edit(request, id):
  58. get_search = request.GET.get('get_search', '')
  59. template = loader.get_template('base.html')
  60. page = gen_page_base()
  61. page.p_adresse = reverse('gest_user_index')
  62. page.p_titre = "Modification d'un utilisateur"
  63. page.p_contenu = "Modification d'un utilisateur"
  64. page.p_right = "&nbsp"
  65. page.p_include = "gest_user_api_edit.html"
  66. if id == None or id == '0':
  67. item = GES_User()
  68. else :
  69. item = GES_User.objects.get(id = id)
  70. print(item)
  71. if request.method == 'POST':
  72. form = GES_User_form(request.POST, instance=item)
  73. form.url = "gest_user_edit"
  74. if form.is_valid():
  75. form.save()
  76. get_value = "?get_id=" + str(item.id)
  77. if get_search:
  78. get_value = get_value + '&get_search=' + get_search
  79. return HttpResponseRedirect(reverse('gest_user_index')+get_value)
  80. else:
  81. form = GES_User_form(instance=item)
  82. form.url = "gest_user_edit"
  83. html = template.render({
  84. 'form': form,
  85. 'page': page,
  86. 'item': item,
  87. }, request)
  88. return HttpResponse(html)
  89. def app_edit(request, id):
  90. get_search = request.GET.get('get_search', '')
  91. template = loader.get_template('base.html')
  92. page = gen_page_base()
  93. page.p_adresse = reverse('gest_user_index')
  94. page.p_titre = "Modification d'un utilisateur"
  95. page.p_contenu = "Modification d'un utilisateur"
  96. page.p_right = "&nbsp"
  97. page.p_include = "gest_user_api_edit.html"
  98. if id == None or id == '0':
  99. item = GES_APPLink()
  100. else :
  101. item = GES_APPLink.objects.get(id = id)
  102. if request.method == 'POST':
  103. form = GES_APPLink_form(request.POST, instance=item)
  104. form.url = "gest_app_edit"
  105. if form.is_valid():
  106. form.save()
  107. if item.GES_APPLink_APP.GESAP_Nom == "Apta":
  108. print("hoo un apta")
  109. item = GES_APPLink.objects.get(id = id)
  110. data = get_data_value("dernier-apta")
  111. if int(item.GES_APPLink_Sup) > int(data) :
  112. print ("need update compteur")
  113. data = update_data_value("dernier-apta", item.GES_APPLink_Sup)
  114. get_value = "?get_id=" + str(item.GES_APPLink_User.id)
  115. if get_search:
  116. get_value = get_value + '&get_search=' + get_search
  117. return HttpResponseRedirect(reverse('gest_user_index')+get_value)
  118. else:
  119. form = GES_APPLink_form(instance=item)
  120. form.url = "gest_app_edit"
  121. html = template.render({
  122. 'form': form,
  123. 'page': page,
  124. 'item': item,
  125. }, request)
  126. return HttpResponse(html)
  127. def update(request):
  128. items = GES_User.objects.all()
  129. # for item in items:
  130. # if item.GES_L_Site == "GENT":
  131. # item.GES_L_Site = "GEN"
  132. # if item.GES_Site == None :
  133. # site = Clinique.objects.get(CLIN_Anag = item.GES_L_Site)
  134. # item.GES_Site = site
  135. # item.save()
  136. for item in items:
  137. if item.GES_L_Service == None :
  138. site = Clinique.objects.get(CLIN_Anag = "HPN")
  139. service = Services.objects.get(SERVICE_Anag = item.GES_Service.SERVICE_Anag)
  140. new_service, created = Clin_Services.objects.get_or_create(
  141. SERVICE_Nom = service.SERVICE_Nom,
  142. SERVICE_Anag = service.SERVICE_Anag,
  143. defaults={'SERVICE_Clin': site},
  144. )
  145. item.GES_L_Service = new_service
  146. item.save()
  147. # if item.PIS_Site == None :
  148. # print(" * Update *")
  149. # site = Clinique.objects.get(CLIN_Anag = item.PIS_L_Site)
  150. # print(site)
  151. # item.PIS_Site = site
  152. # item.save()
  153. # items = PIC.objects.all()
  154. # for item in items:
  155. # if item.PIC_Site.CLIN_Anag == "GENT":
  156. # item.PIC_Site.CLIN_Anag = "GEN"
  157. # if item.PIC_L_Statut == "OK":
  158. # item.PIC_L_Statut = "RAS"
  159. # item.save()
  160. return HttpResponse("OK")