Advertisement
Guest User

Untitled

a guest
Dec 10th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. from django.contrib.auth.decorators import login_required
  2. from django.contrib.auth.models import User
  3. from django.shortcuts import render, redirect
  4. from django.contrib.auth import authenticate
  5. from django.shortcuts import get_object_or_404
  6. import code
  7.  
  8. from .models import Room, Event, Person
  9.  
  10. def main(request):
  11. if request.method == 'POST':
  12. login = request.POST['login']
  13. password = request.POST['password']
  14. user = authenticate(username=login, password=password)
  15. if user is not None:
  16. return redirect("profile")
  17. else:
  18. return render(request, 'main.html', {'error': "Неверный пароль или логин!"})
  19. return render(request, 'main.html', {'error': " "})
  20.  
  21. def sign_up(request):
  22. if request.method == 'POST':
  23. name = request.POST['name']
  24. lastname = request.POST['lastname']
  25. login = request.POST['login']
  26. vk_id = request.POST['VK']
  27. password = request.POST['password']
  28. repassword = request.POST['repassword']
  29. if password == repassword:
  30. try:
  31. user = User.objects.create_user(username=login, password=password, email=login, first_name=name,
  32. last_name=lastname)
  33. Person.objects.get_or_create(user=user, vk_id=vk_id)
  34. return redirect("main")
  35. except:
  36. return render(request, 'sign_up.html', {'error': 'Cуществует пользователь с таким же логином'})
  37. else:
  38. return render (request, 'sign_up.html', {'error': 'Пароли не совпадают'})
  39. return render (request, 'sign_up.html', {'error': ' '})
  40.  
  41. def profile(request):
  42. return render(request, 'profile.html',
  43. {'ID': request.user.person.id ,'name': request.user.first_name, 'lastname': request.user.last_name,
  44. 'events': list(request.user.person.events.all()), 'groups': list(request.user.person.agroups.all()) + list(request.user.person.ugroups.all())})
  45.  
  46.  
  47. def sign_up_room(request):
  48. if request.method == 'POST':
  49. # data = request.POST
  50. #code.interact(local=locals())
  51. name = request.POST['room_name']
  52. cmt = request.POST['discription']
  53.  
  54. # user_ids = request.POST['members']
  55. # users = []
  56. # for id in user_ids:
  57. # user = User.objects(id=id)
  58. # if user:
  59. # users += user
  60. admin=request.user.person
  61. Room.objects.get_or_create(name=name, cmt=cmt)
  62. room = Room.objects.get(name=name)
  63. # code.interact(local=locals())
  64. room.admins=[admin]
  65. return redirect('/accounts/profile')
  66. return render(request, 'sign_up_room.html')
  67.  
  68. def room(request, room_id):
  69. if request.method == "GET":
  70. #code.interact(local=locals())
  71. room = Room.objects.get(id=room_id)
  72. admin = 0
  73. if request.user.person in room.admins.all():
  74. admin=1
  75. return render(request, "room.html", {'error': "",'room_id': room_id, 'room_name': room.name,
  76. 'members': list(room.users.all()),
  77. 'admins': list(room.admins.all()),
  78. 'admin': admin,
  79. 'events': list(room.events.all())})
  80. if request.method=="POST":
  81. id_ = request.POST["id_"]
  82. room = Room.objects.get(id=room_id)
  83. admin = 1
  84. try:
  85. user = Person.objects.get(id=id_)
  86. users = list(room.users.all()) + [user]
  87. room.users = users
  88. room.save()
  89. return render(request, "room.html", {'error': "", 'room_id': room_id, 'room_name': room.name,
  90. 'members': list(room.users.all()) + list(room.admins.all()),
  91. 'events': list(room.events.all())})
  92. except:
  93. return render(request, "room.html", {'error': "This user doesn't exist", 'room_id': room_id, 'room_name': room.name,
  94. 'members': list(room.users.all()) + list(room.admins.all()),
  95. 'events': list(room.events.all())})
  96.  
  97.  
  98.  
  99. def sign_up_event(request, room_id):
  100. if request.method == 'POST':
  101. name = request.POST['event_name']
  102. cmt = request.POST['discription']
  103. # date = str(request.POST['data']+' '+request.POST['time'])
  104. day = request.POST['data'].split()
  105. # sorry za govnokod, tak nado
  106. if int(day[0])<10:
  107. day[0]='0'+day[0]
  108. months = ['January,', 'February,', 'March,', 'April,', 'May,', 'June,', 'Jule,', 'August,', 'September,', 'October,', 'November,', 'December,']
  109. for i in range(12):
  110. if day[1]==months[i]:
  111. day[1]=str(i+1)
  112. if int(day[1])<10:
  113. day[1]='0'+day[1]
  114. date = str(day[2]+'-'+day[1]+'-'+day[0]+' '+request.POST['time'])
  115.  
  116.  
  117. Event.objects.get_or_create(name=name, cmt=cmt, date=date, room=Room.objects.get(id=room_id))
  118. return redirect("/accounts/room/{0}".format(room_id))
  119. return render(request, 'sign_up_event.html')
  120.  
  121. def event(request, event_id):
  122. if request.method == "GET":
  123. event = Event.objects.get(id=event_id)
  124. admin = 1
  125. return render(request, 'event.html', {'admin': admin, 'event_name': event.name, 'members': list(event.users.all()), 'time': event.date, 'discription': event.cmt})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement