Exemple #1
0
    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
Exemple #2
0
 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)
Exemple #3
0
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
Exemple #4
0
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')
Exemple #5
0
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'})
Exemple #6
0
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)
Exemple #7
0
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')
Exemple #8
0
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)
    
Exemple #9
0
 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)
Exemple #10
0
 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)
Exemple #11
0
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')
Exemple #12
0
 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)
Exemple #13
0
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())
Exemple #14
0
def __store_chat(request, talker, message):
    client_ip = request.META['REMOTE_ADDR']
    chat = Chat(client_ip=client_ip, message=message, talker=talker)
    chat.save()