app/projrev/views/proposal.py
changeset 12 aac4944aca52
parent 8 294ff7ac9cb6
child 13 684540719344
equal deleted inserted replaced
11:dfc069c2d35d 12:aac4944aca52
    20 from projrev.models import Proposal
    20 from projrev.models import Proposal
    21 from projrev.views.helpers import access 
    21 from projrev.views.helpers import access 
    22 from projrev.views.helpers import forms as projrev_forms
    22 from projrev.views.helpers import forms as projrev_forms
    23 
    23 
    24 
    24 
       
    25 @access.register('proposer')
    25 @access.checkAccess
    26 @access.checkAccess
    26 def getMicr(request):
    27 def getMicr(request):
    27   """View to get MICR Code from the user.
    28   """View to get MICR Code from the user.
    28   """
    29   """
    29 
    30 
    60     template = 'projrev/proposal/get_micr.html'
    61     template = 'projrev/proposal/get_micr.html'
    61     context = {}
    62     context = {}
    62 
    63 
    63     return render_to_response(template, RequestContext(request, context))
    64     return render_to_response(template, RequestContext(request, context))
    64 
    65 
    65 
    66 @access.register('proposer')
    66 @access.checkAccess
    67 @access.checkAccess
    67 def submit(request, micr_code=None):
    68 def submit(request, micr_code=None):
    68   """View for proposal submission.
    69   """View for proposal submission.
    69   """
    70   """
    70 
    71 
   107 
   108 
   108     project.save()
   109     project.save()
   109 
   110 
   110     # Create a proposal for the project.
   111     # Create a proposal for the project.
   111     proposal = project.proposal_set.create(
   112     proposal = project.proposal_set.create(
   112         document=prop_form.cleaned_data['document'], rev_num = 0)
   113         document=prop_form.cleaned_data['document'], 
       
   114         submitted_by=request.user, rev_num = 0)
   113 
   115 
   114     proposal.save()
   116     proposal.save()
   115 
   117 
   116     return HttpResponseRedirect(
   118     return HttpResponseRedirect(
   117         reverse('app.projrev.views.proposal.submit', args=(micr_code,)))
   119         reverse('app.projrev.views.proposal.submit', args=(micr_code,)))
   135         'district': Project.getDistrictCode(project.district),
   137         'district': Project.getDistrictCode(project.district),
   136         }
   138         }
   137     prop_form = projrev_forms.ProposalForm(
   139     prop_form = projrev_forms.ProposalForm(
   138         initial=initial_vals, instance=project)
   140         initial=initial_vals, instance=project)
   139 
   141 
   140     proposal_path = str(project.proposal_set.all()[0].document)
   142     proposal_path = str(
       
   143         project.proposal_set.all().order_by('-submitted_on')[0].document)
   141 
   144 
   142     proposal_name = proposal_path.split('/')[-1]
   145     proposal_name = proposal_path.split('/')[-1]
   143 
   146 
   144     context['proposal_path'] = proposal_path
   147     context['proposal_path'] = proposal_path
   145     context['proposal_name'] = proposal_name
   148     context['proposal_name'] = proposal_name
   162 
   165 
   163   template = 'projrev/proposal/submit.html'
   166   template = 'projrev/proposal/submit.html'
   164 
   167 
   165   return render_to_response(template, RequestContext(request, context))
   168   return render_to_response(template, RequestContext(request, context))
   166 
   169 
       
   170 @access.register('proposer')
   167 @access.checkAccess
   171 @access.checkAccess
   168 def withdraw(request, micr_code=None):
   172 def withdraw(request, micr_code=None):
   169   """View Method for withdrawal of proposal.
   173   """View Method for withdrawal of proposal.
   170   """
   174   """
   171 
   175 
   180 
   184 
   181   template = 'projrev/proposal/withdraw.html'
   185   template = 'projrev/proposal/withdraw.html'
   182 
   186 
   183   return render_to_response(template, RequestContext(request, context))
   187   return render_to_response(template, RequestContext(request, context))
   184 
   188 
       
   189 @access.register('reviewer')
   185 @access.checkAccess
   190 @access.checkAccess
   186 def review(request, micr_code=None):
   191 def review(request, micr_code=None):
   187   """View for reviewing the proposal.
   192   """View for reviewing the proposal.
   188   """
   193   """
   189 
   194 
   224 
   229 
   225   if not rev_form:
   230   if not rev_form:
   226     rev_form = projrev_forms.ReviewForm()
   231     rev_form = projrev_forms.ReviewForm()
   227 
   232 
   228   proposal_path = str(Project.objects.get(
   233   proposal_path = str(Project.objects.get(
   229           micr_code=micr_code).proposal_set.all()[0].document)
   234           micr_code=micr_code).proposal_set.all().order_by(
       
   235               '-submitted_on')[0].document)
   230 
   236 
   231   proposal_name = proposal_path.split('/')[-1]
   237   proposal_name = proposal_path.split('/')[-1]
   232 
   238 
   233   context = {
   239   context = {
   234       'form': rev_form,
   240       'form': rev_form,
   239 
   245 
   240   template = 'projrev/proposal/review.html'
   246   template = 'projrev/proposal/review.html'
   241 
   247 
   242   return render_to_response(template, RequestContext(request, context))
   248   return render_to_response(template, RequestContext(request, context))
   243 
   249 
       
   250 @access.register('reviewer')
   244 @access.checkAccess
   251 @access.checkAccess
   245 def rank(request, micr_code=None):
   252 def rank(request, micr_code=None):
   246   """
   253   """
   247   """
   254   """
   248 
   255 
   270 
   277 
   271     return render_to_response(template, RequestContext(request, context))
   278     return render_to_response(template, RequestContext(request, context))
   272 
   279 
   273   projects = Project.objects.get(micr_code=micr_code)
   280   projects = Project.objects.get(micr_code=micr_code)
   274 
   281 
   275   proposal_path = str(projects.proposal_set.all()[0].document)
   282   proposal_path = str(
       
   283       projects.proposal_set.all().order_by('-submitted_on')[0].document)
   276 
   284 
   277   proposal_name = proposal_path.split('/')[-1]
   285   proposal_name = proposal_path.split('/')[-1]
   278 
   286 
   279   reviews = projects.review_set.all()
   287   reviews = projects.review_set.all()
   280 
   288