def create(self, request): activity_id = request.POST.get("activity_id", 0) text = request.POST.get("text", "") service = request.POST.get("service", "dev") try: #TODO 检查用户是否有权限发布消息 activity = Activity.objects.get(pk=activity_id) except Activity.DoesNotExist: activity = None if not activity: return rc.NOT_FOUND if "" == text: empty = rc.BAD_REQUEST empty.write("Text can not empty.") return empty ip_address = utils.get_client_ip(request) chat = Chat(user=request.user, activity=activity, text=text, \ ip=ip_address) chat.save() notification = push_models.Notification(message=text) notification.extra = {\ 'activity_id': activity_id, 'chat_id': chat.id, 'user_id': request.user.id, 'chat_text': text, 'type': 'chat', } devices = activity.devices(service, exclude=[request.user]) send_notification(devices, service, notification) return chat
def form_valid(self, form): if self.can_not_send_mess: self.set_message( u'Вы не можете добавлять коментарии не ко своим вопросам', True) return self.form_invalid(form) body = form.cleaned_data['body'] file = form.cleaned_data['file'] new_msg = Chat(question=self.question, admin_name=self.user, body=body, date=now()) new_msg.save() if file: new_file = Files(content_object=new_msg, file=file, name=file.name, size=file.size, date=now()) new_file.save() answers_count = Chat.objects.filter(question=self.question).count() self.question.answers = answers_count self.question.save() self.set_message(u'Ответ успешно добавлен.') return super(QuesChatForm, self).form_valid(form)
def post_chat(request): if request.method == 'POST': response = request.META.get('HTTP_REFERER', '/') chat = Chat() chat.content = request.POST.get('chat_content') chat.sender = request.user chat.save() return HttpResponseRedirect(response) else: raise Http404
def chat_new(request): chat_users = User.objects.filter(id__in= request.POST.getlist("users[]")) chat = Chat(title=request.POST["title"]) chat.save() for user in chat_users: chat_user = ChatUserList(chat= chat, user= user) chat_user.save() data = simplejson.dumps({'chat_id': chat.id, 'title': chat.title}) return HttpResponse(data, content_type='application/json')
def add_chat(request): text = str(request.GET.get("text", "")) name = str(request.GET.get("name", "")) if text == "" or name == "": return JsonResponse({'status': 'ERROR'}) chat = Chat() chat.name = name chat.chat = text chat.save() return JsonResponse({'status': 'OK'})
def create_chat(request): if request.user.is_authenticated(): chat_name = request.POST['chat_name'] chat = Chat( chat_name = chat_name, start_time = timezone.now(), owner = str(request.user), ) chat.save() return redirect('chat', id=chat.id) else: return redirect('/', status = 403)
def say(request): req = simplejson.loads(request.raw_post_data) username = req['username'] content = req['content'] if not content: return HttpResponse(simplejson.dumps({'success':False}), mimetype = 'application/json') chat = Chat() chat.content = content chat.username = username chat.save() return HttpResponse(simplejson.dumps({'success':True}), mimetype = 'application/json')
def save_message(request): context = RequestContext(request) chat = ChatClass(request.session) if request.method == 'POST': send = Chat( name = chat.get_login(), message = unicode(request.POST['message']), time = datetime.datetime.now(), session = chat.get_session() ) send.save() return get_message(request)
def chat(self, *args, **kwargs): errors = {} if 'message' not in kwargs or len(kwargs['message']) is 0: errors['message'] = 'Enter a chat message' if errors: self.send_error(errors) else: self.send({'status': 'ok'}) chat = Chat() chat.text = kwargs['message'] chat.user_receive_id = kwargs['user'] chat.user_sent = User.objects.get(id=kwargs['user_sent']) chat.save() self.publish(self.get_subscription_channels(), kwargs)
def say(request): req = simplejson.loads(request.raw_post_data) username = req['username'] content = req['content'] if not content: return HttpResponse(simplejson.dumps({'success': False}), mimetype='application/json') chat = Chat() chat.content = content chat.username = username chat.save() return HttpResponse(simplejson.dumps({'success': True}), mimetype='application/json')
def form_valid(self, form): if self.can_not_send_mess: self.set_message(u'Вы не можете добавлять коментарии не ко своим вопросам', True) return self.form_invalid(form) body = form.cleaned_data['body'] file = form.cleaned_data['file'] new_msg = Chat(question=self.question, admin_name=self.user,body=body, date=now()) new_msg.save() if file: new_file = Files(content_object=new_msg, file=file, name=file.name, size=file.size, date=now()) new_file.save() answers_count = Chat.objects.filter(question=self.question).count() self.question.answers = answers_count self.question.save() self.set_message(u'Ответ успешно добавлен.') return super(QuesChatForm, self).form_valid(form)
def create(request): """Creates a new chat object. FIXME: If the given name is taken, this will just silently redirect the user to the already-created chat with that name without telling them that they did not create a new chat.""" name = request.POST.get('name') if not name: return HttpResponseRedirect(reverse('index')) slug = slugify(name) chat = Chat(name=name, slug=slug, is_public=True, created_by=request.user) try: chat.save() except: # For now, if a chat with the same slug has already been created # just silently redirect to that chat. pass # Redirect the user to the URL for their new chat. return HttpResponseRedirect(chat.get_absolute_url())
def __store_chat(request, talker, message): client_ip = request.META['REMOTE_ADDR'] chat = Chat(client_ip=client_ip, message=message, talker=talker) chat.save()