def view_profile(request, username=None): if request.user.is_anonymous(): #tell user they need to be logged in to do that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect( '/accounts/login/') #redirect to login page else: if username is not None: try: userProfile = profileUtil.getProfileFromUser( User.objects.get(username=username)) except ObjectDoesNotExist: context = {} context['object'] = 'profile' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) else: userProfile = profileUtil.getProfileFromUser(request.user) toolsOwned = toolUtil.getAllToolsOwnedBy(userProfile) toolsBorrowed = toolUtil.getAllToolsBorrowedBy(userProfile) sheds = shedUtil.getAllShedsJoinedBy(userProfile) context = {} context.update(csrf(request)) context['currentUser'] = request.user context['userProfile'] = userProfile context['toolsOwned'] = toolsOwned context['toolsBorrowed'] = toolsBorrowed context['sheds'] = sheds context.update(content.genBaseLoggedIn(request)) return render_to_response('view_profile.html', context)
def view_profile(request, username=None): if request.user.is_anonymous(): #tell user they need to be logged in to do that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect('/accounts/login/') #redirect to login page else: if username is not None: try: userProfile = profileUtil.getProfileFromUser(User.objects.get(username=username)) except ObjectDoesNotExist: context = {} context['object'] = 'profile' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) else: userProfile = profileUtil.getProfileFromUser(request.user) toolsOwned = toolUtil.getAllToolsOwnedBy(userProfile) toolsBorrowed = toolUtil.getAllToolsBorrowedBy(userProfile) sheds = shedUtil.getAllShedsJoinedBy(userProfile) context = {} context.update(csrf(request)) context['currentUser'] = request.user context['userProfile'] = userProfile context['toolsOwned'] = toolsOwned context['toolsBorrowed'] = toolsBorrowed context['sheds'] = sheds context.update(content.genBaseLoggedIn(request)) return render_to_response('view_profile.html', context)
def view_shed_page( request, id, contextArg): #contextArg is a dict to be added to the content dict if request.user.is_anonymous(): return HttpResponseRedirect("/accounts/login") else: if id is not None: try: shedObj = shedUtil.getShedFromID(id) except ObjectDoesNotExist: context = {} context['object'] = 'shed' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) else: context = {} context['object'] = 'shed' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) owner = shedUtil.getOwnerOfShed(shedObj) name = shedUtil.getNameOfShed(shedObj) admins = shedUtil.getAllAdminsOfShed(shedObj) isAdmin = False for admin in admins: if admin == profileUtil.getProfileFromUser(request.user): isAdmin = True members = shedUtil.getAllMembersOfShed(shedObj) tools = toolUtil.getAllToolsInShed(shedObj) userProfile = profileUtil.getProfileFromUser(request.user) meetsMinRep = userProfile.reputation >= shedObj.minimumReputation shedMembership = shedUtil.checkForMembership(userProfile, id) actions = actionUtil.getProfileAction( profileUtil.getProfileFromUser(request.user)) actionRequest = None pendingRequest = False for action in actions: if action.shed == shedObj: actionRequest = action if actionRequest: if actionRequest.currrentState == "userShedRequest" or actionRequest.currrentState == "acceptDeny": pendingRequest = True context = {} context.update(csrf(request)) context['shed'] = shedObj context['owner'] = owner context['currentUser'] = profileUtil.getProfileFromUser(request.user) context['name'] = name context['admins'] = admins context['members'] = members context['tools'] = tools context['meetsMin'] = meetsMinRep context['alreadyMember'] = shedMembership context['isAdmin'] = isAdmin context['pendingRequest'] = pendingRequest context.update(content.genBaseLoggedIn(request)) if contextArg: context.update(contextArg) return render_to_response('shed_page.html', context)
def view_shed_page(request, id, contextArg):#contextArg is a dict to be added to the content dict if request.user.is_anonymous(): return HttpResponseRedirect("/accounts/login") else: if id is not None: try: shedObj = shedUtil.getShedFromID(id) except ObjectDoesNotExist: context = {} context['object'] = 'shed' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) else: context = {} context['object'] = 'shed' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) owner = shedUtil.getOwnerOfShed(shedObj) name = shedUtil.getNameOfShed(shedObj) admins = shedUtil.getAllAdminsOfShed(shedObj) isAdmin = False for admin in admins: if admin == profileUtil.getProfileFromUser(request.user): isAdmin = True members = shedUtil.getAllMembersOfShed(shedObj) tools = toolUtil.getAllToolsInShed(shedObj) userProfile = profileUtil.getProfileFromUser(request.user) meetsMinRep = userProfile.reputation >= shedObj.minimumReputation shedMembership = shedUtil.checkForMembership(userProfile, id) actions = actionUtil.getProfileAction(profileUtil.getProfileFromUser(request.user)) actionRequest = None pendingRequest = False for action in actions: if action.shed == shedObj: actionRequest = action if actionRequest: if actionRequest.currrentState == "userShedRequest" or actionRequest.currrentState == "acceptDeny": pendingRequest = True context = {} context.update(csrf(request)) context['shed'] = shedObj context['owner'] = owner context['currentUser'] = profileUtil.getProfileFromUser(request.user) context['name'] = name context['admins'] = admins context['members'] = members context['tools'] = tools context['meetsMin'] = meetsMinRep context['alreadyMember'] = shedMembership context['isAdmin'] = isAdmin context['pendingRequest'] = pendingRequest context.update(content.genBaseLoggedIn(request)) if contextArg: context.update(contextArg) return render_to_response('shed_page.html', context)
def view_current_profile(request, contextArg): """this view displays account information and allows users to edit their information """ if request.user.is_anonymous(): #tell user they need to be logged in to do that return HttpResponseRedirect('/accounts/login/') #redirect to login page else: currentUser = request.user userProfile = profileUtil.getProfileFromUser(currentUser) print(userProfile.personalShed) reputation = profileUtil.getReputation(userProfile) timeCreated = userProfile.timeCreated streetAddress = profileUtil.getAddress(userProfile) city = profileUtil.getCity(userProfile) state = profileUtil.getStateName(userProfile) shareZone = profileUtil.getSharezone(userProfile) context = {} context.update(csrf(request)) context['userProfile'] = userProfile context['timeStamp'] = timeCreated context['streetAddress'] = streetAddress context['reputation'] = reputation context['city'] = city context['state'] = state context['sharezone'] = shareZone context.update(content.genBaseLoggedIn(request)) if contextArg: context.update(contextArg) return render_to_response('my_account.html', context)
def view_current_profile(request, contextArg): """this view displays account information and allows users to edit their information """ if request.user.is_anonymous(): #tell user they need to be logged in to do that return HttpResponseRedirect( '/accounts/login/') #redirect to login page else: currentUser = request.user userProfile = profileUtil.getProfileFromUser(currentUser) print(userProfile.personalShed) reputation = profileUtil.getReputation(userProfile) timeCreated = userProfile.timeCreated streetAddress = profileUtil.getAddress(userProfile) city = profileUtil.getCity(userProfile) state = profileUtil.getStateName(userProfile) shareZone = profileUtil.getSharezone(userProfile) context = {} context.update(csrf(request)) context['userProfile'] = userProfile context['timeStamp'] = timeCreated context['streetAddress'] = streetAddress context['reputation'] = reputation context['city'] = city context['state'] = state context['sharezone'] = shareZone context.update(content.genBaseLoggedIn(request)) if contextArg: context.update(contextArg) return render_to_response('my_account.html', context)
def create_tool_shed(request): if request.user.is_anonymous(): #tell user they need to be logged in to do that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect('/accounts/login/') #redirect to login page else: if request.method == 'POST': form = ShedCreationForm(request.user, request.POST) if form.is_valid(): shed = form.save() profileObj = profileUtil.getProfileFromUser(request.user) shed.members.add(profileObj) shed.admins.add(profileObj) #send email sendMail(profileUtil.getProfileFromUser(request.user), \ "Your shed has been created! ", \ "Thanks for creating " + shed.name + \ " on ToolCloud. We'll let you know when someone wants to join.") return HttpResponseRedirect('/sheds/' + str(shed.id) + '/success') else: form = ShedCreationForm(request.user) context = {} context.update(csrf(request)) context['form'] = form context.update(content.genBaseLoggedIn(request)) return render_to_response('shed_creation.html', context)
def create_tool_shed(request): if request.user.is_anonymous(): #tell user they need to be logged in to do that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect( '/accounts/login/') #redirect to login page else: if request.method == 'POST': form = ShedCreationForm(request.user, request.POST) if form.is_valid(): shed = form.save() profileObj = profileUtil.getProfileFromUser(request.user) shed.members.add(profileObj) shed.admins.add(profileObj) #send email sendMail(profileUtil.getProfileFromUser(request.user), \ "Your shed has been created! ", \ "Thanks for creating " + shed.name + \ " on ToolCloud. We'll let you know when someone wants to join.") return HttpResponseRedirect('/sheds/' + str(shed.id) + '/success') else: form = ShedCreationForm(request.user) context = {} context.update(csrf(request)) context['form'] = form context.update(content.genBaseLoggedIn(request)) return render_to_response('shed_creation.html', context)
def tool_submission(request): if request.user.is_anonymous(): #tell user they need to be logged in to do that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect( '/accounts/login/') #redirect to login page else: if request.method == 'POST': form = ToolCreationForm(request.user, request.POST) if form.is_valid(): tool = form.save() tool.save() #send email sendMail(profileUtil.getProfileFromUser(request.user), \ "Your tool has been submitted! ",\ "Thanks for submitting your " + tool.name + \ " to ToolCloud. We'll let you know when someone wants to borrow it.") return HttpResponseRedirect('/tools/' + str(tool.id) + '/success') else: form = ToolCreationForm(request.user) context = {} context.update(csrf(request)) context.update(content.genBaseLoggedIn(request)) context['form'] = form return render_to_response('tool_creation.html', context)
def view_community_page(request, sharezone): if request.user.is_anonymous(): return HttpResponseRedirect("/accounts/login") else: if sharezone is not None: sheds = shedUtil.getAllShedsInSharezone(sharezone) users = profileUtil.getAllProfilesInSharezone(sharezone) context = {} context['sharezone'] = sharezone context['sheds'] = sheds context['users'] = users context.update(content.genBaseLoggedIn(request)) return render_to_response('community_page.html', context) else: context = {} context['object'] = 'community' context.update(content.genBaseLoggedIn(request)) return render_to_response('dne.html', context)
def search(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: query_string = '' found_entries = None no_results = True tool_results = [] profile_results = [] shed_results = [] if ('q' in request.GET) and request.GET['q'].strip(): query_string = request.GET['q'] if query_string == '' or query_string == None: tool_results = None profile_results = None shed_results = None else: entry_query = get_query(query_string, ['name']) found_tools = Tool.objects.filter(name__icontains=query_string) tool_results = list(found_tools) found_tools = Tool.objects.filter(tags__icontains=query_string) for tool in found_tools: if tool not in tool_results: tool_results.append(tool) found_tools = Tool.objects.filter( description__icontains=query_string) for tool in found_tools: if tool not in tool_results: tool_results.append(tool) found_profiles = Profile.objects.filter( user__username__icontains=query_string) profile_results = list(found_profiles) found_profiles = Profile.objects.filter( user__first_name__icontains=query_string) for profile in found_profiles: if profile not in profile_results: profile_results.append(profile) found_profiles = Profile.objects.filter( user__last_name__icontains=query_string) for profile in found_profiles: if profile not in profile_results: profile_results.append(profile) found_sheds = Shed.objects.filter(name__icontains=query_string) shed_results = list(found_sheds) all_results = shed_results + profile_results + tool_results no_results = False if all_results == []: no_results = True context = {} context.update(csrf(request)) context['p_results'] = profile_results context['t_results'] = tool_results context['s_results'] = shed_results context['no_results'] = no_results context.update(content.genBaseLoggedIn(request)) return render_to_response('search.html', context)
def all_tools(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: tools = toolUtil.getAllTools() context = {} context.update(csrf(request)) context['tools'] = tools context.update(content.genBaseLoggedIn(request)) return render_to_response('all_tools.html', context)
def search(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: query_string = '' found_entries = None no_results = True tool_results = [] profile_results =[] shed_results = [] if ('q' in request.GET) and request.GET['q'].strip(): query_string = request.GET['q'] if query_string == '' or query_string == None: tool_results = None profile_results = None shed_results = None else: entry_query = get_query(query_string, ['name']) found_tools = Tool.objects.filter(name__icontains=query_string) tool_results = list(found_tools) found_tools = Tool.objects.filter(tags__icontains=query_string) for tool in found_tools: if tool not in tool_results: tool_results.append(tool) found_tools = Tool.objects.filter(description__icontains=query_string) for tool in found_tools: if tool not in tool_results: tool_results.append(tool) found_profiles = Profile.objects.filter(user__username__icontains=query_string) profile_results = list(found_profiles) found_profiles = Profile.objects.filter(user__first_name__icontains=query_string) for profile in found_profiles: if profile not in profile_results: profile_results.append(profile) found_profiles = Profile.objects.filter(user__last_name__icontains=query_string) for profile in found_profiles: if profile not in profile_results: profile_results.append(profile) found_sheds = Shed.objects.filter(name__icontains=query_string) shed_results = list(found_sheds) all_results = shed_results + profile_results + tool_results no_results = False if all_results == []: no_results = True context = {} context.update(csrf(request)) context['p_results'] = profile_results context['t_results'] = tool_results context['s_results'] = shed_results context['no_results'] = no_results context.update(content.genBaseLoggedIn(request)) return render_to_response('search.html', context)
def edit_user_info(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login/') else: if request.method == 'POST': profileObj = profileUtil.getProfileFromUser(request.user) form = UserEditForm(profileObj, request.POST) if form.is_valid(): profileObj = form.save() return HttpResponseRedirect('/accounts/my_account/account_updated') else: form = UserEditForm(profileUtil.getProfileFromUser(request.user)) context = {} context.update(csrf(request)) context.update(content.genBaseLoggedIn(request)) context['form'] = form return render_to_response('user_update.html', context)
def edit_shed(request, id): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login/') else: if request.method == 'POST': shedObj = shedUtil.getShedFromID(id) form = ShedEditForm(shedObj, request.POST) if form.is_valid(): shedObj = form.save() return HttpResponseRedirect('/sheds/' + str(shedObj.id) + '/edit/success') else: form = ShedEditForm(shedUtil.getShedFromID(id)) context = {} context.update(csrf(request)) context.update(content.genBaseLoggedIn(request)) context['form'] = form context['shed'] = shedUtil.getShedFromID(id) return render_to_response('shed_update.html', context)
def edit_user_info(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login/') else: if request.method == 'POST': profileObj = profileUtil.getProfileFromUser(request.user) form = UserEditForm(profileObj, request.POST) if form.is_valid(): profileObj = form.save() return HttpResponseRedirect( '/accounts/my_account/account_updated') else: form = UserEditForm(profileUtil.getProfileFromUser(request.user)) context = {} context.update(csrf(request)) context.update(content.genBaseLoggedIn(request)) context['form'] = form return render_to_response('user_update.html', context)
def all_sheds(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: userProfile = profileUtil.getProfileFromUser(request.user) allSheds = shedUtil.getAllShedsAllSharezones() shedsInMySharezone = shedUtil.getAllShedsInSharezone(userProfile.sharezone) adminSheds = shedUtil.getAllShedsAdministratedBy(userProfile) ownedSheds = shedUtil.getAllShedsOwnedBy(userProfile) memberSheds = shedUtil.getAllShedsJoinedBy(userProfile) context = {} context.update(csrf(request)) context['sheds'] = allSheds context['adminSheds'] = adminSheds context['ownedSheds'] = ownedSheds context['mySheds'] = memberSheds context.update(content.genBaseLoggedIn(request)) return render_to_response('all_sheds.html', context)
def all_sheds(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: userProfile = profileUtil.getProfileFromUser(request.user) allSheds = shedUtil.getAllShedsAllSharezones() shedsInMySharezone = shedUtil.getAllShedsInSharezone( userProfile.sharezone) adminSheds = shedUtil.getAllShedsAdministratedBy(userProfile) ownedSheds = shedUtil.getAllShedsOwnedBy(userProfile) memberSheds = shedUtil.getAllShedsJoinedBy(userProfile) context = {} context.update(csrf(request)) context['sheds'] = allSheds context['adminSheds'] = adminSheds context['ownedSheds'] = ownedSheds context['mySheds'] = memberSheds context.update(content.genBaseLoggedIn(request)) return render_to_response('all_sheds.html', context)
def edit_tool(request, id): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login/') else: if request.method == 'POST': toolObj = toolUtil.getToolFromID(id) form = ToolEditForm(toolObj, request.POST) if form.is_valid(): toolObj = form.save() return HttpResponseRedirect('/tools/' + str(toolObj.id) + '/edit/success') else: toolObj = toolUtil.getToolFromID(id) form = ToolEditForm(toolObj) context = {} context.update(csrf(request)) context.update(content.genBaseLoggedIn(request)) context['form'] = form context['tool'] = toolUtil.getToolFromID(id) return render_to_response('tool_update.html', context)
def confirm_remove_shed_admin(request, id, username): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: userProfile = profileUtil.getProfileFromUser(request.user) shedObj = shedUtil.getShedFromID(id) removeAdmin = profileUtil.getProfileFromUser(User.objects.get(username=username)) if shedObj.owner == removeAdmin: return HttpResponseRedirect('/') else: if shedObj.owner == userProfile: context = {} context['currentUser'] = userProfile context['shed'] = shedObj context['removeAdmin'] = removeAdmin context.update(content.genBaseLoggedIn(request)) return render_to_response("admin_remove_confirm.html", context) else: return HttpResponseRedirect('/')
def confirm_remove_shed_admin(request, id, username): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: userProfile = profileUtil.getProfileFromUser(request.user) shedObj = shedUtil.getShedFromID(id) removeAdmin = profileUtil.getProfileFromUser( User.objects.get(username=username)) if shedObj.owner == removeAdmin: return HttpResponseRedirect('/') else: if shedObj.owner == userProfile: context = {} context['currentUser'] = userProfile context['shed'] = shedObj context['removeAdmin'] = removeAdmin context.update(content.genBaseLoggedIn(request)) return render_to_response("admin_remove_confirm.html", context) else: return HttpResponseRedirect('/')
def request_decline(request, id): notifObject = Notification.objects.get(id = id) notifObject = notifUtil.respondToNotif(notifObject, "Deny") actionObject = notifUtil.getNotifSourceObject(notifObject) requesterProfile = actionObject.requester context = {} context['requesterName'] = requesterProfile.user.username if actionUtil.isShedRequest(actionObject): shedObject = actionObject.shed shedName = shedObject.name context['objectName'] = shedName context['type'] = "Shed" elif actionUtil.isToolRequest(actionObject): toolObject = actionObject.tool toolName = toolObject.name context['objectName'] = toolName context['type'] = "Tool" context.update(content.genBaseLoggedIn(request)) actionUtil.forceProcessActions() return render_to_response("view_notifs.html", content.addRequestDeniedNoti(context))
def request_decline(request, id): notifObject = Notification.objects.get(id=id) notifObject = notifUtil.respondToNotif(notifObject, "Deny") actionObject = notifUtil.getNotifSourceObject(notifObject) requesterProfile = actionObject.requester context = {} context['requesterName'] = requesterProfile.user.username if actionUtil.isShedRequest(actionObject): shedObject = actionObject.shed shedName = shedObject.name context['objectName'] = shedName context['type'] = "Shed" elif actionUtil.isToolRequest(actionObject): toolObject = actionObject.tool toolName = toolObject.name context['objectName'] = toolName context['type'] = "Tool" context.update(content.genBaseLoggedIn(request)) actionUtil.forceProcessActions() return render_to_response("view_notifs.html", content.addRequestDeniedNoti(context))
def confirm_remove_shed_member(request, id, username): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: userProfile = profileUtil.getProfileFromUser(request.user) shedObj = shedUtil.getShedFromID(id) banUser = profileUtil.getProfileFromUser(User.objects.get(username=username)) admins = shedUtil.getAllAdminsOfShed(shedObj) isAdmin = False for admin in admins: if admin == userProfile: isAdmin = True if isAdmin: context = {} context['currentUser'] = userProfile context['shed'] = shedObj context['banned'] = banUser context.update(content.genBaseLoggedIn(request)) return render_to_response("remove_member_confirm.html", context) else: return HttpResponseRedirect('/')
def confirm_remove_shed_member(request, id, username): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: userProfile = profileUtil.getProfileFromUser(request.user) shedObj = shedUtil.getShedFromID(id) banUser = profileUtil.getProfileFromUser( User.objects.get(username=username)) admins = shedUtil.getAllAdminsOfShed(shedObj) isAdmin = False for admin in admins: if admin == userProfile: isAdmin = True if isAdmin: context = {} context['currentUser'] = userProfile context['shed'] = shedObj context['banned'] = banUser context.update(content.genBaseLoggedIn(request)) return render_to_response("remove_member_confirm.html", context) else: return HttpResponseRedirect('/')
def tool_submission(request): if request.user.is_anonymous(): #tell user they need to be logged in to do that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect('/accounts/login/') #redirect to login page else: if request.method == 'POST': form = ToolCreationForm(request.user, request.POST) if form.is_valid(): tool = form.save() tool.save() #send email sendMail(profileUtil.getProfileFromUser(request.user), \ "Your tool has been submitted! ",\ "Thanks for submitting your " + tool.name + \ " to ToolCloud. We'll let you know when someone wants to borrow it.") return HttpResponseRedirect('/tools/' + str(tool.id) + '/success') else: form = ToolCreationForm(request.user) context = {} context.update(csrf(request)) context.update(content.genBaseLoggedIn(request)) context['form'] = form return render_to_response('tool_creation.html', context)
def view_tool_page( request, id, contextArg): #contextArg is a dict to be added to the content dict if request.user.is_anonymous(): #tell user they need to be logged in to that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect('/accounts/login') #redirect to login page else: if id is not None: try: toolObj = toolUtil.getToolFromID(id) except ObjectDoesNotExist: context = {} context['object'] = 'tool' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) else: context = {} context['object'] = 'tool' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) owner = toolUtil.getToolOwner(toolObj) name = toolUtil.getToolName(toolObj) description = toolUtil.getToolDescription(toolObj) tags = toolUtil.getToolTags(toolObj) borrower = toolUtil.getToolBorrower(toolObj) condition = toolUtil.getToolConditionReadable(toolObj) available = toolUtil.isToolAvailable(toolObj) actions = actionUtil.getProfileAction( profileUtil.getProfileFromUser(request.user)) actionBorrowRequest = None actionReturnRequest = None requesterProfile = None for action in actions: if action.tool == toolObj: if action.currrentState == "userBorrowRequest" or action.currrentState == "acceptDecline": actionBorrowRequest = action if action.currrentState == "markedReturned" or action.currrentState == "confirmReturned": actionReturnRequest = action if actionBorrowRequest: pendingBorrowRequest = True requesterProfile = actionBorrowRequest.requester else: pendingBorrowRequest = False if actionReturnRequest: pendingReturnRequest = True else: pendingReturnRequest = False if profileUtil.getProfileFromUser(request.user) == owner: ownedByUser = True else: ownedByUser = False meetsMinRep = (profileUtil.getReputation( profileUtil.getProfileFromUser(request.user)) >= toolObj.minimumReputation) profileObj = (profileUtil.getProfileFromUser(request.user)) canBorrow = profileObj.canBorrow context = {} context.update(csrf(request)) context['tool'] = toolObj context['name'] = name #TODO change to toolName context['owner'] = owner context['description'] = description context['tags'] = tags context['currentProfile'] = profileObj context['borrower'] = borrower context['requester'] = requesterProfile context['condition'] = condition context['available'] = available context['ownedByUser'] = ownedByUser context['meetsMin'] = meetsMinRep context['pendingBorrowRequest'] = pendingBorrowRequest context['pendingReturnRequest'] = pendingReturnRequest context['canBorrow'] = canBorrow context.update(content.genBaseLoggedIn(request)) if contextArg: context.update(contextArg) return render_to_response('tool_page.html', context)
def dne(request): context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context)
def view_notifications(request): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: return render_to_response('view_notifs.html', content.genBaseLoggedIn(request))
def view_tool_page(request, id, contextArg):#contextArg is a dict to be added to the content dict if request.user.is_anonymous(): #tell user they need to be logged in to that #add message flag that will display to user "you must be logged in to..." return HttpResponseRedirect('/accounts/login') #redirect to login page else: if id is not None: try: toolObj = toolUtil.getToolFromID(id) except ObjectDoesNotExist: context = {} context['object'] = 'tool' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) else: context = {} context['object'] = 'tool' context.update(content.genBaseLoggedIn(request)) return render_to_response("dne.html", context) owner = toolUtil.getToolOwner(toolObj) name = toolUtil.getToolName(toolObj) description = toolUtil.getToolDescription(toolObj) tags = toolUtil.getToolTags(toolObj) borrower = toolUtil.getToolBorrower(toolObj) condition = toolUtil.getToolConditionReadable(toolObj) available = toolUtil.isToolAvailable(toolObj) actions = actionUtil.getProfileAction(profileUtil.getProfileFromUser(request.user)) actionBorrowRequest = None actionReturnRequest = None requesterProfile = None for action in actions: if action.tool == toolObj: if action.currrentState == "userBorrowRequest" or action.currrentState == "acceptDecline": actionBorrowRequest = action if action.currrentState == "markedReturned" or action.currrentState == "confirmReturned": actionReturnRequest = action if actionBorrowRequest: pendingBorrowRequest = True requesterProfile = actionBorrowRequest.requester else: pendingBorrowRequest = False if actionReturnRequest: pendingReturnRequest = True else: pendingReturnRequest = False if profileUtil.getProfileFromUser(request.user) == owner: ownedByUser = True else: ownedByUser = False meetsMinRep = (profileUtil.getReputation(profileUtil.getProfileFromUser(request.user)) >= toolObj.minimumReputation) profileObj = (profileUtil.getProfileFromUser(request.user)) canBorrow = profileObj.canBorrow context = {} context.update(csrf(request)) context['tool'] = toolObj context['name'] = name #TODO change to toolName context['owner'] = owner context['description'] = description context['tags'] = tags context['currentProfile'] = profileObj context['borrower'] = borrower context['requester'] = requesterProfile context['condition'] = condition context['available'] = available context['ownedByUser'] = ownedByUser context['meetsMin'] = meetsMinRep context['pendingBorrowRequest'] = pendingBorrowRequest context['pendingReturnRequest'] = pendingReturnRequest context['canBorrow'] = canBorrow context.update(content.genBaseLoggedIn(request)) if contextArg: context.update(contextArg) return render_to_response('tool_page.html', context)