def ajax_sol_vote(request, sol_id): real_solution_id = int(sol_id) vote_value = int(request.POST.get('voteVal')) unvote = request.POST.get('unvote') if vote_value > 100 or vote_value < -100: vote_value = 0 try: needed_solution = Solution.objects.get(id=real_solution_id, is_deleted=False) except: return HttpResponse(simplejson.dumps({'error': True}, sort_keys=True, indent=4), content_type = 'application/json') try: if request.user.is_authenticated and request.user == needed_solution.owner: is_author = True else: is_author = False except: is_author = False if is_author: json = simplejson.dumps({ 'is_author': True }) return HttpResponse(json, mimetype='application/json') voter_score, c = User_score.objects.get_or_create(user=request.user) vote, c = Vote.objects.get_or_create_vote(solution=needed_solution, solution_owner=needed_solution.owner, user=request.user) is_deleted = True if unvote=='true' else False try: voted_score = User_score.objects.get(user=needed_solution.owner) is_external = False except: voted_score = User_score.objects.get(external_user=needed_solution.external_answerer) is_external = True if c and not is_deleted: voter_score.votes_count = int(voter_score.votes_count) + 1 voted_score.voted_count = int(voted_score.voted_count) + 1 needed_solution.votes_count = int(needed_solution.votes_count) + 1 needed_solution.votes_sum = int(needed_solution.votes_sum) + vote_value voted_score.voted = int(voted_score.voted) + vote_value elif not c and is_deleted: voter_score.votes_count = int(voter_score.votes_count) - 1 voted_score.voted_count = int(voted_score.voted_count) - 1 needed_solution.votes_count = int(needed_solution.votes_count) - 1 needed_solution.votes_sum = int(needed_solution.votes_sum) - int(vote.vote) + vote_value voted_score.voted = int(voted_score.voted) - int(vote.vote) + vote_value elif not c and not is_deleted: needed_solution.votes_sum = int(needed_solution.votes_sum) - int(vote.vote) + vote_value voted_score.voted = int(voted_score.voted) - int(vote.vote) + vote_value vote.is_deleted = is_deleted vote.vote = vote_value vote.datetime = datetime.datetime.now() vote.save() voter_score.save() voted_score.save() needed_solution.save() if not is_external: graphs_user_info = graphs_user(request=request, user_username=needed_solution.owner.username, external=False, JSON='JSON_ready', score=True) else: graphs_user_info = graphs_user(request=request, user_username=needed_solution.external_answerer.id, external=True, JSON='JSON_ready', score=True) results = {'graphs_solution_info': graphs_solution(request, real_solution_id, JSON='JSON_ready'), 'graphs_user_info': graphs_user_info} return HttpResponse(simplejson.dumps(results, sort_keys=True, indent=4), content_type = 'application/json')
def main_template_processor(request): try: if request.user.is_authenticated: graphs_currentuser_info = graphs_user(request, user_username=request.user.username, JSON=False) return {'graphs_currentuser_info': graphs_currentuser_info} except: return {}
def get_comment_by_id(request, id_exact, operation='view_comment', JSON=True): from solutioner.users.views import graphs_user operator_user = request.user try: comment = Comment.objects.get(id__exact=id_exact) graphs_user_info = graphs_user(request, comment.operator.username, JSON=False) comment_datetime = '%s' % comment.datetime if JSON else comment.datetime message_dict = { 'not_allowed': False, 'id': comment.id, 'message': comment.message, 'datetime': comment_datetime, 'graphs_user_info': graphs_user_info } except: comment = None message_dict = {'not_allowed': True} if JSON == 'JSON_ready': return message_dict elif JSON: return HttpResponse(simplejson.dumps(message_dict, sort_keys=True, indent=4), content_type='application/json') else: return message_dict
def get_comment_by_id(request, id_exact, operation='view_comment', JSON=True): from solutioner.users.views import graphs_user operator_user = request.user try: comment = Comment.objects.get(id__exact = id_exact) graphs_user_info = graphs_user(request, comment.operator.username, JSON=False) comment_datetime = '%s'%comment.datetime if JSON else comment.datetime message_dict = {'not_allowed': False, 'id': comment.id, 'message': comment.message, 'datetime': comment_datetime, 'graphs_user_info': graphs_user_info} except: comment = None message_dict = {'not_allowed': True} if JSON == 'JSON_ready': return message_dict elif JSON: return HttpResponse(simplejson.dumps(message_dict, sort_keys=True, indent=4), content_type = 'application/json') else: return message_dict
def view_solution(request, solution_id): try: redirectTo = re.search(r'http://[-.\w\d]+/(.+)', request.META['HTTP_REFERER']).group(1) redirectTo = '/'+redirectTo except: redirectTo = '/' real_solution_id = int(solution_id) needed_solution = get_object_or_404(Solution, id=real_solution_id, is_deleted=False) owner_score = User_score.objects.get(user=needed_solution.owner) if request.user != needed_solution.owner: owner_score.viewed_count = int(owner_score.viewed_count) + 1 owner_score.save() try: needed_solution.viewed = int(needed_solution.viewed) + 1 except: needed_solution.viewed = 0 needed_solution.save() graphs_user_info = graphs_user(request, user_username=needed_solution.owner.username, external=False, JSON=False, score=True) add_comment_av = False if RBACGenericPermission.objects.get_user_permission(needed_solution.owner, Solution, 'add_comment', request.user) and request.user.is_authenticated(): add_comment_av = True if add_comment_av: #if permissions passed, POST vars come to account form = add_comment(request, object_inst=needed_solution , JSON=False) if not form: #DONE! return HttpResponseRedirect(redirectTo) else: form = None if request.user.is_authenticated() and request.user != needed_solution.owner: user_score = User_score.objects.get(user=request.user) user_score.views_count = int(user_score.views_count) + 1 user_score.save() graphs_solution_info = graphs_solution(request, real_solution_id, JSON=False) tags = Solution.objects.get(id=real_solution_id).tags.values_list('id', flat=True) soltags = Solution.objects.filter(tags__id__in=tags).exclude(id=real_solution_id)[0:20] latestsols = most_recent_sols() mostpops = most_pop_sols() comments = get_comment(request=request, operation='view_comment', owner=needed_solution.owner, model=Solution, order_by='-datetime', limit=10, object_inst=needed_solution) return render_to_response('view_solution.html',{ 'graphs_solution_info': graphs_solution_info, 'graphs_user_info': graphs_user_info,'soltags':soltags, 'mostpops':mostpops, 'latestsols':latestsols, 'form': form, 'add_comment_av': add_comment_av, 'comments': comments }, context_instance=RequestContext(request))
def get_comment(request, owner, model, object_inst, operation, order_by='datetime', last_id=False, first_ever_comment=False, limit=5, JSON=False, **kwargs): from solutioner.users.views import graphs_user filter_dict = {'is_deleted': False, 'owner_id': owner.id, 'owner_ct': ContentType.objects.get_for_model(owner), 'object_ct': ContentType.objects.get_for_model(object_inst), 'object_id': object_inst.id } for key in kwargs: if kwargs[key]: filter_dict[key] = kwargs[key] operator_user = request.user try: permission = RBACGenericPermission.objects.get_user_permission(owner, model, operation, operator_user) except: permission = False if not permission: filter_dict['operator_id'] = request.user.id if last_id: filter_dict['id__lt'] = last_id else: try: filter_dict['id__lt'] = Comment.objects.filter(**filter_dict).order_by(order_by)[:1][0].id + 1 except: filter_dict['id__lt'] = 0 if first_ever_comment: try: first_ever_comment = Comment.objects.filter(**filter_dict).order_by('datetime')[:1][0].id except: first_ever_comment = 0 comments = Comment.objects.filter(**filter_dict).order_by(order_by)[:limit] comments_list = [] for comment in comments: last_comment = comment.id graphs_user_info = graphs_user(request, comment.operator.username, JSON=False) comment_datetime = '%s'%comment.datetime if JSON else comment.datetime message_dict = {'id': comment.id, 'message': comment.message, 'datetime': comment_datetime, 'datetime_since': timesince(comment.datetime), 'graphs_user_info': graphs_user_info} comments_list.append(message_dict) comments= {'last_comment': last_comment, 'first_ever_comment': first_ever_comment, 'comments_list': comments_list } if JSON: return HttpResponse(simplejson.dumps(comments, sort_keys=True, indent=4), content_type = 'application/json') else: return comments_list
def follow_suggest(request): random_t = random.random() suggest = None following_count = User_info.objects.get(user=request.user).following.all().count() f_list = range(0, following_count) done = False if random_t > 0.5: while not done: if f_list: rand = random.choice(f_list) following = User_info.objects.get(user=request.user).following.all()[rand] suggest_count = User_info.objects.get(user=following).following.all().count() suggest_list = range(0, suggest_count) suggested = False while not suggested: if suggest_list: s_rand = random.choice(suggest_list) suggest = User_info.objects.get(user=following).following.all()[s_rand] if suggest != request.user and not (User_info.objects.get(user=request.user).following.filter(username=suggest.username)): suggested = True done = True else: suggest = None suggest_list.remove(s_rand) else: f_list.remove(rand) suggested = True else: done = True if not suggest: followers_count = request.user.users_usersfollowing.all().count() followers_list = range(0, followers_count) suggested = False while not suggested: if followers_list: rand = random.choice(followers_list) suggest = suggest = User.objects.get(username=request.user.users_usersfollowing.all()[rand]) if suggest != request.user and not (User_info.objects.get(user=request.user).following.filter(username=suggest)): suggested = True else: suggest = None followers_list.remove(rand) else: suggested = True else: followers_count = request.user.users_usersfollowing.all().count() followers_list = range(0, followers_count) suggested = False while not suggested: if followers_list: rand = random.choice(followers_list) suggest = User.objects.get(username=request.user.users_usersfollowing.all()[rand]) if suggest != request.user and not (User_info.objects.get(user=request.user).following.filter(username=suggest)): suggested = True else: suggest = None followers_list.remove(rand) else: suggested = True if not suggest: while not done: if f_list: rand = random.choice(f_list) following = User_info.objects.get(user=request.user).following.all()[rand] suggest_count = User_info.objects.get(user=following).following.all().count() suggest_list = range(0, suggest_count) suggested = False while not suggested: if suggest_list: s_rand = random.choice(suggest_list) suggest = User_info.objects.get(user=following).following.all()[s_rand] if suggest != request.user and not (User_info.objects.get(user=request.user).following.filter(username=suggest.username)): suggested = True done = True else: suggest = None suggest_list.remove(s_rand) else: f_list.remove(rand) suggested = True else: done = True if suggest: from solutioner.users.views import graphs_user suggest = graphs_user(request, user=suggest, JSON=False) return HttpResponse(simplejson.dumps({'suggest': suggest}, sort_keys=True, indent=4), content_type = 'application/json')
def ajax_sol_vote(request, sol_id): real_solution_id = int(sol_id) vote_value = int(request.POST.get('voteVal')) unvote = request.POST.get('unvote') if vote_value > 100 or vote_value < -100: vote_value = 0 try: needed_solution = Solution.objects.get(id=real_solution_id, is_deleted=False) except: return HttpResponse(simplejson.dumps({'error': True}, sort_keys=True, indent=4), content_type='application/json') try: if request.user.is_authenticated and request.user == needed_solution.owner: is_author = True else: is_author = False except: is_author = False if is_author: json = simplejson.dumps({'is_author': True}) return HttpResponse(json, mimetype='application/json') voter_score, c = User_score.objects.get_or_create(user=request.user) vote, c = Vote.objects.get_or_create_vote( solution=needed_solution, solution_owner=needed_solution.owner, user=request.user) is_deleted = True if unvote == 'true' else False try: voted_score = User_score.objects.get(user=needed_solution.owner) is_external = False except: voted_score = User_score.objects.get( external_user=needed_solution.external_answerer) is_external = True if c and not is_deleted: voter_score.votes_count = int(voter_score.votes_count) + 1 voted_score.voted_count = int(voted_score.voted_count) + 1 needed_solution.votes_count = int(needed_solution.votes_count) + 1 needed_solution.votes_sum = int(needed_solution.votes_sum) + vote_value voted_score.voted = int(voted_score.voted) + vote_value elif not c and is_deleted: voter_score.votes_count = int(voter_score.votes_count) - 1 voted_score.voted_count = int(voted_score.voted_count) - 1 needed_solution.votes_count = int(needed_solution.votes_count) - 1 needed_solution.votes_sum = int(needed_solution.votes_sum) - int( vote.vote) + vote_value voted_score.voted = int(voted_score.voted) - int( vote.vote) + vote_value elif not c and not is_deleted: needed_solution.votes_sum = int(needed_solution.votes_sum) - int( vote.vote) + vote_value voted_score.voted = int(voted_score.voted) - int( vote.vote) + vote_value vote.is_deleted = is_deleted vote.vote = vote_value vote.datetime = datetime.datetime.now() vote.save() voter_score.save() voted_score.save() needed_solution.save() if not is_external: graphs_user_info = graphs_user( request=request, user_username=needed_solution.owner.username, external=False, JSON='JSON_ready', score=True) else: graphs_user_info = graphs_user( request=request, user_username=needed_solution.external_answerer.id, external=True, JSON='JSON_ready', score=True) results = { 'graphs_solution_info': graphs_solution(request, real_solution_id, JSON='JSON_ready'), 'graphs_user_info': graphs_user_info } return HttpResponse(simplejson.dumps(results, sort_keys=True, indent=4), content_type='application/json')
def view_solution(request, solution_id): try: redirectTo = re.search(r'http://[-.\w\d]+/(.+)', request.META['HTTP_REFERER']).group(1) redirectTo = '/' + redirectTo except: redirectTo = '/' real_solution_id = int(solution_id) needed_solution = get_object_or_404(Solution, id=real_solution_id, is_deleted=False) owner_score = User_score.objects.get(user=needed_solution.owner) if request.user != needed_solution.owner: owner_score.viewed_count = int(owner_score.viewed_count) + 1 owner_score.save() try: needed_solution.viewed = int(needed_solution.viewed) + 1 except: needed_solution.viewed = 0 needed_solution.save() graphs_user_info = graphs_user( request, user_username=needed_solution.owner.username, external=False, JSON=False, score=True) add_comment_av = False if RBACGenericPermission.objects.get_user_permission( needed_solution.owner, Solution, 'add_comment', request.user) and request.user.is_authenticated(): add_comment_av = True if add_comment_av: #if permissions passed, POST vars come to account form = add_comment(request, object_inst=needed_solution, JSON=False) if not form: #DONE! return HttpResponseRedirect(redirectTo) else: form = None if request.user.is_authenticated( ) and request.user != needed_solution.owner: user_score = User_score.objects.get(user=request.user) user_score.views_count = int(user_score.views_count) + 1 user_score.save() graphs_solution_info = graphs_solution(request, real_solution_id, JSON=False) tags = Solution.objects.get(id=real_solution_id).tags.values_list( 'id', flat=True) soltags = Solution.objects.filter(tags__id__in=tags).exclude( id=real_solution_id)[0:20] latestsols = most_recent_sols() mostpops = most_pop_sols() comments = get_comment(request=request, operation='view_comment', owner=needed_solution.owner, model=Solution, order_by='-datetime', limit=10, object_inst=needed_solution) return render_to_response('view_solution.html', { 'graphs_solution_info': graphs_solution_info, 'graphs_user_info': graphs_user_info, 'soltags': soltags, 'mostpops': mostpops, 'latestsols': latestsols, 'form': form, 'add_comment_av': add_comment_av, 'comments': comments }, context_instance=RequestContext(request))
def get_comment(request, owner, model, object_inst, operation, order_by='datetime', last_id=False, first_ever_comment=False, limit=5, JSON=False, **kwargs): from solutioner.users.views import graphs_user filter_dict = { 'is_deleted': False, 'owner_id': owner.id, 'owner_ct': ContentType.objects.get_for_model(owner), 'object_ct': ContentType.objects.get_for_model(object_inst), 'object_id': object_inst.id } for key in kwargs: if kwargs[key]: filter_dict[key] = kwargs[key] operator_user = request.user try: permission = RBACGenericPermission.objects.get_user_permission( owner, model, operation, operator_user) except: permission = False if not permission: filter_dict['operator_id'] = request.user.id if last_id: filter_dict['id__lt'] = last_id else: try: filter_dict['id__lt'] = Comment.objects.filter( **filter_dict).order_by(order_by)[:1][0].id + 1 except: filter_dict['id__lt'] = 0 if first_ever_comment: try: first_ever_comment = Comment.objects.filter( **filter_dict).order_by('datetime')[:1][0].id except: first_ever_comment = 0 comments = Comment.objects.filter(**filter_dict).order_by(order_by)[:limit] comments_list = [] for comment in comments: last_comment = comment.id graphs_user_info = graphs_user(request, comment.operator.username, JSON=False) comment_datetime = '%s' % comment.datetime if JSON else comment.datetime message_dict = { 'id': comment.id, 'message': comment.message, 'datetime': comment_datetime, 'datetime_since': timesince(comment.datetime), 'graphs_user_info': graphs_user_info } comments_list.append(message_dict) comments = { 'last_comment': last_comment, 'first_ever_comment': first_ever_comment, 'comments_list': comments_list } if JSON: return HttpResponse(simplejson.dumps(comments, sort_keys=True, indent=4), content_type='application/json') else: return comments_list
def events_list_maker(request, events, JSON=False): from solutioner.users.views import graphs_user operators_info = {} events_list = [] for event in events: event_dict = {'datetime_since': timesince(event.datetime)} event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime try: event_dict['graphs_user_info'] = operators_info[event.operator] except: operators_info[event.operator] = graphs_user(request=request, user=event.operator, JSON=False) event_dict['graphs_user_info'] = operators_info[event.operator] if event.operation_result_ct == ContentType.objects.get_for_model( Comment) and event.operation.name == 'post_desk': permission = check_event_perm(request, owner=event.owner, model=event.object, operation='view_desk', operator_user=request.user, event=event) if permission: event_dict.update(event_dict_f(event)) if JSON: comment = get_comment_by_id( request, id_exact=event.operation_result_id, operation='view_desk', JSON='JSON_ready') else: comment = get_comment_by_id( request, id_exact=event.operation_result_id, operation='view_desk', JSON=False) event_dict['comment'] = comment event_dict['type'] = 'comment' else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model( Comment ) and event.object_ct == ContentType.objects.get_for_model( Solution) and event.operation.name == 'add_comment': #permission = check_event_perm(request, owner=event.owner, model=event.operation_result, operation='view_comment', operator_user=request.user, event=event) if True: #permission event_dict.update(event_dict_f(event)) if JSON: comment = get_comment_by_id( request, id_exact=event.operation_result_id, operation='view_comment', JSON='JSON_ready') else: comment = get_comment_by_id( request, id_exact=event.operation_result_id, operation='view_comment', JSON=False) event_dict['comment'] = comment event_dict['type'] = 'commented_on_solution' else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model( Solution) and event.operation.name == 'add_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) from solutioner.users.views import graphs_solution_plus_user solution = graphs_solution_plus_user(request, event.operation_result_id, JSON='JSON_ready', safe=True) event_dict['type'] = 'add_solution' event_dict['solution'] = solution elif event.operation_result_ct == ContentType.objects.get_for_model( Solution) and event.operation.name == 'edit_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_solution' elif event.operation_result_ct == ContentType.objects.get_for_model( User) and event.operation.name == 'register': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'register' elif event.operation_result_ct == ContentType.objects.get_for_model( User) and event.operation.name == 'edit_profile': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_profile' elif event.operation_result_ct == ContentType.objects.get_for_model( Vote) and event.operation.name == 'vote_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'vote_solution' events_list.append(event_dict) last_event = event.id try: last_event = last_event except: last_event = 1 return events_list, last_event
def notification_list_maker(events, request=None, JSON=False, cur_user=None): operators_info = {} events_list = [] for event in events: event_dict = {} from solutioner.users.views import graphs_user try: event_dict['graphs_user_info'] = operators_info[event.operator] except: operators_info[event.operator] = graphs_user(request=request, user=event.operator, JSON=False, cur_user=cur_user) event_dict['graphs_user_info'] = operators_info[event.operator] if event.operation_result_ct == ContentType.objects.get_for_model( Comment) and event.operation.name == 'post_desk': #permission = check_event_perm(request, owner=event.owner, model=event.object, operation='view_desk', operator_user=request.user, event=event) if True: event_dict.update(event_dict_f(event)) event_dict['type'] = 'commented_on_desk' event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model( Comment ) and event.object_ct == ContentType.objects.get_for_model( Solution) and event.operation.name == 'add_comment': #permission = check_event_perm(request, owner=event.owner, model=event.operation_result, operation='view_comment', operator_user=request.user, event=event) if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'commented_on_solution' event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model( Solution) and event.operation.name == 'add_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'add_solution' event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model( Solution) and event.operation.name == 'edit_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_solution' event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model( User) and event.operation.name == 'register': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'register' event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model( User) and event.operation.name == 'edit_profile': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_profile' event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model( Vote) and event.operation.name == 'vote_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'vote_solution' event_dict[ 'datetime'] = '%s' % event.datetime if JSON else event.datetime events_list.append(event_dict) return events_list
def events_list_maker(request, events, JSON=False): from solutioner.users.views import graphs_user operators_info = {} events_list = [] for event in events: event_dict = {'datetime_since': timesince(event.datetime) } event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime try: event_dict['graphs_user_info'] = operators_info[event.operator] except: operators_info[event.operator] = graphs_user(request=request, user=event.operator, JSON=False) event_dict['graphs_user_info'] = operators_info[event.operator] if event.operation_result_ct == ContentType.objects.get_for_model(Comment) and event.operation.name == 'post_desk': permission = check_event_perm(request, owner=event.owner, model=event.object, operation='view_desk', operator_user=request.user, event=event) if permission: event_dict.update(event_dict_f(event)) if JSON: comment = get_comment_by_id(request, id_exact=event.operation_result_id, operation='view_desk', JSON='JSON_ready') else: comment = get_comment_by_id(request, id_exact=event.operation_result_id, operation='view_desk', JSON=False) event_dict['comment'] = comment event_dict['type'] = 'comment' else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model(Comment) and event.object_ct == ContentType.objects.get_for_model(Solution) and event.operation.name == 'add_comment': #permission = check_event_perm(request, owner=event.owner, model=event.operation_result, operation='view_comment', operator_user=request.user, event=event) if True: #permission event_dict.update(event_dict_f(event)) if JSON: comment = get_comment_by_id(request, id_exact=event.operation_result_id, operation='view_comment', JSON='JSON_ready') else: comment = get_comment_by_id(request, id_exact=event.operation_result_id, operation='view_comment', JSON=False) event_dict['comment'] = comment event_dict['type'] = 'commented_on_solution' else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model(Solution) and event.operation.name == 'add_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) from solutioner.users.views import graphs_solution_plus_user solution = graphs_solution_plus_user(request, event.operation_result_id, JSON='JSON_ready', safe=True) event_dict['type'] = 'add_solution' event_dict['solution'] = solution elif event.operation_result_ct == ContentType.objects.get_for_model(Solution) and event.operation.name == 'edit_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_solution' elif event.operation_result_ct == ContentType.objects.get_for_model(User) and event.operation.name == 'register': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'register' elif event.operation_result_ct == ContentType.objects.get_for_model(User) and event.operation.name == 'edit_profile': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_profile' elif event.operation_result_ct == ContentType.objects.get_for_model(Vote) and event.operation.name == 'vote_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'vote_solution' events_list.append(event_dict) last_event = event.id try: last_event = last_event except: last_event = 1 return events_list, last_event
def notification_list_maker(events,request=None, JSON=False, cur_user=None): operators_info = {} events_list = [] for event in events: event_dict = {} from solutioner.users.views import graphs_user try: event_dict['graphs_user_info'] = operators_info[event.operator] except: operators_info[event.operator] = graphs_user(request=request, user=event.operator, JSON=False, cur_user=cur_user) event_dict['graphs_user_info'] = operators_info[event.operator] if event.operation_result_ct == ContentType.objects.get_for_model(Comment) and event.operation.name == 'post_desk': #permission = check_event_perm(request, owner=event.owner, model=event.object, operation='view_desk', operator_user=request.user, event=event) if True: event_dict.update(event_dict_f(event)) event_dict['type'] = 'commented_on_desk' event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model(Comment) and event.object_ct == ContentType.objects.get_for_model(Solution) and event.operation.name == 'add_comment': #permission = check_event_perm(request, owner=event.owner, model=event.operation_result, operation='view_comment', operator_user=request.user, event=event) if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'commented_on_solution' event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime else: event_dict = {} elif event.operation_result_ct == ContentType.objects.get_for_model(Solution) and event.operation.name == 'add_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'add_solution' event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model(Solution) and event.operation.name == 'edit_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_solution' event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model(User) and event.operation.name == 'register': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'register' event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model(User) and event.operation.name == 'edit_profile': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'edit_profile' event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime elif event.operation_result_ct == ContentType.objects.get_for_model(Vote) and event.operation.name == 'vote_solution': #permission = check_event_perm() if True: #permission event_dict.update(event_dict_f(event)) event_dict['type'] = 'vote_solution' event_dict['datetime'] = '%s'%event.datetime if JSON else event.datetime events_list.append(event_dict) return events_list