Esempio n. 1
0
    def create(self, request, message_pk):
        """Create a response for a message"""
        if not self.user.is_postulant:
            content = {
                'unauthorized': '401 - only postulant can send response'
            }
            return Response(content, status=status.HTTP_401_UNAUTHORIZED)

        message = UserMessage(id=message_pk, postulant=request.user)

        if not message:
            content = {'badrequest': '400 - message not found'}
            return Response(content, status=status.HTTP_400_BAD_REQUEST)

        serializer = UserMessageSerializer(data=request.data)
        if serializer.is_valid():
            # XXX use request.data because when get from serializer.data raise
            # KeyError for some fields.

            # make the response message
            response = UserMessage()
            response.message = request.data['message']
            response.employer = message.employer
            response.postulant = message.postulant

            if message.postulation:
                response.postulation = message.postulation

            elif message.cvrequest:
                response.cvrequest = message.cvrequest

            response.save()

            # make relation between message and response
            message.response = response
            message.save()

            # Send email to employer if the preference is set, this setting
            # depend if the message generated by spontaneous cv or by
            # postulation
            if (response.postulation
                    and response.postulation.job.send_cvs_by_mail):
                response.employer.send_usermessage_email(response)

            elif response.employer.cv_spontany:
                response.employer.send_usermessage_email(response)

            return Response({'status': _('Mensaje enviado')})

        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
 def saveUserMessage(userId, message, messageType):
     um = UserMessage(userId=userId,
                      eventTime=datetime.now(),
                      message=message[:200],
                      messageType=str(messageType))
     db.session.add(um)
     db.session.commit()
Esempio n. 3
0
def create_debate(req):
    if req.method == "POST":
        form = CreateDebateForm(req.POST)
        if form.is_valid():
            deb = Debate(
                title=form.cleaned_data['title'],
                summary=form.cleaned_data['summary'],
                instigator=req.user,
                challenged_users=form.cleaned_data['challenged_users'])
            deb.save()

            if not deb.accept_all_challengers():
                # add message for each challenged user.
                for uname in deb.get_challenged_usernames():
                    u = User.objects.get(username=uname)
                    msg = UserMessage(recipient=u,
                                      message="new challenge: %s" % deb.title,
                                      sender=deb.instigator)
                    msg.save()

            return HttpResponseRedirect('/')
    else:
        form = CreateDebateForm()

    return render_to_response("create_debate.html",
                              RequestContext(req, {"form": form}))
Esempio n. 4
0
def send_message():

    if request.method == 'POST':
        sender = current_user.username
        receiver = request.form.get('receiver')
        text = request.form.get('message')

        newMessage = UserMessage(sender=sender,
                                 receiver=receiver,
                                 message=text)
        db_session.add(newMessage)
        db_session.commit()

        flash('Wiadomość wysłana!')
        return redirect(url_for('messages_menu'))

    return render_template('map_neigh/send_message.html')
Esempio n. 5
0
    def create_by_postulation(self, request, postulation_pk):
        """Create a message from postulation"""
        if not request.user.is_employer:
            content = {'unauthorized': '401 - only employer can send message'}
            return Response(content, status=status.HTTP_401_UNAUTHORIZED)

        serializer = UserMessageSerializer(data=request.data)
        if serializer.is_valid():
            postulation = JobPostulation(id=postulation_pk)
            user_message = UserMessage()
            user_message.employer = postulation.job.owner
            user_message.postulant = postulation.user
            user_message.message = request.data['message']
            user_message.save()
            user_message.postulant.send_usermessage_email(user_message)
            return Response({'status': _('Mensaje enviado')})
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
Esempio n. 6
0
def handle_message_like(msg_id):

    form = LikeMessageForm()

    msg = Message.query.get(msg_id)

    if form.validate_on_submit():
        if (msg not in g.user.liked_messages) and (msg not in g.user.messages):
            liked_message = UserMessage(user_liking_id=g.user.id,
                                        message_liked=msg_id)
            db.session.add(liked_message)
            db.session.commit()

        else:
            UserMessage.query.filter(
                msg.id == UserMessage.message_liked).delete()

            db.session.commit()

    return redirect('/')
Esempio n. 7
0
    def create_by_cvrequest(self, request, cvrequest_pk):
        """Create a message from cvrequest"""
        if not request.user.is_employer:
            content = {'unauthorized': '401 - only employer can send message'}
            return Response(content, status=status.HTTP_401_UNAUTHORIZED)

        serializer = UserMessageSerializer(data=request.data)
        if serializer.is_valid():
            cvrequest = CVRequest.objects.filter(id=cvrequest_pk,
                                                 status=CVREQUEST_ACCEPTED)
            if not cvrequest:
                return Response(status=status.HTTP_400_BAD_REQUEST)

            cvrequest = cvrequest[0]
            user_message = UserMessage()
            user_message.employer = cvrequest.employer.user
            user_message.postulant = cvrequest.user
            user_message.message = request.data['message']
            user_message.save()
            user_message.postulant.send_usermessage_email(user_message)
            return Response({'status': _('Mensaje enviado')})
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
Esempio n. 8
0
def messages_show(message_id):
    """Show a message."""

    msg = Message.query.get(message_id)

    form = LikeMessageForm()

    if form.validate_on_submit():
        if (msg not in g.user.liked_messages) and (msg not in g.user.messages):
            liked_message = UserMessage(user_liking_id=g.user.id,
                                        message_liked=message_id)
            db.session.add(liked_message)
            db.session.commit()
            return redirect(f'/messages/{message_id}')

        else:
            UserMessage.query.filter(
                msg.id == UserMessage.message_liked).delete()

            db.session.commit()
            return redirect(f'/messages/{message_id}')

    else:
        return render_template('messages/show.html', form=form, message=msg)
from django.test import TestCase
from models import UserMessage

# Create your tests here.
tables = UserMessage()
print "get datatable:"
print "access datatable:", tables.name, tables.email
Esempio n. 10
0
import os
from flask_sqlalchemy import SQLAlchemy
from flask import Flask

from bot.db import db
# from models import app
from models import UserMessage
# from flask_sqlalchemy import SQLAlchemy
# create all

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL', None)
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
db.create_all()

# insert data
db.session.add(
    UserMessage(id_='test_id', type='text', user_token="token_1", text="hey"))

#
# commit the changes
db.session.commit()
Esempio n. 11
0
 def sendmsg(user, message):
     """ Send a User Message to the user """
     msg = UserMessage(um_user=user, um_contents=message)
     msg.save()
Esempio n. 12
0
 def read(self, request, message_pk):
     """Mark readed a message"""
     user_message = UserMessage(id=message_pk)
     user_message.readed_at = timezone.now()
     user_message.save()
     return Response({'status': _('Mensaje marcado como leído')})