def borrow_tool(request, id): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: borrowerProfile = profileUtil.getProfileFromUser(request.user) toolObject = toolUtil.getToolFromID(id) ownerProfile = toolObject.owner actionObject = actionUtil.createBorrowRequestAction(toolObject, borrowerProfile) return HttpResponseRedirect('/tools/' + id + '/request_sent')
def return_tool(request, id): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: toolObj = toolUtil.getToolFromID(id) actionObj = actionUtil.getBorrowedToolAction(toolObj) actionObj.currrentState = "markedReturned" actionObj.save() actionManager.processActions() return HttpResponseRedirect('/tools/' + id + '/returned')
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 borrow_tool(request, id): if request.user.is_anonymous(): return HttpResponseRedirect('/accounts/login') else: borrowerProfile = profileUtil.getProfileFromUser(request.user) toolObject = toolUtil.getToolFromID(id) ownerProfile = toolObject.owner actionObject = actionUtil.createBorrowRequestAction( toolObject, borrowerProfile) return HttpResponseRedirect('/tools/' + id + '/request_sent')
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 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)