Ejemplo n.º 1
0
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")}))
Ejemplo n.º 2
0
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")
                }))