def modify(request): if request.user.is_authenticated(): if request.method == 'POST': sug = str(request.POST.get("suggestion").encode('utf-8')) article = get_object_or_404( ArticleDetails, id=request.POST.get("article")) feedbacks = Feedback.objects.filter(articledetails_id = request.POST.get("article"), email= request.POST.get("email"), name = request.POST.get("name")) for feedback in feedbacks: if feedback.suggestion.raw.encode('utf-8') == sug: return HttpResponse(simplejson.dumps({'duplicate':True,'name':request.POST.get("name")})) Feedback(user = request.POST.get("user_id"),articledetails_id = request.POST.get("article"),suggestion = request.POST.get("suggestion") , email = request.POST.get("email"), name = request.POST.get("name")).save() feedback = Feedback.objects.filter(articledetails_id = request.POST.get("article"),suggestion = request.POST.get("suggestion") , email= request.POST.get("email"), name = request.POST.get("name")) article.feedback_count = article.feedback_count + 1 article.save() if request.user.username != "admin": # post on twitter or facebook if UserSocialAuth.auth_provider(request.user.username) == 'facebook': extra_data = UserSocialAuth.get_extra_data(request.user.username) access_token = extra_data['access_token'] # GraphAPI is the main class from facebook_sdp.py art = get_object_or_404(ArticleDetails, id=request.POST.get("article")) art_name = art.header.name.encode('utf-8') art_body = art.summary.raw.encode('utf-8') graph = facebook_sdk.GraphAPI(access_token) attachment = {} attachment['name'] = art_name attachment['link'] = shorten_url(settings.domain+"sharek/"+request.POST.get("class_slug")+"/"+request.POST.get("article_slug")+"/comment/"+str(feedback[0].id)+"/") attachment['picture'] = settings.domain + settings.STATIC_URL + "images/facebook-thumb.jpg" attachment['description'] = art_body message = 'لقد شاركت في كتابة #دستور_مصر وقمت بالتعليق على '+art_name+" من الدستور" graph.put_wall_post(message, attachment) if UserSocialAuth.auth_provider(request.user.username) == 'twitter': extra_data = UserSocialAuth.get_extra_data(request.user.username) access_token = extra_data['access_token'] access_token_secret = access_token[access_token.find('=')+1 : access_token.find('&')] access_token_key = access_token[access_token.rfind('=')+1:] api = twitter.Api(consumer_key=settings.TWITTER_CONSUMER_KEY, consumer_secret=settings.TWITTER_CONSUMER_SECRET, access_token_key=access_token_key, access_token_secret=access_token_secret) link = shorten_url(settings.domain+"sharek/"+request.POST.get("class_slug")+"/"+request.POST.get("article_slug")+"/comment/"+str(feedback[0].id)+"/") message = 'لقد شاركت في كتابة #دستور_مصر بالتعليق على '+get_object_or_404(ArticleDetails, id=request.POST.get("article")).header.name.encode('utf-8')+" "+link api.PostUpdate(message) return HttpResponse(simplejson.dumps({'date':str(feedback[0].date),'id':feedback[0].id ,'suggestion':request.POST.get("suggestion")}))
def modify(request): if request.user.is_authenticated(): if request.method == 'POST': sug = str(request.POST.get("suggestion").encode('utf-8')) article = get_object_or_404(ArticleDetails, id=request.POST.get("article")) feedbacks = Feedback.objects.filter( articledetails_id=request.POST.get("article"), email=request.POST.get("email"), name=request.POST.get("name")) for feedback in feedbacks: if feedback.suggestion.raw.encode('utf-8') == sug: return HttpResponse( simplejson.dumps({ 'duplicate': True, 'name': request.POST.get("name") })) Feedback(user=request.POST.get("user_id"), articledetails_id=request.POST.get("article"), suggestion=request.POST.get("suggestion"), email=request.POST.get("email"), name=request.POST.get("name")).save() feedback = Feedback.objects.filter( articledetails_id=request.POST.get("article"), suggestion=request.POST.get("suggestion"), email=request.POST.get("email"), name=request.POST.get("name")) article.feedback_count = article.feedback_count + 1 article.save() if request.user.username != "admin": # post on twitter or facebook if UserSocialAuth.auth_provider( request.user.username) == 'facebook': extra_data = UserSocialAuth.get_extra_data( request.user.username) access_token = extra_data['access_token'] # GraphAPI is the main class from facebook_sdp.py art = get_object_or_404(ArticleDetails, id=request.POST.get("article")) art_name = art.header.name.encode('utf-8') art_body = art.summary.raw.encode('utf-8') graph = facebook_sdk.GraphAPI(access_token) attachment = {} attachment['name'] = art_name attachment['link'] = shorten_url( settings.domain + "sharek/" + request.POST.get("class_slug") + "/" + request.POST.get("article_slug") + "/comment/" + str(feedback[0].id) + "/") attachment[ 'picture'] = settings.domain + settings.STATIC_URL + "images/facebook-thumb.jpg" attachment['description'] = art_body message = 'لقد شاركت في كتابة #دستور_مصر وقمت بالتعليق على ' + art_name + " من الدستور" graph.put_wall_post(message, attachment) if UserSocialAuth.auth_provider( request.user.username) == 'twitter': extra_data = UserSocialAuth.get_extra_data( request.user.username) access_token = extra_data['access_token'] access_token_secret = access_token[access_token.find('=') + 1:access_token.find('&' )] access_token_key = access_token[access_token.rfind('=') + 1:] api = twitter.Api( consumer_key=settings.TWITTER_CONSUMER_KEY, consumer_secret=settings.TWITTER_CONSUMER_SECRET, access_token_key=access_token_key, access_token_secret=access_token_secret) link = shorten_url(settings.domain + "sharek/" + request.POST.get("class_slug") + "/" + request.POST.get("article_slug") + "/comment/" + str(feedback[0].id) + "/") message = 'لقد شاركت في كتابة #دستور_مصر بالتعليق على ' + get_object_or_404( ArticleDetails, id=request.POST.get("article") ).header.name.encode('utf-8') + " " + link api.PostUpdate(message) return HttpResponse( simplejson.dumps({ 'date': str(feedback[0].date), 'id': feedback[0].id, 'suggestion': request.POST.get("suggestion") }))
def get_auth_provider(username): return UserSocialAuth.auth_provider(username)