def delete_notifications(request): asi_session = request.session['asi_session'] user_id = asi_session.user_id course_name = request.POST["plan course"] course_code = str(course_name).split('/')[-1] RecommendedCourse.delete_course(user_id=user_id, course_code=course_code) if "plan_to_take" in request.POST: forward_url = request.POST["plan course"] elif "ignore" in request.POST: forward_url = reverse("notifications") return HttpResponseRedirect(forward_url)
def get_notifications(cls, user_id): if user_id == None: return [] result = [] notifications = RecommendedCourse.get_all_recommended_courses(user_id) for notification in notifications: user_id = notification.user_recommending img_scr = ASI_BASE_URL + '/people/' + user_id \ + '/@avatar/small_thumbnail' user_scr = reverse('profile', args=[user_id]) try: user_inf = api.people.get(user_id) except api.people.UserDoesNotExist: continue try: user_name = user_inf['username'] except (KeyError, TypeError): user_name = 'Unknown' course_code = notification.course_code object_name = course_code action = 'recommends' update_time = notification.time result.append(PlanCourseEventLog(img_scr=img_scr, user_name=user_name, user_scr=user_scr, action=action, object_name=object_name, update_time=update_time, object_id=course_code)) return result
def recommend_to_friends(request, course_code): """ This method takes a post form with friend id's and adds to their recommended courses. """ asi_session = request.session['asi_session'] user_id = asi_session.user_id for friend_id, value in request.POST.iteritems(): if value == "on": recommended_course = RecommendedCourse( user_recommending = user_id, user_recommended = friend_id, course_code = course_code ) try: recommended_course.save() except IntegrityError: pass return HttpResponseRedirect(reverse("home"))
def home(request): asi_session = request.session['asi_session'] user_id = asi_session.user_id friends = api.people.get_friends(user_id) template = loader.get_template("frontpage/home.html") feedurl = 'frontpage/feeds.html' feeds = EventLog.constructor(user_ids=friends) notification_num = RecommendedCourse.get_notification_num(user_id=user_id) pending_friend_ids = asi_session.get_pending_friend_requests() friend_requests_num = len(pending_friend_ids) context = RequestContext(request, { 'asi_session': request.session['asi_session'], 'feedurl': feedurl, 'feeds': feeds, 'notification_num':notification_num, 'friend_requests_num': friend_requests_num }) return HttpResponse(template.render(context))