def create_message(request, s_id): if request.method == 'POST': service_obj = get_object_or_404(service, service_id=s_id) message_text = request.POST.get('msg') response_data = {} message = Message(content=message_text, user=request.user, service=service_obj) message.save() print(message) response_data['result'] = 'Create post successful!' response_data['pk'] = message.pk response_data['content'] = message.content response_data['timestamp'] = timezone.localtime( timezone.now()).strftime('%B %d, %Y %I:%M %p') response_data['user'] = message.user.username return HttpResponse(json.dumps(response_data), content_type="application/json") else: return HttpResponse(json.dumps( {"nothing to see": "this isn't happening"}), content_type="application/json")
def form(request): """Page with feedback form.""" grp = get_info(request) error = '' name = '' email = '' message = '' ans = 'no' answers = [] if request.user.is_authenticated(): name = request.user.first_name email = request.user.email msgs = Message.objects.filter(name=request.user.first_name) for msg in msgs: if msg.answer != '': answers.append({'message': msg.text, 'answer': msg.answer}) if len(answers) > 0: ans = 'yes' if request.method == "POST": try: name = request.POST['Name'] email = request.POST['Email'] message = request.POST['Message'] em = re.compile( r'^[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,6}$') if name == '' or email == '' or message == '' or name == 'Name' or message == 'Your message': raise Exception('Some of the fields are empty.') elif len(name) > 29: raise Exception('Name is too long.') elif not em.match(email): raise Exception('Email is not valid.') elif len(message) < 6: raise Exception('Your message is too short.') except Exception as ex: error = ex else: submit_date = datetime.now() user_ip = get_ip(request) if request.user.is_authenticated(): usr = User.objects.get(username=request.user.username) usr.first_name = name usr.save() sub = Message(name=name, email=email, text=message, ip_address=str(user_ip), add_date=submit_date) sub.save() return HttpResponseRedirect(reverse('thx', args=(name, ))) return render( request, 'main/form.html', { 'error_message': error, 'name': name, 'email': email, 'message': message, 'ans': ans, 'answers': answers, 'group': grp })
def forum(request): if request.method == 'POST': text = request.POST.get('input_message', '') if text: new_message = Message() new_message.text = text new_message.save() messages = Message.objects.all() return render(request, 'forum.html', {'messages': messages})
def createNewProjectTeamMessage(project_team): title = 'Zaproszenie do grupa projektowa' text = 'Czy chcesz zaakceptować zaproszenie do grupy projektu: ' + project_team.project.name + '\n' text += "Członkowie grupy: \n" for student in project_team.studentuser_set.all(): text += student.profile.first_name + ' ' + student.profile.last_name + '\n' message = Message(title=title, text=text) message.save() return message
def forum(request): if request.method == 'POST': message = Message( text=request.POST['message'], author=request.user, date=timezone.now()) message.save() return HttpResponseRedirect("/forum") # Helps refreshing messages = Message.objects.all() return render(request, 'main/forum.html', {'messages': messages})
def form(request): """Page with feedback form.""" grp = get_info(request) error = '' name = '' email = '' message = '' ans = 'no' answers = [] if request.user.is_authenticated(): name = request.user.first_name email = request.user.email msgs = Message.objects.filter(name=request.user.first_name) for msg in msgs: if msg.answer != '': answers.append({'message':msg.text, 'answer':msg.answer}) if len(answers) > 0: ans = 'yes' if request.method == "POST": try: name = request.POST['Name'] email = request.POST['Email'] message = request.POST['Message'] em = re.compile(r'^[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,6}$') if name == '' or email == '' or message == '' or name == 'Name' or message == 'Your message': raise Exception('Some of the fields are empty.') elif len(name) > 29: raise Exception('Name is too long.') elif not em.match(email): raise Exception('Email is not valid.') elif len(message) < 6: raise Exception('Your message is too short.') except Exception as ex: error = ex else: submit_date = datetime.now() user_ip = get_ip(request) if request.user.is_authenticated(): usr = User.objects.get(username = request.user.username) usr.first_name = name usr.save() sub = Message(name = name, email = email, text = message, ip_address = str(user_ip), add_date=submit_date) sub.save() return HttpResponseRedirect(reverse('thx', args=(name,))) return render(request, 'main/form.html', { 'error_message':error, 'name':name, 'email':email, 'message':message, 'ans':ans, 'answers':answers, 'group':grp })
def on_data(self, data): message = json.loads(data) print message if 'text' in message: tweet = re.search("(#\S+)", str(message['text'])) hashtag = tweet.group(1) print hashtag print self.pubnub.publish({ 'channel': hashtag, 'message': { 'message': str(message['text']) } }) wall = Wall.objects.filter(hashtag__iexact=hashtag) if len(wall) > 0: message2 = Message() message2.message = str(message['text']) message2.hashtag = hashtag message2.twitter_account = str(message['user']['screen_name']) message2.wall = wall[0] print "Saving message" message2.save() else: print message return True
def send_message(message_to, message_from, message_text, type_of_message): """ This function allows you to send a notification to a particular user. Must specify a FingrUser to, from, as well as the message itself. In the future we will probably need to add a type of message such as alert, or something like that """ user_to = message_to message = Message(text=message_text, sentFrom=message_from, type=type_of_message, sentTo=user_to) message.save() user_to.save() user_to.messages.add(message) message_from.save() message_from.messages.add(message)
def handle(self, *args, **options): if options['dry_run']: self.stdout.write("%d messages would have been sent." % Message.objects.unsent().count()) return sent_count = Message.send_unsent() self.stdout.write("%d messages were sent." % sent_count)
def do_echo(update: Update, context: CallbackContext): chat_id = update.message.chat_id text = update.message.text p, _ = Profile.objects.get_or_create(external_id=chat_id, defaults={ 'name': update.message.from_user.username, }) m = Message( profile=p, text=text, ) m.save() reply_text = f"Your ID: {chat_id}\nMessage ID: {m.pk}\n{text}" update.message.reply_text(text=reply_text, )
def post(self, request): if self.request.user.is_staff: team = Team.objects.get(pk=int(self.request.GET['team'])) message = Message(team=team, text=request.POST["msg"], judges=True) message.save() else: team = get_team(self.request.user) if team is not None: message = Message(team=team, text=request.POST["msg"], judges=False) message.save() return self.get(request)
def do_send_message(receiver_ids, sender_id, content, item_id=None): """ Send message to one or more followers. """ if len(receiver_ids) == 0: return "收件人为空,或没有关注你!" if not content.strip() and not item_id: return "发送内容不能为空!" if len(content) > 500: return "回复内容不能超过500个字符。" for receiver_id in receiver_ids: receiver_id = long(receiver_id) try: receiver = Profile.objects.get(pk=receiver_id) if receiver_id != sender_id: User_User.objects.get(follower=receiver_id, followed=sender_id) message = Message(content=content, date=datetime.datetime.now()) message.receiver_id = receiver_id message.sender_id = sender_id if item_id: message.item_id = item_id message.save() receiver.message_count += 1 receiver.save() except Profile.DoesNotExist: return "收件人不存在!" except User_User.DoesNotExist: return "收件人" + receiver.name + "没有关注你,不能发站内信哦!" return "success"
def answer_message(request, id): # id_ = request.session['child_id'] message = Message.objects.get(id=id) id_from = message.message_from_id id_ = message.child_id print('______________________child form', id_, id_from) if request.method == 'POST': Message(content=request.POST['content'], child_id=id_, message_from_id=request.session['id_parent_parent'], message_to_id=id_from).save() return render(request, 'msg.html')
def newMessage(request, user_id="0"): if request.method == 'POST': f = forms.MessageForm(request.POST) if f.is_valid(): message = Message() message.subject = f.cleaned_data['subject'] message.content = f.cleaned_data['content'] message.date_created = datetime.now() message.user_to = User.objects.get(login=f.cleaned_data['user_to']) try: message.user_from = User.objects.get(login=request.session['login']) except: return redirect('/') message.save() return redirect('/') else: f = forms.MessageForm userID = int(user_id) if userID > 0: user = User.objects.get(id=userID) f = forms.MessageForm(initial={'user_to' : user.login}) return render_to_response('new_message.html', RequestContext(request, {'formset': f}))
def message(): form = MessageForm() if form.validate_on_submit(): title = form.title.data body = form.body.data message = Message(title=title, body=body, user_id=current_user.id) db.session.add(message) db.session.commit() flash('已成功发送', 'info') return redirect(url_for('message')) page = request.args.get('page', 1, type=int) per_page = app.config['MESSAGE_PER_PAGE'] pagination = Message.query.order_by(Message.timestamp.desc()).paginate( page, per_page=per_page) messages = pagination.items return render_template('message.html', pagination=pagination, messages=messages, bs=bs, form=form)
def send_message(message): room = message['room'] db_room = Room.query.filter_by(name=room).first() save_message = Message(body=message['data'], user=current_user, room=db_room) db.session.add(save_message) db.session.commit() emit('new_message', { 'type': 'message', 'message_html': render_template('chat/_new_message.html', message=save_message), 'message_body': message['data'], 'gravatar': current_user.gravatar, 'nickname': current_user.nickname, 'user_id': current_user.id }, room=message['room'])
def do_reply(receiver_id, reply_to_id, sender_id, content): """Reply a message""" if not content.strip(): return "回复内容不能为空!" if len(content) > 500: return "回复内容不能超过500个字符。" # The best way is check in browser using js try: receiver = Profile.objects.get(pk=receiver_id) main_msg = Message.objects.get(pk=reply_to_id) if main_msg.sender_id != sender_id and main_msg.receiver_id != sender_id: return "回复失败" new_message = Message(content=content, date=datetime.datetime.now()) new_message.receiver_id = receiver_id new_message.sender_id = sender_id new_message.reply_to_id = reply_to_id new_message.save() if main_msg.deleted_by_receiver: count = Message.objects.filter(receiver=receiver_id, unread=True, reply_to=Message(reply_to_id)).count() if main_msg.unread: count += 1 receiver.message_count += count receiver.save() main_msg.deleted_by_receiver = False elif main_msg.deleted_by_sender: count = Message.objects.filter(receiver=receiver_id, unread=True, reply_to=Message(reply_to_id)).count() receiver.message_count += count receiver.save() main_msg.deleted_by_sender = False else: receiver.message_count += 1 receiver.save() main_msg.save() Message.objects.filter(reply_to=Message(reply_to_id)).update(deleted_by_receiver=False, deleted_by_sender=False) return "success" except Profile.DoesNotExist: return "收件人不存在!" except Message.DoesNotExist: return "回复的信件不存在!"
def forge(message): """Generate fake data.""" import random, json from sqlalchemy.exc import IntegrityError from faker import Faker fake = Faker(locale='en_GB') click.echo('Initializing the database...') db.drop_all() db.create_all() click.echo('Forging the data...') admin = User(nickname='Fanco', email='*****@*****.**') admin.set_password('123456') db.session.add(admin) db.session.commit() click.echo('Generating users...') for i in range(30): user = User( nickname=fake.name(), email=fake.email()) db.session.add(user) db.session.commit() click.echo('Generating rooms...') for i in range(7): leader = User.query.get(random.randint(1, User.query.count())) room = Room( name=fake.word(), leader=leader.nickname ) room.users.append(leader) print(room.name, room.leader) users_list = [User.query.get(random.randint(1, User.query.count())) for i in range(1,random.randrange(4,6))] for user in users_list: room.users.append(user) print("room:",room, ";members:",room.users) db.session.add(room) db.session.commit() # click.echo('Generating users...') # for i in range(30): # user = User( # nickname=fake.name(), # email=fake.email(), # room=Room.query.get(random.randint(1, Room.query.count())), # ) # db.session.add(user) # try: # db.session.commit() # except IntegrityError: # db.session.rollback() click.echo('Generating messages...') for i in range(message): set_room = Room.query.get(random.randint(1, Room.query.count())) set_user = random.choice(set_room.users) message = Message( user=set_user, body=fake.sentence(), timestamp=fake.date_time_between('-30d', '-2d'), room=set_room ) db.session.add(message) db.session.commit() click.echo('Generating words...') file = os.path.join(os.path.split(os.path.dirname(__file__))[0], 'topic.json') with open(file, 'r') as f: questions = json.load(f) print(questions) print(type(questions)) for category in questions: for word in questions[category]: new_instance = Word(name=word, category=category) db.session.add(new_instance) print(word) try: db.session.commit() except IntegrityError: db.session.rollback() click.echo('Done.')
def forum(request): if request.method == 'POST': message = Message(text = request.POST.get('messagetext', '')) message.save() messages = Message.objects.all() return render(request, 'forum.html', {'messages': messages})
def contact1(request): p = Message(subject='Test_subj', message='Test_message', email='*****@*****.**') p.save() return HttpResponseRedirect('/contact/')
def forum(request): if request.method == 'POST': message = Message(text=request.POST.get('messagetext', '')) message.save() messages = Message.objects.all() return render(request, 'forum.html', {'messages': messages})