views.py 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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.core.mail import EmailMultiAlternatives
  8. from django.contrib.auth.decorators import login_required
  9. from django.contrib.auth import authenticate, login, logout
  10. from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
  11. from django.contrib.auth.models import User
  12. from core.views import gen_page_base, gen_page_sys, get_get_value
  13. from .forms import *
  14. from .models import *
  15. #@login_required(login_url='core_login')
  16. def taches_show_list(request):
  17. get_search = request.GET.get('get_search', '')
  18. template = loader.get_template('parc_info_taches_index.html')
  19. page = gen_page_base()
  20. if get_search :
  21. print(get_search)
  22. page.search = get_search
  23. page.p_adresse = reverse('parc_info_taches_show_list')
  24. page.p_titre = "Listing des tâches"
  25. page.p_contenu = "Listing des tâches à réaliser"
  26. page.p_right = "Les Outils :"
  27. html = template.render({
  28. 'page': page,
  29. 'user': request.user,
  30. }, request)
  31. return HttpResponse(html)
  32. def taches_edit_info(request, id_tache):
  33. template = loader.get_template('parc_info_taches_edit.html')
  34. if id_tache == None or id_tache == '0':
  35. item = Taches()
  36. item.Tache_Date_Programee = timezone.now()
  37. else :
  38. item = Taches.objects.get(id = id_tache)
  39. if request.method == 'POST':
  40. form = Edit_Tache_form(request.POST, instance=item)
  41. if form.is_valid():
  42. form.save()
  43. item = Taches.objects.get(id = form.instance.id)
  44. if item.Tache_Statut != "ENCOUR" :
  45. if id_tache == None or id_tache == '0':
  46. obj_message = '#%i - Nouvelle tâche crée sur GestClin' % int(item.id)
  47. html_message = "<p>Bonjour.</p><p>Une nouvelle tâche à été crée sur GestClin, merci d'en prendre connaisence.</p><p></p>"
  48. txt_message = 'Une nouvelle tache à été crée sur GestClin, merci d\'en predre compte./n Lien de la tâche : http://srv-gparc.intra.stjacques/taches/?get_id=%id' % item.id
  49. elif item.Tache_Statut == "FINI" :
  50. obj_message = '#%i - Tâche terminé sur GestClin' % int(item.id)
  51. html_message = "<p>Bonjour.</p><p>Une tâche à été terminé sur GestClin, merci d'en prendre connaissance.</p><p></p>"
  52. txt_message = 'Une tâche à été terminé sur GestClin, merci d\'en predre compte./n Lien de la tâche : http://srv-gparc.intra.stjacques/taches/?get_id=%id' % item.id
  53. else :
  54. obj_message = '#%i - Tâche mise à jour sur GestClin' % int(item.id)
  55. html_message = "<p>Bonjour.</p><p>Une tâche à été mise à jour sur GestClin, merci d'en prendre connaisence.</p><p></p>"
  56. txt_message = 'Une tâche à été mise à jour sur GestClin, merci d\'en predre compte./n Lien de la tâche : http://srv-gparc.intra.stjacques/taches/?get_id=%id' % item.id
  57. html_message = html_message + "<p><b>Titre :</b> " + item.Taches_Nom + "<br>"
  58. html_message = html_message + "<b>Technitien :</b> " + item.get_Taches_Tech_display() + " | Priorité : " + item.get_Tache_Priorite_display() + "<br>"
  59. if item.Tache_Statut == "PROGRAMEE":
  60. html_message = html_message + "<b>Programé le :</b> "+ item.Tache_Date_Programee.strftime('%d/%m/%Y') + " à " + item.Tache_Date_Programee.strftime('%Hh%M')+"<br>"
  61. elif item.Tache_Statut == "FINI":
  62. html_message = html_message + "<b>Terminé le :</b> "+ item.Tache_Date_Terminee.strftime('%d/%m/%Y') + " à " + item.Tache_Date_Terminee.strftime('%Hh%M')+"</p>"
  63. html_message = html_message + "<p><b>Descrpition :</b><br>"
  64. html_message = html_message + item.Taches_Commentaires + "</p>"
  65. html_message = html_message + "<p><b>Lien :</b> <a href =\"http://srv-gparc.intra.stjacques/taches/?get_id=" + str(item.id) + "\"> Lien vers la tache</a></p>"
  66. subject, from_email, to = obj_message, 'gestclin@elsan.care', 'gen.informatique@elsan.care'
  67. text_content = txt_message
  68. html_content = html_message
  69. msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
  70. msg.attach_alternative(html_content, "text/html")
  71. msg.send()
  72. return HttpResponseRedirect(reverse('parc_info_taches_show_list'))
  73. else:
  74. form = Edit_Tache_form(instance=item)
  75. html = template.render({
  76. 'form': form,
  77. 'item': item,
  78. }, request)
  79. return HttpResponse(html)