def find_friend(request): member_login = get_member_login_object(request) autocomplete_data = get_autocomplete_data(request) is_import_fb_friend = False invite_friends = None suggest_friends = None facebook_friends = get_facebook_friends(member_login) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) if facebook_friends != None: is_import_fb_friend = True invite_friends = facebook_friends[1] suggest_friends = facebook_friends[0] return render_to_response('friend_template/page/main_page.html', { "member_login": member_login, "autocomplete_data": autocomplete_data, 'is_import_fb_friend': is_import_fb_friend, 'invite_friends': invite_friends, 'suggest_friends': suggest_friends, 'new_notify': new_notify, 'new_buzzes': new_buzzes, 'new_mail': new_mail }, context_instance=RequestContext(request))
def get_user_activity_request(request,activity_id): activity = Activity.objects.get(pk=activity_id) member_login = get_member_login_object(request) activity_user_request = ActivityRequest.objects.filter(activity=activity,member_join=member_login,member_create=activity.member_create) if len(activity_user_request) != 0: return activity_user_request[0] return None
def find_friend(request): member_login = get_member_login_object(request) autocomplete_data = get_autocomplete_data(request) is_import_fb_friend = False invite_friends = None suggest_friends = None facebook_friends = get_facebook_friends(member_login) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) if facebook_friends != None: is_import_fb_friend = True invite_friends = facebook_friends[1] suggest_friends = facebook_friends[0] return render_to_response('friend_template/page/main_page.html', { "member_login": member_login, "autocomplete_data": autocomplete_data, 'is_import_fb_friend': is_import_fb_friend, 'invite_friends': invite_friends, 'suggest_friends': suggest_friends, 'new_notify': new_notify, 'new_buzzes': new_buzzes, 'new_mail': new_mail }, context_instance=RequestContext(request) )
def show_notification(request): now = datetime.datetime.now() autocomplete_data = get_autocomplete_data(request) member_login = get_member_login_object(request) current_page = 1 if 'page' in request.GET: current_page = int(request.GET['page']) all_notifies = Notify.objects.filter( notify_to=member_login).order_by("-date") last_page = int(len(all_notifies) / 10) + 1 notifies = all_notifies[(current_page - 1) * 10:current_page * 10] for notify in notifies: elapse_time = now - notify.date notify.elapse_time = get_elapse_time(int(elapse_time.total_seconds())) if notify.status == 'new': notify.status = 'old' notify.save() new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response("notify_template/page/main_page.html", { "autocomplete_data": autocomplete_data, "member_login": member_login, 'current_page': current_page, 'last_page': last_page, "notifies": notifies, "new_buzzes": new_buzzes, 'new_mail': new_mail, 'new_notify': new_notify }, context_instance=RequestContext(request))
def add_message(request, username, message): now = datetime.datetime.now() member_chat = Member.objects.get(user=User.objects.get(username=username)) member_login = get_member_login_object(request) new_message = Message.objects.create( member_send=member_login, member_receive=member_chat, content=message, date=now, status="new" ) new_message.save() new_buzz_type = len(Notify.objects.filter(notify_to=member_chat, status="new")) new_mail_type = len(Message.objects.filter(member_receive=member_chat, status="new")) buzz = simplejson.dumps( { "new_notify": new_buzz_type + new_mail_type, "new_buzz_type": new_buzz_type, "new_mail_type": new_mail_type, "username": member_chat.user.username, "member_send_username": member_login.user.username, "member_send_name": member_login.user.first_name + " " + member_login.user.last_name, "member_send_avatar": member_login.avatar.url, "msg_content": new_message.content_html, "date": new_message.elapse_time, } ) conn.send(buzz, destination="/update") return simplejson.dumps({"message": "Success"})
def decline_friend_request(request, notify_id, username): member_add_request = Member.objects.get(user=User.objects.get( username=username)) member_receive_request = get_member_login_object(request) fr = FriendshipRequest.objects.filter(from_user=member_add_request.user, to_user=member_receive_request.user, accepted=False) if len(fr) != 0: fr[0].decline() n = Notify.objects.get(pk=notify_id) new_content = ("<div class='notify-main-content'>" + "<a href='/" + member_add_request.user.username + "' >" + member_add_request.user.first_name + " " + member_add_request.user.last_name + "</a>" + " want to be friend with you" + "</div>" + "<div class='notify-decline-friend-request'>" + " You have declined this request " + "</div>") n.content = new_content n.notify_type = 'add_friend_response_decline' n.save() return simplejson.dumps({ 'notify_id': str(notify_id), 'new_content': new_content, 'username': username, 'firstname': member_add_request.user.first_name, 'lastname': member_add_request.user.last_name, 'reload': 'False' }) else: return simplejson.dumps({'reload': 'True'})
def member_message(request,username): member_chat = get_object_or_404(Member,user=get_object_or_404(User,username=username)) member_login = get_member_login_object(request) messages = get_specific_conversation(request,member_chat) if member_chat == member_login or messages == 'redirect': return HttpResponseRedirect('/messages/') autocomplete_data = get_autocomplete_data(request) friends = member_login.get_friends() friends_autocomplete_data = get_friends_autocomplete_data(request,message=True) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response('message_template/page/member_message_page.html', { 'autocomplete_data': autocomplete_data, 'member_login': member_login, 'member_chat': member_chat, 'friends': friends, 'friends_autocomplete_data': friends_autocomplete_data, 'new_buzzes': new_buzzes, 'new_mail': new_mail, 'new_notify': new_notify, 'messages': messages }, context_instance=RequestContext(request) )
def show_photo(request,photo_type,object_id,photo_id): all_photo = Photo.objects.filter(photo_type=photo_type,object_id=object_id) current_photo = get_object_or_404(Photo,pk=photo_id) member_login= get_member_login_object(request) autocomplete_data = get_autocomplete_data(request) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response('photo_template/page/main_page.html', { 'autocomplete_data': autocomplete_data, 'member_login': member_login, 'current_photo': current_photo, 'all_photo': all_photo, 'new_buzzes': new_buzzes, 'new_mail': new_mail, 'new_notify': new_notify }, context_instance = RequestContext(request) ) # def multi_show_uploaded(request, key): # """Simple file view helper. # Used to show uploaded file directly""" # image = get_object_or_404(Photo, key_data=key) # url = settings.MEDIA_URL+image.image.name # return render_to_response('photo_template/one_image.html', {"multi_single_url":url,})
def get_all_conversation(request): member_login = get_member_login_object(request) list_member_chat, list_last_chat_message, list_last_chat_date, result = [], [], [], [] new_messages = Message.objects.filter( (Q(member_receive=member_login) | Q(member_send=member_login)), Q(status="new") ) for new_message in new_messages: new_message.status = "old" new_message.save() messages = Message.objects.filter(Q(member_receive=member_login) | Q(member_send=member_login)).order_by("-date") for message in messages: if message.member_send != member_login and message.member_send not in list_member_chat: list_member_chat.append(message.member_send) list_last_chat_message.append(set_fixed_string(message.content, 60)) list_last_chat_date.append(message.elapse_time) if message.member_receive != member_login and message.member_receive not in list_member_chat: list_member_chat.append(message.member_receive) list_last_chat_message.append("<i class='icon-share-alt'></i>" + set_fixed_string(message.content, 60)) list_last_chat_date.append(message.elapse_time) for i in range(0, len(list_member_chat)): if check_user_block(member_login.user, list_member_chat[i].user) == False: data = { "member": list_member_chat[i], "last_chat": list_last_chat_message[i], "date": list_last_chat_date[i], } result.append(data) return result
def main_page(request): autocomplete_data = get_autocomplete_data(request) location_categories = LocationCategory.objects.all() member_login = get_member_login_object(request) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) locations = Location.objects.all() today_activities = get_today_activity() trending_activities = get_trending_activity() hot_activities = get_hot_activity() return render_to_response( "main_template/page/index.html", { "member_login": member_login, 'new_notify': new_notify, 'new_buzzes': new_buzzes, 'new_mail': new_mail, "locations": locations, "autocomplete_data": autocomplete_data, "location_categories": location_categories, "today_activities": today_activities, 'trending_activities': trending_activities, 'hot_activities': hot_activities, }, context_instance=RequestContext(request) )
def follow_location(request, location_id): member_login = get_member_login_object(request) location = Location.objects.get(pk=location_id) location.follow_by.add(member_login) friend_activity_content = get_stream_content( 'follow_location', 'friends_content', { 'member_login': member_login, 'location': location }) user_activity_content = get_stream_content( 'follow_location', 'user_content', { 'member_login': member_login, 'location': location }) list_friends_username = Friendship.objects.friends_of( member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({ 'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz, destination='/update') return simplejson.dumps({ 'username': member_login.user.username, 'name': member_login.user.first_name + " " + member_login.user.last_name, 'avatar': member_login.avatar.url })
def member_message(request, username): member_chat = get_object_or_404(Member, user=get_object_or_404(User, username=username)) member_login = get_member_login_object(request) messages = get_specific_conversation(request, member_chat) if member_chat == member_login or messages == 'redirect': return HttpResponseRedirect('/messages/') autocomplete_data = get_autocomplete_data(request) friends = member_login.get_friends() friends_autocomplete_data = get_friends_autocomplete_data(request, message=True) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response( 'message_template/page/member_message_page.html', { 'autocomplete_data': autocomplete_data, 'member_login': member_login, 'member_chat': member_chat, 'friends': friends, 'friends_autocomplete_data': friends_autocomplete_data, 'new_buzzes': new_buzzes, 'new_mail': new_mail, 'new_notify': new_notify, 'messages': messages }, context_instance=RequestContext(request))
def password_reset_from_key(request, uidb36, key, **kwargs): member_login = get_member_login_object(request) if member_login: return HttpResponseRedirect("/") form_class = kwargs.get("form_class", ResetPasswordKeyForm) #template_name = kwargs.get("template_name", "account/password_reset_from_key.html") template_name = 'auth_template/page/password_reset_from_key.html' token_generator = kwargs.get("token_generator", default_token_generator) # pull out user try: uid_int = base36_to_int(uidb36) except ValueError: raise Http404 user = get_object_or_404(User, id=uid_int) if token_generator.check_token(user, key): if request.method == "POST": password_reset_key_form = form_class(request.POST, user=user, temp_key=key) if password_reset_key_form.is_valid(): password_reset_key_form.save() messages.add_message(request, messages.SUCCESS, ugettext(u"Password successfully changed.") ) password_reset_key_form = None else: password_reset_key_form = form_class() ctx = { "form": password_reset_key_form, } else: ctx = { "token_fail": True, } return render_to_response(template_name, RequestContext(request, ctx))
def show_notification(request): now = datetime.datetime.now() autocomplete_data = get_autocomplete_data(request) member_login = get_member_login_object(request) current_page = 1 if 'page' in request.GET: current_page = int(request.GET['page']) all_notifies = Notify.objects.filter(notify_to=member_login).order_by("-date") last_page = int(len(all_notifies) / 10) + 1 notifies = all_notifies[(current_page-1)*10:current_page*10] for notify in notifies: elapse_time = now - notify.date notify.elapse_time = get_elapse_time(int(elapse_time.total_seconds())) if notify.status == 'new': notify.status = 'old' notify.save() new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response( "notify_template/page/main_page.html", { "autocomplete_data": autocomplete_data, "member_login": member_login, 'current_page': current_page, 'last_page': last_page, "notifies": notifies, "new_buzzes": new_buzzes, 'new_mail': new_mail, 'new_notify': new_notify }, context_instance=RequestContext(request) )
def join_activity_request(request,activity_id): member_login = get_member_login_object(request) activity = Activity.objects.get(pk=activity_id) activity_request = ActivityRequest.objects.filter(activity=activity,member_join=member_login,member_create=activity.member_create) if len(activity_request) != 0: activity_request[0].request_status = 'Waiting' activity_request[0].save() else: new_request = ActivityRequest.objects.create(activity=activity,member_join=member_login,member_create=activity.member_create,request_status='Waiting',date=datetime.datetime.now()) new_request.save() notify_type= 'join_activity_request' content = ("<a href='/" + member_login.user.username + "' >" + member_login.user.first_name + " " + member_login.user.last_name + "</a>" + " want to join your activity " + "<a href='/activity/" + str(activity.pk) + "' >" + activity.name + "</a>") new_notify = Notify.objects.create(notify_type=notify_type,notify_to=activity.member_create,notify_from=member_login,status='new',date=datetime.datetime.now(),content=content) new_notify.save() new_buzz_type = len(Notify.objects.filter(notify_to=activity.member_create,status='new')) new_mail_type = len(Message.objects.filter(member_receive=activity.member_create,status='new')) buzz = simplejson.dumps({'new_notify': new_buzz_type + new_mail_type, 'new_buzz_type': new_buzz_type, 'new_mail_type': new_mail_type, 'username': activity.member_create.user.username}) conn.send(buzz,destination='/update') return simplejson.dumps({})
def login(request, **kwargs): member_login = get_member_login_object(request) if member_login: return HttpResponseRedirect('/') form_class = kwargs.pop("form_class", LoginForm) #template_name = kwargs.pop("template_name", "account/login.html") template_name = 'auth_template/page/login.html' success_url = kwargs.pop("success_url", None) url_required = kwargs.pop("url_required", False) extra_context = kwargs.pop("extra_context", {}) redirect_field_name = kwargs.pop("redirect_field_name", "next") if extra_context is None: extra_context = {} if success_url is None: success_url = get_default_redirect(request, redirect_field_name) if request.method == "POST" and not url_required: form = form_class(request.POST) if form.is_valid(): return form.login(request, redirect_url=success_url) else: form = form_class() ctx = { "form": form, "signup_url": passthrough_login_redirect_url(request,reverse("account_signup")), #"site": Site.objects.get_current(), "url_required": url_required, "redirect_field_name": redirect_field_name, "redirect_field_value": request.REQUEST.get(redirect_field_name), } ctx.update(extra_context) return render_to_response(template_name, RequestContext(request, ctx))
def get_all_conversation(request): member_login = get_member_login_object(request) list_member_chat, list_last_chat_message, list_last_chat_date, result = [], [], [], [] new_messages = Message.objects.filter( (Q(member_receive=member_login) | Q(member_send=member_login)), Q(status='new')) for new_message in new_messages: new_message.status = 'old' new_message.save() messages = Message.objects.filter( Q(member_receive=member_login) | Q(member_send=member_login)).order_by('-date') for message in messages: if message.member_send != member_login and message.member_send not in list_member_chat: list_member_chat.append(message.member_send) list_last_chat_message.append(set_fixed_string( message.content, 60)) list_last_chat_date.append(message.elapse_time) if message.member_receive != member_login and message.member_receive not in list_member_chat: list_member_chat.append(message.member_receive) list_last_chat_message.append( "<i class='icon-share-alt'></i>" + set_fixed_string(message.content, 60)) list_last_chat_date.append(message.elapse_time) for i in range(0, len(list_member_chat)): if check_user_block(member_login.user, list_member_chat[i].user) == False: data = { 'member': list_member_chat[i], 'last_chat': list_last_chat_message[i], 'date': list_last_chat_date[i] } result.append(data) return result
def safety(request): autocomplete_data = get_autocomplete_data(request) member_login = get_member_login_object(request) return render_to_response("info_template/page/safety.html", { "member_login": member_login, 'autocomplete_data': autocomplete_data, }, context_instance=RequestContext(request))
def get_activity_unjoinable(request,activity_id): activity = Activity.objects.get(pk=activity_id) member_login = get_member_login_object(request) if len(activity.member_join.all()) == activity.limit: return "There is no more available spot for this activity " if activity.activity_type == 'blind_date': if member_login.gender == activity.member_create.gender: return "You are not qualified to join this activity. You and the host need to have different sex in the blind date activity" return None
def get_activity_unjoinable(request, activity_id): activity = Activity.objects.get(pk=activity_id) member_login = get_member_login_object(request) if len(activity.member_join.all()) == activity.limit: return "There is no more available spot for this activity " if activity.activity_type == 'blind_date': if member_login.gender == activity.member_create.gender: return "You are not qualified to join this activity. You and the host need to have different sex in the blind date activity" return None
def photo_upload(request): if request.method == 'POST': if request.FILES == None: return HttpResponseBadRequest('Must have files attached!') #getting file data for farther manipulations file = request.FILES[u'files[]'] wrapped_file = UploadedFile(file) filename = wrapped_file.name file_size = wrapped_file.file.size log.info ('Got file: "%s"' % str(filename)) #writing file manually into model #because we don't need form of any type. member_login = get_member_login_object(request) image = Photo() image.filename=str(filename) image.image=file image.key_data = image.key_generate image.member_post = member_login image.photo_type = request.session['photo_type'] image.object_id = request.session['object_id'] image.save() log.info('File saving done') #getting thumbnail url using sorl-thumbnail im = get_thumbnail(image, "80x80", quality=50) thumb_url = im.url #settings imports try: file_delete_url = settings.MULTI_FILE_DELETE_URL+'/' file_url = settings.MULTI_IMAGE_URL+'/'+image.key_data+'/' except AttributeError: file_delete_url = 'multi_delete/' file_url = 'multi_image/'+image.key_data+'/' #generating json response array result = [] result.append({"name":filename, "size":file_size, "url":file_url, "thumbnail_url":thumb_url, "delete_url":file_delete_url+str(image.pk)+'/', "delete_type":"POST",}) response_data = simplejson.dumps(result) #checking for json data type #big thanks to Guy Shapiro if "application/json" in request.META['HTTP_ACCEPT_ENCODING']: mimetype = 'application/json' else: mimetype = 'text/plain' return HttpResponse(response_data, mimetype=mimetype) else: #GET return HttpResponse('Only POST accepted')
def safety(request): autocomplete_data = get_autocomplete_data(request) member_login = get_member_login_object(request) return render_to_response("info_template/page/safety.html", { "member_login": member_login, 'autocomplete_data': autocomplete_data, }, context_instance = RequestContext(request) )
def get_user_activity_request(request, activity_id): activity = Activity.objects.get(pk=activity_id) member_login = get_member_login_object(request) activity_user_request = ActivityRequest.objects.filter( activity=activity, member_join=member_login, member_create=activity.member_create) if len(activity_user_request) != 0: return activity_user_request[0] return None
def report_comment(request,comment_id): comment = Comment.objects.get(pk=comment_id) report = Report.objects.filter(report_type='comment',object_id=comment.pk) member_login = get_member_login_object(request) if len(report) == 0: new_report = Report.objects.create(report_type='comment',object_id=comment.pk,date=datetime.datetime.now()) new_report.member_report.add(member_login) new_report.save() else: report[0].member_report.add(member_login) return simplejson.dumps({'comment_id': comment_id})
def accept_friend_request(request,username): member_add_request = Member.objects.get(user=User.objects.get(username=username)) member_receive_request = get_member_login_object(request) fr = FriendshipRequest.objects.filter(from_user=member_add_request.user, to_user=member_receive_request.user) print fr # In case member A click accept while the other member B already cancel the request # we handle by reload the page if len(fr) != 0: fr[0].accept() notify_type= 'accept_friend_request' content = ("<div class='notify-main-content'>" + "<a href='/" + member_receive_request.user.username + "' >" + member_receive_request.user.first_name + " " + member_receive_request.user.last_name + "</a>" + " accept your friend request" + "</div>") new_notify = Notify.objects.create(notify_type=notify_type,notify_to=member_add_request,notify_from=member_receive_request,status='new',date=datetime.datetime.now(),content=content) new_notify.save() n = Notify.objects.get(notify_type='add_friend',notify_to=member_receive_request,notify_from=member_add_request) new_content = ("<div class='notify-main-content'>" + "<a href='/" + member_add_request.user.username + "' >" + member_add_request.user.first_name + " " + member_add_request.user.last_name + "</a>" + " want to be friend with you" + "</div>" + "<div class='notify-accept-friend-request'>" + "You have accepted this request " + "</div>") n.content = new_content n.notify_type = 'add_friend_response_accept' n.save() new_buzz_type = len(Notify.objects.filter(notify_to=member_add_request,status='new')) new_mail_type = len(Message.objects.filter(member_receive=member_add_request,status='new')) # Add and update streams friend_activity_content1 = get_stream_content('befriend','friends_content',{'member1':member_receive_request,'member2':member_add_request}) user_activity_content1 = get_stream_content('befriend','user_content',{'member1':member_receive_request,'member2':member_add_request}) list_friends_username1 = Friendship.objects.friends_of(member_receive_request.user).values_list('username', flat=True) friend_activity_content2 = get_stream_content('befriend','friends_content',{'member1':member_add_request,'member2':member_receive_request}) user_activity_content2 = get_stream_content('befriend','user_content',{'member1':member_add_request,'member2':member_receive_request}) list_friends_username2 = Friendship.objects.friends_of(member_add_request.user).values_list('username', flat=True) user_exclude = '' common_friend_username = get_duplicate_object(list(list_friends_username1)+list(list_friends_username2)) if len(common_friend_username) > 0: user_exclude=str(common_friend_username) user_streams.add_stream_item(member_receive_request.user, friend_activity_content1, user_activity_content1) user_streams.add_stream_item(member_add_request.user, friend_activity_content2, user_activity_content2, user_exclude) buzz = simplejson.dumps({'new_notify': new_buzz_type+new_mail_type,'new_buzz_type':new_buzz_type,'new_mail_type':new_mail_type, 'username': member_add_request.user.username, 'new_friend_activity1': friend_activity_content1, 'new_friend_activity2': friend_activity_content2, 'list_friends_username1': list(list_friends_username1), 'list_friends_username2': list(list_friends_username2) }) conn.send(buzz,destination='/update') return simplejson.dumps({'username':username,'firstname': member_add_request.user.first_name,'lastname': member_add_request.user.last_name,'reload': "False"}) else: return simplejson.dumps({'reload': "True"})
def check_activity_seeable(request,activity_id): activity = Activity.objects.get(pk=activity_id) if activity.activity_type != "invite_only": return True else: #if SESSION_KEY in request.session: # member_login = Member.objects.get(user=User.objects.get(pk=request.session[SESSION_KEY])) member_login = get_member_login_object(request) member_create = activity.member_create if member_login == member_create or member_login in activity.member_invite.all(): return True return False
def report_comment(request, comment_id): comment = Comment.objects.get(pk=comment_id) report = Report.objects.filter(report_type='comment', object_id=comment.pk) member_login = get_member_login_object(request) if len(report) == 0: new_report = Report.objects.create(report_type='comment', object_id=comment.pk, date=datetime.datetime.now()) new_report.member_report.add(member_login) new_report.save() else: report[0].member_report.add(member_login) return simplejson.dumps({'comment_id': comment_id})
def check_activity_seeable(request, activity_id): activity = Activity.objects.get(pk=activity_id) if activity.activity_type != "invite_only": return True else: #if SESSION_KEY in request.session: # member_login = Member.objects.get(user=User.objects.get(pk=request.session[SESSION_KEY])) member_login = get_member_login_object(request) member_create = activity.member_create if member_login == member_create or member_login in activity.member_invite.all( ): return True return False
def edit_comment(request,comment_id,comment_content): member_login = get_member_login_object(request) now = datetime.datetime.now() comment = Comment.objects.get(pk=comment_id) comment.content = comment_content comment.edit_date = now comment.save() result = {} result['comment_id'] = comment_id result['member'] = {'username': member_login.user.username,'first_name':member_login.user.first_name, 'last_name': member_login.user.last_name,'avatar': member_login.avatar.url} result['content'] = comment.content_html result['date'] = comment.edit_elapse_time return simplejson.dumps(result)
def edit_location(request, location_id): location = get_object_or_404(Location, pk=location_id) member_login = get_member_login_object(request) if "error" in request.GET: return render_to_response( "location_template/page/edit_error.html", { "member_login": member_login, }, context_instance=RequestContext(request) ) if request.method =='POST': form = LocationForm(request.POST) if form.is_valid(): try: location.name = request.POST['name'] location.description = request.POST['description'] location.category = request.POST['category'] location.address1 = request.POST['address1'] location.address2 = request.POST['address2'] location.city = request.POST['city'] location.state = request.POST['state'] location.zip_code = request.POST['zip_code'] if "avatar" in request.FILES: location.avatar = request.FILES['avatar'] location.save() except: return HttpResponseRedirect("/location/" + location_id + "/edit/?error") return HttpResponseRedirect("/" + member_login.user.username + "?edit=location") else: default_data = { "name": location.name, "description": location.description, "category": location.category, "address1": location.address1, "address2": location.address2, "city": location.city, "state": location.state, "zip_code": location.zip_code, "avatar": location.avatar, } form = LocationForm(default_data) return render_to_response( "location_template/page/edit.html", { "form": form, "member_login": member_login, "location":location, }, context_instance=RequestContext(request))
def update_streams(request): if request.session['allow_upload_stream']: if len( Photo.objects.filter( photo_type=request.session['photo_type'], object_id=request.session['object_id'])) > int( request.session['num_photo']): member_login = get_member_login_object(request) friend_activity_content, user_activity_content = '', '' if request.session['photo_type'] == 'activity': activity = Activity.objects.get( pk=request.session['object_id']) friend_activity_content = get_stream_content( 'upload_activity_photo', 'friends_content', { 'member_login': member_login, 'activity': activity }) user_activity_content = get_stream_content( 'upload_activity_photo', 'user_content', { 'member_login': member_login, 'activity': activity }) else: location = Location.objects.get( pk=request.session['object_id']) friend_activity_content = get_stream_content( 'upload_location_photo', 'friends_content', { 'member_login': member_login, 'location': location }) user_activity_content = get_stream_content( 'upload_location_photo', 'user_content', { 'member_login': member_login, 'location': location }) list_friends_username = Friendship.objects.friends_of( member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({ 'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz, destination='/update') request.session['allow_upload_stream'] = False return simplejson.dumps({})
def addfritlocationnumber(request, location_id): locationf = Location.objects.get(pk=location_id) member_login = get_member_login_object(request) flocations = FritLocation.objects.filter(location=locationf) clocations = FritLocation.objects.filter(location=locationf, memberfrit=member_login) if len(clocations) == 0: current = len(flocations) + 1 new_frit = FritLocation.objects.create(memberfrit=member_login, fritnum=current, location=locationf) new_frit.save() else: current = "You have already fritted !!" return simplejson.dumps({'current': current})
def add_comment(request, location_id, comment_content): member_login = get_member_login_object(request) location = Location.objects.get(pk=location_id) now = datetime.datetime.now() new_comment = Comment.objects.create(comment_type='location', object_id=location_id, content=comment_content, member=member_login, created_date=now) new_comment.save() result = {} result['comment_id'] = new_comment.pk result['member'] = { 'username': member_login.user.username, 'first_name': member_login.user.first_name, 'last_name': member_login.user.last_name, 'avatar': member_login.avatar.url } result['content'] = new_comment.content_html result['date'] = new_comment.created_elapse_time #if request.session['allow_comment_stream']: friend_activity_content = get_stream_content( 'add_location_comment', 'friends_content', { 'member_login': member_login, 'location': location, 'comment': new_comment, 'comment_content': set_fixed_string(new_comment.content, 30) }) user_activity_content = get_stream_content( 'add_location_comment', 'user_content', { 'member_login': member_login, 'location': location }) list_friends_username = Friendship.objects.friends_of( member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({ 'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz, destination='/update') #request.session['allow_comment_stream'] = False return simplejson.dumps(result)
def create_location(request): member_login = get_member_login_object(request) if "error" in request.GET: return render_to_response( "location_template/page/create_error.html", { "member_login": member_login, }, context_instance=RequestContext(request) ) if request.method=='POST': form = LocationForm(request.POST, request.FILES) if form.is_valid(): try: name = request.POST['name'] description = request.POST['description'] category = request.POST['category'] address1 = request.POST['address1'] address2 = request.POST['address2'] city = request.POST['city'] state = request.POST['state'] zip_code = request.POST['zip_code'] new_location = Location.objects.create( create_by=member_login, name=name, description=description, address1=address1, address2=address2, city=city, state=state, zip_code=zip_code ) if "avatar" in request.FILES: new_location.avatar = request.FILES['avatar'] new_location.save() except: return HttpResponseRedirect("/location/create/?error") return HttpResponseRedirect("/" + member_login.user.username + "?create=location") else: form = LocationForm() return render_to_response( "location_template/page/create.html", { "form": form, 'member_login': member_login, }, context_instance=RequestContext(request))
def password_reset(request, **kwargs): member_login = get_member_login_object(request) if member_login: return HttpResponseRedirect("/") form_class = kwargs.pop("form_class", ResetPasswordForm) #template_name = kwargs.pop("template_name", "account/password_reset.html") template_name = 'auth_template/page/password_reset.html' if request.method == "POST": password_reset_form = form_class(request.POST) if password_reset_form.is_valid(): password_reset_form.save() return HttpResponseRedirect(reverse(password_reset_done)) else: password_reset_form = form_class() return render_to_response(template_name, RequestContext(request, { "password_reset_form": password_reset_form, }))
def get_specific_conversation(request, member_chat): member_login = get_member_login_object(request) if check_user_block(member_login.user, member_chat.user): return 'redirect' new_messages = Message.objects.filter( (Q(member_send=member_login, member_receive=member_chat) | Q(member_send=member_chat, member_receive=member_login)), Q(status='new')) for new_message in new_messages: new_message.status = 'old' new_message.save() messages = list( Message.objects.filter( Q(member_send=member_login, member_receive=member_chat) | Q(member_send=member_chat, member_receive=member_login)). order_by('date')) return messages
def removefritlocationnumber(request, location_id): locationf = Location.objects.get(pk=location_id) member_login = get_member_login_object(request) flocation = FritLocation.objects.filter(location=locationf, memberfrit=member_login) tmp = 0 if len(flocation) > 0: for x in flocation: tmp = x.fritnum break mlocations = FritLocation.objects.filter(fritnum__gt=tmp) for x in mlocations: num = x.fritnum FritLocation.objects.filter(fritnum=num).update(fritnum=num - 1) FritLocation.objects.filter(location=locationf, memberfrit=member_login).delete() current = "Unfritted successfully" return simplejson.dumps({'current': current})
def edit_comment(request, comment_id, comment_content): member_login = get_member_login_object(request) now = datetime.datetime.now() comment = Comment.objects.get(pk=comment_id) comment.content = comment_content comment.edit_date = now comment.save() result = {} result['comment_id'] = comment_id result['member'] = { 'username': member_login.user.username, 'first_name': member_login.user.first_name, 'last_name': member_login.user.last_name, 'avatar': member_login.avatar.url } result['content'] = comment.content_html result['date'] = comment.edit_elapse_time return simplejson.dumps(result)
def join_activity_request(request, activity_id): member_login = get_member_login_object(request) activity = Activity.objects.get(pk=activity_id) activity_request = ActivityRequest.objects.filter( activity=activity, member_join=member_login, member_create=activity.member_create) if len(activity_request) != 0: activity_request[0].request_status = 'Waiting' activity_request[0].save() else: new_request = ActivityRequest.objects.create( activity=activity, member_join=member_login, member_create=activity.member_create, request_status='Waiting', date=datetime.datetime.now()) new_request.save() notify_type = 'join_activity_request' content = ("<a href='/" + member_login.user.username + "' >" + member_login.user.first_name + " " + member_login.user.last_name + "</a>" + " want to join your activity " + "<a href='/activity/" + str(activity.pk) + "' >" + activity.name + "</a>") new_notify = Notify.objects.create(notify_type=notify_type, notify_to=activity.member_create, notify_from=member_login, status='new', date=datetime.datetime.now(), content=content) new_notify.save() new_buzz_type = len( Notify.objects.filter(notify_to=activity.member_create, status='new')) new_mail_type = len( Message.objects.filter(member_receive=activity.member_create, status='new')) buzz = simplejson.dumps({ 'new_notify': new_buzz_type + new_mail_type, 'new_buzz_type': new_buzz_type, 'new_mail_type': new_mail_type, 'username': activity.member_create.user.username }) conn.send(buzz, destination='/update') return simplejson.dumps({})
def show_feeds(request): member_login = get_member_login_object(request) autocomplete_data = get_autocomplete_data(request) friends = member_login.get_friends() friends_activity_stream = get_friend_activity_stream( request, 'page_content')[:PAGE_STREAM_LIMIT] new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response('feed_template/page/main_page.html', { "member_login": member_login, "autocomplete_data": autocomplete_data, 'friends': friends, 'friends_activity_stream': friends_activity_stream, 'new_notify': new_notify, 'new_buzzes': new_buzzes, 'new_mail': new_mail }, context_instance=RequestContext(request))
def show_feeds(request): member_login = get_member_login_object(request) autocomplete_data = get_autocomplete_data(request) friends = member_login.get_friends() friends_activity_stream = get_friend_activity_stream(request,'page_content')[:PAGE_STREAM_LIMIT] new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response('feed_template/page/main_page.html', { "member_login": member_login, "autocomplete_data": autocomplete_data, 'friends': friends, 'friends_activity_stream':friends_activity_stream, 'new_notify': new_notify, 'new_buzzes': new_buzzes, 'new_mail': new_mail }, context_instance=RequestContext(request) )
def add_comment(request,activity_id,comment_content): member_login = get_member_login_object(request) activity = Activity.objects.get(pk=activity_id) now = datetime.datetime.now() new_comment = Comment.objects.create(comment_type='activity',object_id=activity_id,content=comment_content,member=member_login,created_date=now) new_comment.save() result = {} result['comment_id'] = new_comment.pk result['member'] = {'username': member_login.user.username,'first_name':member_login.user.first_name, 'last_name': member_login.user.last_name,'avatar': member_login.avatar.url} result['content'] = new_comment.content_html result['date'] = new_comment.created_elapse_time #if request.session['allow_comment_stream']: friend_activity_content = get_stream_content('add_activity_comment','friends_content',{'member_login':member_login,'activity':activity, 'comment': new_comment, 'comment_content':set_fixed_string(new_comment.content,30)}) user_activity_content = get_stream_content('add_activity_comment','user_content',{'member_login':member_login,'activity':activity}) list_friends_username = Friendship.objects.friends_of(member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz,destination='/update') #request.session['allow_comment_stream'] = False return simplejson.dumps(result)
def get_specific_conversation(request, member_chat): member_login = get_member_login_object(request) if check_user_block(member_login.user, member_chat.user): return "redirect" new_messages = Message.objects.filter( ( Q(member_send=member_login, member_receive=member_chat) | Q(member_send=member_chat, member_receive=member_login) ), Q(status="new"), ) for new_message in new_messages: new_message.status = "old" new_message.save() messages = list( Message.objects.filter( Q(member_send=member_login, member_receive=member_chat) | Q(member_send=member_chat, member_receive=member_login) ).order_by("date") ) return messages
def cancel_joining_activity(request, activity_id, message): member_login = get_member_login_object(request) activity = Activity.objects.get(pk=activity_id) activity.member_join.remove(member_login) activity_request = ActivityRequest.objects.get(activity=activity,member_join=member_login,member_create=activity.member_create) activity_request.delete() notify_type= 'cancel_joining_activity' content = ("<a href='/" + member_login.user.username + "' >" + member_login.user.first_name + " " + member_login.user.last_name + "</a>" + " want to cancel attending your activity " + "<a href='/activity/" + str(activity.pk) + "' >" + activity.name + "</a>." + "\n The reason for this cancel is: \n" + message) new_notify = Notify.objects.create(notify_type=notify_type,notify_to=activity.member_create,notify_from=member_login,status='new',date=datetime.datetime.now(),content=content) new_notify.save() new_buzz_type = len(Notify.objects.filter(notify_to=activity.member_create,status='new')) new_mail_type = len(Message.objects.filter(member_receive=activity.member_create,status='new')) buzz = simplejson.dumps({'new_notify': new_mail_type + new_buzz_type, 'new_buzz_type':new_buzz_type,'new_mail_type': new_mail_type, 'username': activity.member_create.user.username}) conn.send(buzz,destination='/update') return simplejson.dumps({'activity_id':activity_id})
def recommend_friend(request,activity_id,friends): activity = Activity.objects.get(pk=activity_id) member_login = get_member_login_object(request) members = Member.objects.filter(pk__in=friends) #print members for member in members: if len(Notify.objects.filter(notify_type='recommend_activity',notify_to=member,notify_from=member_login,object_id=activity_id)) == 0: notify_type = 'recommend_activity' content = ("<a href='/" + member_login.user.username + "' >" + member_login.user.first_name + " " + member_login.user.last_name + "</a>" + " recommend you this activity " + "<a href='/activity/" + str(activity.pk) + "' >" + activity.name + "</a>.") new_notify = Notify.objects.create(object_id=activity_id,notify_type=notify_type,status='new',notify_to=member,notify_from=member_login,date=datetime.datetime.now(),content=content) new_notify.save() new_buzz_type = len(Notify.objects.filter(notify_to=member,status='new')) new_mail_type = len(Message.objects.filter(member_receive=member,status='new')) buzz = simplejson.dumps({'new_notify': new_mail_type+new_buzz_type,'new_buzz_type':new_buzz_type,'new_mail_type': new_mail_type, 'username': member.user.username}) conn.send(buzz,destination='/update') return simplejson.dumps({})
def message_main_view(request): autocomplete_data = get_autocomplete_data(request) member_login = get_member_login_object(request) friends = member_login.get_friends() friends_autocomplete_data = get_friends_autocomplete_data(request, message=True) messages = get_all_conversation(request) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response('message_template/page/main_page.html', { 'autocomplete_data': autocomplete_data, 'member_login': member_login, 'new_buzzes': new_buzzes, 'new_mail': new_mail, 'new_notify': new_notify, 'friends': friends, 'friends_autocomplete_data': friends_autocomplete_data, 'messages': messages }, context_instance=RequestContext(request))
def cancel_friend_request(request,username): member_add_request = get_member_login_object(request) member_receive_request = Member.objects.get(user=User.objects.get(username=username)) fr = FriendshipRequest.objects.filter(from_user=member_add_request.user, to_user=member_receive_request.user, accepted=False) if len(fr) != 0: fr[0].cancel() n = Notify.objects.get(notify_type='add_friend',notify_to=member_receive_request,notify_from=member_add_request) new_content = ("<div class='notify-main-content'>" + "<a href='/" + member_add_request.user.username + "' >" + member_add_request.user.first_name + " " + member_add_request.user.last_name + "</a>" + " want to be friend with you" + "</div>" + "<div class='notify-request-not-active'>" + " This request is no longer active " + "</div>") n.content = new_content n.notify_type = 'friend_request_not_active' n.save() return simplejson.dumps({'username':username,'firstname': member_receive_request.user.first_name,'lastname': member_receive_request.user.last_name, 'reload': 'False', 'gender': member_receive_request.gender}) else: return simplejson.dumps({'reload':'True'})
def decline_friend_request(request,username): member_add_request = Member.objects.get(user=User.objects.get(username=username)) member_receive_request = get_member_login_object(request) fr = FriendshipRequest.objects.filter(from_user=member_add_request.user, to_user=member_receive_request.user, accepted=False) if len(fr) != 0: fr[0].decline() n = Notify.objects.get(notify_type='add_friend',notify_to=member_receive_request,notify_from=member_add_request) new_content = ("<div class='notify-main-content'>" + "<a href='/" + member_add_request.user.username + "' >" + member_add_request.user.first_name + " " + member_add_request.user.last_name + "</a>" + " want to be friend with you" + "</div>" + "<div class='notify-decline-friend-request'>" + "You have declined this request" + "</div>") n.content = new_content n.notify_type = 'add_friend_response_decline' n.save() return simplejson.dumps({'username':username,'firstname': member_add_request.user.first_name,'lastname': member_add_request.user.last_name,'reload':'False'}) else: return simplejson.dumps({'reload':'True'})
def recommend_friend(request, activity_id, friends): activity = Activity.objects.get(pk=activity_id) member_login = get_member_login_object(request) members = Member.objects.filter(pk__in=friends) #print members for member in members: if len( Notify.objects.filter(notify_type='recommend_activity', notify_to=member, notify_from=member_login, object_id=activity_id)) == 0: notify_type = 'recommend_activity' content = ("<a href='/" + member_login.user.username + "' >" + member_login.user.first_name + " " + member_login.user.last_name + "</a>" + " recommend you this activity " + "<a href='/activity/" + str(activity.pk) + "' >" + activity.name + "</a>.") new_notify = Notify.objects.create(object_id=activity_id, notify_type=notify_type, status='new', notify_to=member, notify_from=member_login, date=datetime.datetime.now(), content=content) new_notify.save() new_buzz_type = len( Notify.objects.filter(notify_to=member, status='new')) new_mail_type = len( Message.objects.filter(member_receive=member, status='new')) buzz = simplejson.dumps({ 'new_notify': new_mail_type + new_buzz_type, 'new_buzz_type': new_buzz_type, 'new_mail_type': new_mail_type, 'username': member.user.username }) conn.send(buzz, destination='/update') return simplejson.dumps({})
def add_friend(request,username): member_add_request = get_member_login_object(request) member_receive_request = Member.objects.get(user=User.objects.get(username=username)) try: fr = FriendshipRequest.objects.get(from_user=member_add_request.user,to_user=member_receive_request.user,accepted=True) fr.accepted = False fr.save() except: FriendshipRequest.objects.create(from_user=member_add_request.user, to_user=member_receive_request.user, message='') try: Friendship.objects.get(user=member_add_request.user) except Friendship.DoesNotExist: Friendship.objects.create(user=member_add_request.user) try: Friendship.objects.get(user=member_receive_request.user) except Friendship.DoesNotExist: Friendship.objects.create(user=member_receive_request.user) if len(Notify.objects.filter(notify_type='add_friend',notify_to=member_receive_request,notify_from=member_add_request)) == 0: notify_type= 'add_friend' new_notify = Notify.objects.create(notify_type=notify_type,notify_to=member_receive_request,notify_from=member_add_request,status='new',date=datetime.datetime.now(),content='') content = ("<div class='notify-main-content'>" + "<a href='/" + member_add_request.user.username + "/' >" + member_add_request.user.first_name + " " + member_add_request.user.last_name + "</a>" + " want to be friend with you" + "</div>" + "<div class='decide-btn-area'>" + "<input type='hidden' id='get_username_notify" + str(new_notify.pk) + "' value='" + member_add_request.user.username + "' >" + "<input type='button' class='btn btn-primary' value='Accept' onClick='handle_accept_friend_request(" + str(new_notify.pk) + ")'/>" + "<input type='button' class='btn' value='Decline' onClick='handle_decline_friend_request(" + str(new_notify.pk) + ")' />" + "</div>") new_notify.content = content new_notify.save() new_buzz_type = len(Notify.objects.filter(notify_to=member_receive_request,status='new')) new_mail_type = len(Message.objects.filter(member_receive=member_receive_request,status='new')) buzz = simplejson.dumps({'new_notify': new_mail_type+new_buzz_type,'new_buzz_type':new_buzz_type,'new_mail_type':new_mail_type, 'username': member_receive_request.user.username}) conn.send(buzz,destination='/update') return simplejson.dumps({'username':username,'firstname': member_receive_request.user.first_name,'lastname': member_receive_request.user.last_name})
def message_main_view(request): autocomplete_data = get_autocomplete_data(request) member_login = get_member_login_object(request) friends = member_login.get_friends() friends_autocomplete_data = get_friends_autocomplete_data(request,message=True) messages = get_all_conversation(request) new_buzzes = get_new_buzzes(request) new_mail = get_new_mail(request) new_notify = len(new_buzzes) + len(new_mail) return render_to_response('message_template/page/main_page.html', { 'autocomplete_data': autocomplete_data, 'member_login': member_login, 'new_buzzes': new_buzzes, 'new_mail': new_mail, 'new_notify': new_notify, 'friends': friends, 'friends_autocomplete_data': friends_autocomplete_data, 'messages': messages }, context_instance=RequestContext(request) )
def cancel_joining_activity(request, activity_id, message): member_login = get_member_login_object(request) activity = Activity.objects.get(pk=activity_id) activity.member_join.remove(member_login) activity_request = ActivityRequest.objects.get( activity=activity, member_join=member_login, member_create=activity.member_create) activity_request.delete() notify_type = 'cancel_joining_activity' content = ("<a href='/" + member_login.user.username + "' >" + member_login.user.first_name + " " + member_login.user.last_name + "</a>" + " want to cancel attending your activity " + "<a href='/activity/" + str(activity.pk) + "' >" + activity.name + "</a>." + "\n The reason for this cancel is: \n" + message) new_notify = Notify.objects.create(notify_type=notify_type, notify_to=activity.member_create, notify_from=member_login, status='new', date=datetime.datetime.now(), content=content) new_notify.save() new_buzz_type = len( Notify.objects.filter(notify_to=activity.member_create, status='new')) new_mail_type = len( Message.objects.filter(member_receive=activity.member_create, status='new')) buzz = simplejson.dumps({ 'new_notify': new_mail_type + new_buzz_type, 'new_buzz_type': new_buzz_type, 'new_mail_type': new_mail_type, 'username': activity.member_create.user.username }) conn.send(buzz, destination='/update') return simplejson.dumps({'activity_id': activity_id})