def messages(request): username = request.session["username"] user = Member.objects.get(pk=username) # Whose message's are we viewing? if "view" in request.GET: view = request.GET["view"] else: view = username recip = Member.objects.get(pk=view) # If message was deleted if "erase" in request.GET: msg_id = request.GET["erase"] Message.objects.get(id=msg_id).delete() # If text was posted then save on DB if "text" in request.POST: text = request.POST["text"] pm = request.POST["pm"] == "0" message = Message(user=user, recip=recip, pm=pm, time=timezone.now(), text=text) message.save() messages = Message.objects.filter(recip=recip) profile_obj = Member.objects.get(pk=view).profile profile = profile_obj.text if profile_obj else "" return render( request, "social/messages.html", { "appname": appname, "username": username, "profile": profile, "view": view, "messages": messages, "loggedin": True, }, )
def messages(request): username = request.session['username'] user = Member.objects.get(pk=username) # Whose message's are we viewing? if 'view' in request.GET: view = request.GET['view'] else: view = username recip = Member.objects.get(pk=view) # If message was deleted if 'erase' in request.GET: msg_id = request.GET['erase'] Message.objects.get(id=msg_id).delete() # If text was posted then save on DB if 'text' in request.POST: text = request.POST['text'] pm = request.POST['pm'] == "0" message = Message(user=user, recip=recip, pm=pm, time=timezone.now(), text=text) message.save() messages = Message.objects.filter(recip=recip) profile_obj = Member.objects.get(pk=view).profile profile = profile_obj.text if profile_obj else "" return render( request, 'social/messages.html', { 'appname': appname, 'username': username, 'profile': profile, 'view': view, 'messages': messages, 'loggedin': True })
def messages(request): username = request.session['username'] user = Member.objects.get(pk=username) # Whose message's are we viewing? if 'view' in request.GET: view = request.GET['view'] else: view = username recip = Member.objects.get(pk=view) # If message was deleted if 'erase' in request.GET: msg_id = request.GET['erase'] Message.objects.get(id=msg_id).delete() # If text was posted then save on DB if 'text' in request.POST: text = request.POST['text'] pm = request.POST['pm'] == "0" message = Message(user=user,recip=recip,pm=pm,time=timezone.now(),text=text) message.save() messages = Message.objects.filter(recip=recip) profile_obj = Member.objects.get(pk=view).profile profile = profile_obj.text if profile_obj else "" invitations = Invitation.objects.filter(to_user=username) return render(request, 'social/messages.html', { 'appname': appname, 'username': username, 'invitations':invitations, 'profile': profile, 'view': view, 'messages': messages, 'loggedin': True} )
def enviarFuera(request,User_id):#envia un mensaje del usuario logueado al usuario con id=User_id usuarioid = request.session['User_id'] usuario = User.objects.get(pk=usuarioid) m = User.objects.get(pk=User_id) mensaje = Message(content = request.POST['mensaje'], private = False, shares = '1', like = '1', owner = usuario, recipient = m) mensaje.save() return HttpResponseRedirect(reverse('social.views.detail', args=(usuario.id,)))
def hooks(request): if request.method=='POST': whabox= Whabox() whabox.event=request.POST.get("event") whabox.token=request.POST.get("token") whabox.contact_uid=request.POST.get("contact[uid]") whabox.contact_name=request.POST.get("contact[name]") whabox.contact_type=request.POST.get("contact[type]") whabox.message_dtm=request.POST.get("message[dtm]") whabox.message_uid=request.POST.get("message[uid]") whabox.message_cuid=request.POST.get("message[cuid]") whabox.message_dir=request.POST.get("message[dir]") whabox.message_type=request.POST.get("message[type]") whabox.message_text=request.POST.get("message[body][text]") whabox.message_ack=request.POST.get("message[ack]") #whabox.save() conversations= Conversation.objects.filter(contact_uid=whabox.contact_uid) if conversations: conversation=conversations.first() else: #Crear nueva conversacion y adjuntar el mensaje conversation=Conversation() conversation.contact_uid=whabox.contact_uid conversation.message_cuid=get_random_string(length=32) #Accionar a la nueva conversacion token='d42dbfc3434f650ed58b33e4955fa9cc5be1dd2f26439' uid='595974108801' url='https://www.waboxapp.com/api/send/chat' custom_uid= get_random_string(length=15) wbs= WhaboxSender(token,uid,url,custom_uid) text="Usted se ha comunicado a Pytyvo. En breve serĂ¡ atendido" result= wbs.sendMessage(text,conversation.contact_uid) if result: print("Se ha enviado correctmente el mensaje") else: print("No se ha podido enviar el mensaje") #Trabajar por el mensaje message=Message() message.conversation=conversation message.message_text=whabox.message_text message.estado=whabox.message_ack if whabox.message_dir=='i': message.direction=1 else: message.direction=2 conversation.estado=1 conversation.red=2 #Grabar conversation.save() message.save()
def upload_barber_message(request): """ For a barber to leave a message to his fans :param request: JSON string {string} bid: barber id {string} text: message text :return: """ req = json.loads(request.body) bid = req['bid'] text = req['text'] msg = Message(bid=bid, text=text) try: msg.save() except IOError: return HttpResponse("Failed to save it in server") return HttpResponse("Uploaded successfully!")
def member(request, view_user): username = request.session['username'] member = Member.objects.get(pk=view_user) if 'view' in request.GET: view = request.GET['view'] else: view = username recip = Member.objects.get(pk=view) # If message was deleted if 'erase' in request.GET: msg_id = request.GET['erase'] Message.objects.get(id=msg_id).delete() # If text was posted then save on DB if 'text' in request.POST: text = request.POST['text'] pm = request.POST['pm'] == "0" message = Message(user=username,recip=recip,pm=pm,time=timezone.now(),text=text) message.save() messages = Message.objects.filter(recip=recip) profile_obj = Member.objects.get(pk=view).profile profile = profile_obj.text if profile_obj else "" if view_user == username: greeting = "Your" else: greeting = view_user + "'s" if member.profile: text = member.profile.text else: text = "" invitations = Invitation.objects.filter(to_user=username) return render(request, 'social/member.html', { 'appname': appname, 'username': username, 'view_user': view_user, 'messages': messages, 'invitations':invitations, 'greeting': greeting, 'profile': text, 'loggedin': True} )
def messages(request): if request.method == 'POST': form = MessageForm(request.POST) if form.is_valid(): _text = form.cleaned_data['text'] _private = form.cleaned_data['private'] _auth = request.session['username'] if 'view' in request.POST: _recip = request.POST['view'] else: _recip = request.session['username'] message = Message(text=_text, private=_private, recip=_recip, auth=_auth) message.save() if 'username' in request.session: username = request.session['username'] auth = username template = loader.get_template('social/messages.html') if 'view' in request.GET: view = request.GET['view'] pms = Message.objects.filter( recip=auth, auth=view) | Message.objects.filter(recip=view, auth=username) else: pms = Message.objects.filter(recip=username) view = None context = RequestContext( request, { 'appname': appname, 'username': username, 'loggedin': True, 'view': view, 'pms': pms, 'form': MessageForm() }) return HttpResponse(template.render(context)) else: raise Http404("User is not logged it, no access to messages page!")
def fetch_messages(self, feed, **kwargs): results = requests.get( "https://queryfeed.net/instagram", params={ 'q': '#{}'.format(feed.hashtag), 'token': self.provider.app_secret } ) results = xmltodict.parse(results.text) if not (results.get('rss') and results.get('rss').get('channel') and results.get('rss').get('channel').get('item')): return messages = [] for item in results['rss']['channel']['item']: # Don't store duplicates try: feed.messages.get(provider_post_id=item['link']) except Message.DoesNotExist: pass else: continue r = requests.get(item['link']) user_re = re.compile(r'"owner": ({.*?})') m = user_re.search(r.text) message = Message() if m.group(1): user_data = json.loads(m.group(1)) author_name = user_data.get('full_name', '') if author_name is None: author_name = '' message.author_name = author_name message.author_picture = user_data.get('profile_pic_url', '') message.author_username = "******".format(user_data.get('username')) else: message.author_username = item['guid'] if 'enclosure' in item: media = item['enclosure'] if 'image' in media['@type']: message.image = media['@url'] message.text = item['title'] import pytz locale = pytz.utc # Thu, 02 Mar 2017 15:13:08 +0000 message.published_at = locale.localize( datetime.datetime.strptime(item['pubDate'], '%a, %d %b %Y %H:%M:%S +0000')) message.provider = self.provider message.provider_post_id = item['link'] message.feed = feed messages.append(message) message.save() return messages
def messages(request): """ Retrieves all messages related to the current user, whether private or public stored in a Message object and sends them to the messages.html template""" if 'username' in request.session: if request.method == 'POST': username = request.session['username'] member_obj = Member.objects.get(pk=username) try: recipient = Member.objects.get(pk=request.POST.get('recip', None)) if 'message' in request.POST: message = request.POST['message'] if 'message_type' in request.POST: private = request.POST['message_type'] == '1' message = Message(author=member_obj, recip=recipient, private=private, message=message) message.save() else: #Redirect back to the current page with accompanying error message members = Member.objects.all() messages = Message.objects.filter(author=username, private=True) | Message.objects.filter(recip=username, private=True) | Message.objects.filter(recip=username, private=False) | Message.objects.filter(author=username, private=False).order_by('time') return render(request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'chat_messages': messages, 'members': members, 'error': "Must select \"Public\" or \"Private\"" }) else: #Redirect back to the current page with accompanying error message members = Member.objects.all() messages = Message.objects.filter(author=username, private=True) | Message.objects.filter(recip=username, private=True) | Message.objects.filter(recip=username, private=False) | Message.objects.filter(author=username, private=False).order_by('time') return render(request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'chat_messages': messages, 'members': members, 'error': "Cannot send empty message" }) except Member.DoesNotExist: members = Member.objects.all() messages = Message.objects.filter(author=username, private=True) | Message.objects.filter(recip=username, private=True) | Message.objects.filter(recip=username, private=False) | Message.objects.filter(author=username, private=False).order_by('time') return render(request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'chat_messages': messages, 'members': members, 'error': "Recipient not specified" }) username = request.session['username'] members = Member.objects.all() messages = Message.objects.filter(author=username, private=True) | Message.objects.filter(recip=username, private=True) | Message.objects.filter(recip=username, private=False) | Message.objects.filter(author=username, private=False).order_by('time') return render(request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'members': members, 'chat_messages': messages }) else: #Redirect back to index.html with accompanying error message return render(request, 'social/index.html', { 'appname': appname, 'error': "You are not logged in, no access to messages page!" })
def messages(request): """ Retrieves all messages related to the current user, whether private or public stored in a Message object and sends them to the messages.html template""" if 'username' in request.session: if request.method == 'POST': username = request.session['username'] member_obj = Member.objects.get(pk=username) try: recipient = Member.objects.get( pk=request.POST.get('recip', None)) if 'message' in request.POST: message = request.POST['message'] if 'message_type' in request.POST: private = request.POST['message_type'] == '1' message = Message(author=member_obj, recip=recipient, private=private, message=message) message.save() else: #Redirect back to the current page with accompanying error message members = Member.objects.all() messages = Message.objects.filter( author=username, private=True) | Message.objects.filter( recip=username, private=True) | Message.objects.filter( recip=username, private=False) | Message.objects.filter( author=username, private=False).order_by('time') return render( request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'chat_messages': messages, 'members': members, 'error': "Must select \"Public\" or \"Private\"" }) else: #Redirect back to the current page with accompanying error message members = Member.objects.all() messages = Message.objects.filter( author=username, private=True) | Message.objects.filter( recip=username, private=True) | Message.objects.filter( recip=username, private=False) | Message.objects.filter( author=username, private=False).order_by('time') return render( request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'chat_messages': messages, 'members': members, 'error': "Cannot send empty message" }) except Member.DoesNotExist: members = Member.objects.all() messages = Message.objects.filter( author=username, private=True) | Message.objects.filter( recip=username, private=True) | Message.objects.filter( recip=username, private=False) | Message.objects.filter( author=username, private=False).order_by('time') return render( request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'chat_messages': messages, 'members': members, 'error': "Recipient not specified" }) username = request.session['username'] members = Member.objects.all() messages = Message.objects.filter( author=username, private=True) | Message.objects.filter( recip=username, private=True) | Message.objects.filter( recip=username, private=False) | Message.objects.filter( author=username, private=False).order_by('time') return render( request, 'social/messages.html', { 'appname': appname, 'username': username, 'loggedin': True, 'members': members, 'chat_messages': messages }) else: #Redirect back to index.html with accompanying error message return render( request, 'social/index.html', { 'appname': appname, 'error': "You are not logged in, no access to messages page!" })
def fetch_messages(self, feed, **kwargs): try: last_message = feed.messages.filter( provider=self.provider).order_by('published_at').last() if last_message is None: last_id = None else: last_id = last_message.provider_post_id results = requests.get( "https://api.twitter.com/1.1/search/tweets.json", params={ 'q': '%23{}'.format(feed.hashtag), 'count': '100', 'since_id': last_id, 'entities': True }, headers={ "Authorization": "Bearer {}".format(self.access_token) }).json() messages = [] for tweet in results['statuses']: message = Message() message.author_name = tweet['user']['name'] message.author_picture = tweet['user'][ 'profile_image_url_https'].replace('_normal', '') message.author_username = "******".format( tweet['user']['screen_name']) content = tweet['text'] if 'extended_entities' in tweet: for media in tweet['extended_entities']['media']: if media['type'] == 'photo': message.image = media['media_url_https'] if media['type'] in ('animated_gif', 'video'): variants = media['video_info']['variants'] # Select the MP4 with the best bitrate mp4 = [ variant for variant in variants if variant['content_type'] == 'video/mp4' ] if len(mp4) > 0: best_bitrate = max( mp4, key=lambda item: item['bitrate']) message.video = best_bitrate['url'] if media['type'] == 'animated_gif': message.video_is_gif = True message.text = content import pytz locale = pytz.utc message.published_at = locale.localize( datetime.datetime.strptime(tweet['created_at'], '%a %b %d %H:%M:%S +0000 %Y')) message.provider = self.provider message.provider_post_id = tweet['id_str'] message.feed = feed messages.append(message) message.save() return messages except HTTPError: self.auth() return self.fetch_messages(feed, **kwargs)
def enviar(request,User_id): request.session['User_id'] m = User.objects.get(pk=User_id) mensaje = Message(content = request.POST['mensaje'], private = False, shares = '1', like = '1', owner = m, recipient = m) mensaje.save() return HttpResponseRedirect(reverse('social.views.detail', args=(m.id,)))
def messages(request, view_user): if 'username' in request.session: username = request.session['username'] userMember = Member.objects.get(pk=username) viewMember = Member.objects.get(pk=view_user) viewname = viewMember.username #Looking at own inbox if view_user == username: greeting = "Your" canDelete = True public_messages = Message.objects.filter(receiver=username).filter( is_private=False) private_messages = Message.objects.filter( receiver=username).filter(is_private=True) #Looking at public messages sent to other user along with private messages you sent the other user else: canDelete = False greeting = view_user + "'s" public_messages = Message.objects.filter(receiver=viewname).filter( is_private=False) private_messages = Message.objects.filter(sender=username).filter( receiver=viewname).filter(is_private=True) #Delete messages in your inbox if 'remove' in request.GET: messageid = request.GET['remove'] Message.objects.filter(id=messageid).delete() #Reply to messages -> redirects you to the sender's page if 'reply' in request.GET: senderName = request.GET['reply'] return HttpResponseRedirect(senderName) #Posting a new message if 'text' in request.POST: text = request.POST['text'] #takes value from checkbox if 'is_private' in request.POST: private = True else: private = False #creates message object (as defined in models) and commits it to the database message = Message(message=text, is_private=private, sender=userMember, receiver=viewMember) message.save() text = "" else: text = "" template = loader.get_template('social/messages.html') context = RequestContext( request, { 'appname': appname, 'username': username, 'greeting': greeting, 'viewName': viewname, 'loggedin': True, 'public_messages': public_messages, 'private_messages': private_messages, 'canDelete': canDelete, 'text': text, }) return HttpResponse(template.render(context)) else: template = loader.get_template('social/login.html') error = "User is not logged it, no access to messages page!" context = RequestContext(request, { 'appname': appname, 'error': error, }) return HttpResponse(template.render(context))
def messages(request): username = request.session['username'] user = Member.objects.get(pk=username) member_obj = Member.objects.get(pk=username) # list of all other members members = Member.objects.exclude(pk=username) # list of people that are requested friend friends_s = Member.objects.filter(friends__username=username) # list of people that are request_friend me request_friends = Member.objects.filter(request_friend__username=username) # follow new friend if 'add' in request.GET: friend = request.GET['add'] friend_obj = Member.objects.get(pk=friend) member_obj.request_friend.add(friend_obj) request_friend = member_obj.request_friend.all() request_friends = Member.objects.filter(request_friend__username=username) members = Member.objects.exclude(pk=username) # list of people that are requested friend friends = member_obj.friends.all() for membera in members: if membera in request_friend: if membera in request_friends and membera not in friends: member_obj.friends.add(friend_obj) member_obj.save() return redirect('/social/messages/') # unfollow a friend if 'remove' in request.GET: friend = request.GET['remove'] friend_obj = Member.objects.get(pk=friend) member_obj.friends.remove(friend_obj) member_obj.request_friend.remove(friend_obj) friend_obj.request_friend.remove(member_obj) member_obj.save() return redirect('/social/messages/') # Whose message's are we viewing? if 'view' in request.GET: view = request.GET['view'] else: view = username recip = Member.objects.get(pk=view) # If message was deleted if 'erase' in request.GET: msg_id = request.GET['erase'] Message.objects.get(id=msg_id).delete() # If text was posted then save on DB if 'text' in request.POST: text = request.POST['text'] pm = request.POST['pm'] == "0" message = Message(user=user,recip=recip,pm=pm,time=timezone.now(),text=text) message.save() messages = Message.objects.filter(recip=recip) profile_obj = Member.objects.get(pk=view).profile profile = profile_obj.text if profile_obj else "" # list of people that requested friend friends_s = Member.objects.filter(friends__username=username) return render(request, 'social/messages.html', { 'appname': appname, 'username': username, 'profile': profile, 'view': view, 'members': members, 'request_friends': request_friends, 'friends_s': friends_s, 'messages': messages, 'loggedin': True} )