Advertisement
Guest User

Untitled

a guest
Sep 18th, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.44 KB | None | 0 0
  1. from django.shortcuts import render_to_response, get_object_or_404, get_list_or_404
  2. from django.template import RequestContext
  3. from django.contrib import auth
  4. from django.http import HttpResponse, HttpResponseRedirect
  5. from forms import LoginForm, RegisterForm
  6. from django.contrib.auth.models import User
  7. from Chatdb.models import ChatRoomForm, ChatRoom
  8. from django.contrib.auth.decorators import permission_required
  9. from django.utils import simplejson
  10. import time
  11.  
  12.  
  13. def main_page(request, email):
  14.     if request.user.is_authenticated():
  15.         rooms = ChatRoom.objects.all()
  16.         return render_to_response('main.html', {'rooms': rooms}, context_instance = RequestContext(request))
  17.     else:
  18.         return HttpResponseRedirect('/login/')
  19.  
  20. def view_regiser(request):
  21.     register_form = RegisterForm()
  22.     register_form_errors = False
  23.     if request.method == "POST":
  24.         reg_form = RegisterForm(request.POST)
  25.         if reg_form.is_valid():
  26.             passw = reg_form.password2
  27.             user = User.objects.create_user(username=reg_form.email, email=reg_form.email, password=passw)
  28.             user.user_permissions.add(19)
  29.             user.is_staff = True
  30.             user.save()
  31.             return HttpResponseRedirect('/main/')
  32.         else:
  33.             register_form_errors = RegisterForm(request.POST)
  34.             register_form = RegisterForm(request.POST, initial = {'email': reg_form.email})
  35.     return render_to_response('register.html', {'register_form': register_form, 'form_errors': register_form_errors}, context_instance = RequestContext(request))
  36.  
  37. def logout_user(request):
  38.     auth.logout(request)
  39.     return HttpResponseRedirect('/main/')
  40.  
  41. def login_user(request):
  42.     login_form = LoginForm()
  43.     if request.method == "POST":
  44.         login_user = LoginForm(request.POST)
  45.         if login_user.is_valid():
  46.             user = login_user.user_cache
  47.             auth.login(request, user)
  48.             return HttpResponseRedirect('/main/')
  49.         else:
  50.             login_form = LoginForm(request.POST, initial = {'email': request.POST.get('email')})
  51.     return render_to_response('login.html', {'login_form': login_form}, context_instance = RequestContext(request))
  52.  
  53. @permission_required('Chatdb.add_chatroom', '/autch/')
  54. def create_room(request):
  55.     create_form = ChatRoomForm()
  56.     if request.method == 'POST':
  57.         form = ChatRoomForm(request.POST)
  58.         if form.is_valid():
  59.             save_room = ChatRoom.objects.create(name = request.POST.get('name'), author_name = request.user.username, notes = request.POST.get('notes'))
  60.             return HttpResponseRedirect('/main/')
  61.         else:
  62.             create_form = ChatRoomForm(request.POST)
  63.             render_to_response('create_room.html', {'create_form': create_form}, context_instance = RequestContext(request))
  64.     return render_to_response('create_room.html', {'create_form': create_form}, context_instance = RequestContext(request))
  65.  
  66. def autch(request):
  67.     return render_to_response('autch.html')
  68.  
  69. @permission_required('Chatdb.add_chatroom', '/autch/')
  70. def chat_room_details(request, id):
  71.     room_name = get_object_or_404(ChatRoom, id = id)
  72.     return render_to_response('chat_room_details.html', {'room_name': room_name}, context_instance = RequestContext(request))
  73.  
  74. all_message = []
  75.  
  76. def send_message(request):
  77.     message = request.GET.get('message')
  78.     user_name = request.GET.get('user_name')
  79.     room_id = request.GET.get('room_id')
  80.     temp_time = time.gmtime(time.time())
  81.     send_time = "%s:%s:%s" % (temp_time.tm_hour + 2, temp_time.tm_min, temp_time.tm_sec)
  82.     all_message.append("%s###%s###%s###%s" % (user_name, message, send_time, room_id))
  83.     response = {'success': True, 'message': message, 'user_name': user_name, 'send_time': send_time}
  84.     json=simplejson.dumps(response);
  85.     return HttpResponse(json, mimetype='application/json')
  86.  
  87.  
  88. def update_message(request):
  89.     message_count = request.GET.get('message_count')
  90.     user_name = request.GET.get('user_name')
  91.     room_id = request.GET.get('room_id')
  92.     difference = 0
  93.     new_mass = []
  94.     mass = []
  95.     room_message = []
  96.     for i in all_message:
  97.         j = i.split('###')
  98.         if j[3] == room_id:
  99.             room_message.append("%s###%s###%s###%s" % (j[0], j[1], j[2], j[3]))
  100.     len_mass = len(room_message)
  101.     if len_mass != int(message_count):
  102.         difference =  len_mass - int(message_count)
  103.         for i in room_message:
  104.             j = i.split("###")
  105.             if j[0] != user_name and int(message_count) != 0:
  106.                 new_mass.insert(0, "%s###%s###%s" % (j[0], j[1], j[2]))
  107.             elif int(message_count) == 0:
  108.                 new_mass.insert(0, "%s###%s###%s" % (j[0], j[1], j[2]))
  109.         k = 0
  110.         while(difference > k):
  111.             mass.append(new_mass[k])
  112.             k = k + 1
  113.         message_count = len_mass
  114.     response = {'success': True, 'mass': mass, 'messge_count': message_count}
  115.     json=simplejson.dumps(response);
  116.     return HttpResponse(json, mimetype = 'application/json')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement