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()
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}))
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')
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)
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('/')
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)
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
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()
def sendmsg(user, message): """ Send a User Message to the user """ msg = UserMessage(um_user=user, um_contents=message) msg.save()
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')})