示例#1
0
def create_new_post(request, group_pk):
    response = {'result': False, 'reason': 'nope'}
    # import pdb
    # pdb.set_trace()
    user = is_logged_in(request)
    if user:
        group = Group.objects.filter(pk=group_pk)
        if group:
            group = group[0]
            if group in user.groups.all(): 
                try:
                    form = NewPostForm(request.POST)
                    if form.is_valid():
                        post = form.save()

                    post.OP.add(user)
                    post.save()
                    group.posts.add(post)
                    group.save()
                    response['result']=True
                    response['message'] = "Posted"
                    response['data'] = {"pk": post.pk}

                    badge = Badge.get_is_there_anybody_out_there_badge()
                    if badge not in user.badges.all():
                        user.badges.add(badge)
                        user.points += badge.points
                        user.save()
                        badge.save()

                except:
                    response['reason'] = "Incomplete Data"
            else:
                response['reason'] = "you are not a member of this group"
        else:
            response['reason'] = "No Group with this  PK found"
    else:
        response['reason'] = "not logged in"
    return HttpResponse(json.dumps(response), content_type="application/json")