def send_message_view(request): if (request.method == "POST"): form = SendMessageForm(request.POST) if (form.is_valid()): push_ids = [] for rider in Rider.objects.iterator(): if rider.push_id is not None and len(rider.push_id) > 0: push_ids.append(rider.push_id) if len(push_ids) > 0: headers = {} headers[settings. GCM_API_KEY_HEADER] = 'key=' + settings.GCM_API_KEY headers['Content-Type'] = 'application/json' data = {} data['registration_ids'] = push_ids data['data'] = {} data['data']['msg'] = form.cleaned_data[ 'message'] # For legacy sake (last sr project) data['data']['message'] = form.cleaned_data['message'] req = Request(settings.GCM_SEND_URL, json.dumps(data), headers) urlopen(req) messages.success(request, 'Message was sent successfully.') else: messages.info(request, 'No riders to message.') else: form = SendMessageForm() return render(request, 'send_message.html', {'form': form})
def sendMessage(request): if request.method=='GET': form = SendMessageForm() return render_to_response('jqmform.html',{'title':'title','form':form}) else: form = SendMessageForm(request.POST) if form.is_valid(): sender_id = form.data['sender'] sender = WeixinApp.objects.get(pk=sender_id) now = int(time.time()) logger.debug(str(now) + ':' + str(sender.expire)) if now>sender.expire: # token已经过期 url = 'https://api.weixin.qq.com/cgi-bin/token?' + urllib.urlencode({ 'grant_type':'client_credential', 'appid':sender.app_id, 'secret':sender.app_secret, }) logger.debug(url) f = urllib.urlopen(url) jobj = json.load(f) f.close() logger.debug('Thread return 1: ' + str(jobj)) if jobj.has_key('errmsg'): logger.error('WX get error: ' + jobj['errmsg']) return render_to_response('errorMessage.html',{'errorMessage':jobj['errmsg']}) else: access_token = jobj['access_token'] sender.expire = now + jobj['expires_in'] sender.access_token = access_token sender.save() else: access_token = sender.access_token logger.debug('access_token is ' + access_token) receiver = form.data['receiver'] message = form.data['message'] msg = {'touser':receiver,'msgtype':'text','text':{'content':message}} #logger.debug(json.dumps(msg)) url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?" + urllib.urlencode({ 'access_token':access_token, }) req = urllib2.Request(url, json.dumps(msg), {'Content-Type': 'application/json'}) f = urllib2.urlopen(req) jobj = json.load(f) f.close() logger.debug('Thread return 2: ' + str(jobj)) if jobj.has_key('errmsg'): logger.error('WX get error: ' + jobj['errmsg']) return render_to_response('errorMessage.html',{'errorMessage':jobj['errmsg']}) else: return render_to_response('errorMessage.html',{'errorMessage':'发送成功'}) else: return render_to_response('jqmform.html',{'title':'title','form':form})
def send(recv): form = SendMessageForm(request.form) _recv = urllib.unquote(recv) receiver = User.query.filter(User.username == _recv.strip()).first() if not receiver: flash(u"未知用户%s" % _recv) return redirect(url_for(".sendto") or "/") if request.method == "POST" and form.validate(): msg = create_message( sender_id=current_user.id, recv=receiver, title=form.data["title"], content=form.data["content"] ) return render_template("send_ok.html", msg=msg) return render_template("send_message.html", form=form, actionurl=url_for(".send", recv=recv))
def send_message(): """ function that takes input from form and validates. takes the input and sends the message, and adds the message to message db. """ form = SendMessageForm() if form.validate_on_submit(): send_sms(form.pnumber.data, form.message.data) message = Message(pnumber = form.pnumber.data, message=form.message.data, time=datetime.utcnow(), sender=True) db.session.add(message) db.session.commit() flash(f'Message, ({form.message.data}) sent to {form.pnumber.data}!', 'success') return redirect(url_for('list_message')) return render_template('send_message.html', title='Send Message', form=form)
def game(): """Chat room. The user's name and room must be stored in the session.""" form = SendMessageForm() name = session.get('name', '') room = session.get('room', '') cur_user_id = session.get('cur_user_id', '') current_user = db.session.query(User).filter_by(id=cur_user_id).first() #current_user.isready = 1 #location = session.get('location', '') room1 = db.session.query(Rooms).filter_by(s_id=room).first() location_id = room1.location_id location = db.session.query(Location).filter_by(id=location_id).first() start_time = room1.start_time session['time'] = str(start_time) if name == '' or room == '': return redirect(url_for('.index')) return render_template('game.html', name=name, form=form, room=room, title="Игра", current_user=current_user, location=location, start_time=start_time)
def send(recv): form = SendMessageForm(request.form) _recv = urllib.unquote(recv) receiver = User.query.filter(User.username == _recv.strip()).first() if not receiver: flash(u'未知用户%s' % _recv) return redirect(url_for(".sendto") or '/') if request.method == 'POST' and form.validate(): msg = create_message(sender_id=current_user.id, recv=receiver, title=form.data['title'], content=form.data['content']) return render_template("send_ok.html", msg=msg) return render_template("send_message.html", form=form, actionurl=url_for(".send", recv=recv))
def send(self): from forms import SendMessageForm from uliweb.core.html import Tag from sqlalchemy.sql import select, func from uliweb.utils.textconvert import text2html User = get_model('user') form = SendMessageForm() if request.method == 'GET': SendMessageForm.users.choices = [] return {'form': form.build, 'ok': False} if request.method == 'POST': flag = form.validate(request.POST) if flag: u = get_model('user') for u in form.users.data: _id = int(u) user = User.get(_id) functions.send_message(request.user, user, text2html(form.message.data)) flash(_('Send message successful!')) return redirect(url_for(MessageView.sended_list)) else: #process select values choices = [] for u in form.users.data: _id = int(u) user = User.get(_id) if user: choices.append((str(user.id), unicode(user))) SendMessageForm.users.choices = choices if '_' in form.errors: message = form.errors['_'] else: message = _('There are something wrong, please fix them') flash(message, 'error') return {'form': form.build, 'ok': False}
def send(self): from forms import SendMessageForm from uliweb.core.html import Tag from sqlalchemy.sql import select,func from uliweb.utils.textconvert import text2html User = get_model('user') form = SendMessageForm() if request.method == 'GET': SendMessageForm.users.choices = [] return {'form':form.build, 'ok':False} if request.method == 'POST': flag = form.validate(request.POST) if flag: u = get_model('user') for u in form.users.data: _id = int(u) user = User.get(_id) functions.send_message(request.user, user, text2html(form.message.data)) flash(_('Send message successful!')) return redirect(url_for(MessageView.sended_list)) else: #process select values choices = [] for u in form.users.data: _id = int(u) user = User.get(_id) if user: choices.append((str(user.id), unicode(user))) SendMessageForm.users.choices = choices if '_' in form.errors: message = form.errors['_'] else: message = _('There are something wrong, please fix them') flash(message, 'error') return {'form':form.build, 'ok':False}
def send_message(): if 'username' in session: form = SendMessageForm() if request.method == 'POST': newmsg = Message(session['username'],form.msg.data, session['chall']) db.session.add(newmsg) db.session.commit() user_msg = "Message sent to Admin" return render_template("send_message.html", form=form, msg=user_msg) elif request.method == 'GET': return render_template("send_message.html", form=form) else: return redirect(url_for("login"))
def channel(): form = SendMessageForm() link = request.args.get('link') channel = engine_query('getChannelByLink', [link]) if not channel: return render_template('channel.html', head='No such channel', data='') if request.method == 'GET': #eprint(channel[0]) #eprint(channel[0].encode('ASCII')) messages = engine_query('getMessages', [channel[0]]) return render_template('channel.html', form=form, head=channel[1], link=link, data=messages) elif request.method == 'POST': engine_query('addMessage', [channel[0], current_user.id, form.text.data]) messages = engine_query('getMessages', [channel[0]]) return render_template('channel.html', form=form, head=channel[1], link=link, data=messages)
def messages(): messages = [] sentMessages = [] sendMessageForm = SendMessageForm() updateMessageForm = UpdateMessageForm() messages = db.getIncomingMessagesByUserId(db.userid) sentMessages = db.getSentMessagesByUserId(db.userid) #testMessage = ["Emre", "Reyhanlioglu", "Test topic", "Test message", "16.12.2019: 16:39", "High", "4"] #sentMessages.append(testMessage) #testMessage = ["Emre R", "Test topic", "Test message", "16.12.2019: 16:39", "High"] #messages.append(testMessage) if request.method == "POST": if request.form["btn"] == "sendMessage": receiverName = sendMessageForm.receiverName.data receiverSurname = sendMessageForm.receiverSurname.data topic = sendMessageForm.topic.data message = sendMessageForm.message.data priority = sendMessageForm.priority.data checkedUserId = db.getUserIdByNameAndSurname( receiverName, receiverSurname) if checkedUserId is None: print('USER DOES NOT EXIST') return render_template('messages.html', messages=messages, sendMessageForm=sendMessageForm, updateMessageForm=updateMessageForm, sentMessages=sentMessages) senderId = db.userid senderUser = db.getProfileInformations(senderId) senderName = senderUser[3] senderSurname = senderUser[4] receiverId = db.getUserIdByNameAndSurname(receiverName, receiverSurname) newMessage = [ senderId, receiverId, senderName, senderSurname, topic, message, priority ] db.insertMessage(newMessage) messages = db.getIncomingMessagesByUserId(db.userid) sentMessages = db.getSentMessagesByUserId(db.userid) return render_template('messages.html', messages=messages, sendMessageForm=sendMessageForm, updateMessageForm=updateMessageForm, sentMessages=sentMessages) elif request.form["btn"] == "updateMessage": #print('UPDATE MESSAGE CALLED') messageId = int(updateMessageForm.messageId.data) topic = updateMessageForm.topic.data message = updateMessageForm.message.data priority = updateMessageForm.priority.data newMessage = [topic, message, priority] db.updateMessageByMessageId(messageId, newMessage) #UPDATE UI AFTER EDITING A MESSAGE sentMessages = db.getSentMessagesByUserId(db.userid) messages = db.getIncomingMessagesByUserId(db.userid) return render_template('messages.html', messages=messages, sendMessageForm=sendMessageForm, updateMessageForm=updateMessageForm, sentMessages=sentMessages) else: deletedMessageId = int(request.form['btn']) #print('DELETED MESSAGE ID is {}'.format(deletedMessageId)) db.deleteMessageById(deletedMessageId) messages = db.getIncomingMessagesByUserId(db.userid) return render_template('messages.html', messages=messages, sendMessageForm=sendMessageForm, updateMessageForm=updateMessageForm, sentMessages=sentMessages) return render_template('messages.html', messages=messages, sendMessageForm=sendMessageForm, updateMessageForm=updateMessageForm, sentMessages=sentMessages)