switched from using nullboolean accepted on proposal result to a more flexible status choice
This commit is contained in:
		
							parent
							
								
									82eef6f2d1
								
							
						
					
					
						commit
						0422855582
					
				
					 5 changed files with 17 additions and 8 deletions
				
			
		|  | @ -7,7 +7,7 @@ from symposion.reviews.models import ProposalResult, promote_proposal | |||
| class Command(BaseCommand): | ||||
|      | ||||
|     def handle(self, *args, **options): | ||||
|         accepted_proposals = ProposalResult.objects.filter(accepted=True) | ||||
|         accepted_proposals = ProposalResult.objects.filter(status="accepted") | ||||
|         accepted_proposals = accepted_proposals.order_by("proposal") | ||||
|          | ||||
|         for result in accepted_proposals: | ||||
|  |  | |||
|  | @ -209,6 +209,12 @@ class ProposalResult(models.Model): | |||
|         (False, "rejected"), | ||||
|         (None, "undecided"), | ||||
|     ], default=None) | ||||
|     status = models.CharField(max_length=20, choices=[ | ||||
|         ("accepted", "accepted"), | ||||
|         ("rejected", "rejected"), | ||||
|         ("undecided", "undecided"), | ||||
|         ("in-reserve", "in reserve"), | ||||
|     ], default="undecided") | ||||
|      | ||||
|     @classmethod | ||||
|     def full_calculate(cls): | ||||
|  | @ -309,7 +315,7 @@ def unpromote_proposal(proposal): | |||
| def accepted_proposal(sender, instance=None, **kwargs): | ||||
|     if instance is None: | ||||
|         return | ||||
|     if instance.accepted == True: | ||||
|     if instance.status == "accepted": | ||||
|         promote_proposal(instance.proposal) | ||||
|     else: | ||||
|         unpromote_proposal(instance.proposal) | ||||
|  |  | |||
|  | @ -217,13 +217,16 @@ def review_detail(request, pk): | |||
|                 result = request.POST["result_submit"] | ||||
|                  | ||||
|                 if result == "accept": | ||||
|                     proposal.result.accepted = True | ||||
|                     proposal.result.status = "accepted" | ||||
|                     proposal.result.save() | ||||
|                 elif result == "reject": | ||||
|                     proposal.result.accepted = False | ||||
|                     proposal.result.status = "rejected" | ||||
|                     proposal.result.save() | ||||
|                 elif result == "undecide": | ||||
|                     proposal.result.accepted = None | ||||
|                     proposal.result.status = "undecided" | ||||
|                     proposal.result.save() | ||||
|                 elif result == "reserve": | ||||
|                     proposal.result.status = "in-reserve" | ||||
|                     proposal.result.save() | ||||
|              | ||||
|             return redirect(request.path) | ||||
|  | @ -357,7 +360,7 @@ def review_bulk_accept(request, section_slug): | |||
|             talk_ids = form.cleaned_data["talk_ids"].split(",") | ||||
|             talks = ProposalBase.objects.filter(id__in=talk_ids).select_related("result") | ||||
|             for talk in talks: | ||||
|                 talk.result.accepted = True | ||||
|                 talk.result.status = "accepted" | ||||
|                 talk.result.save() | ||||
|             return redirect("review_list") | ||||
|     else: | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
|             <span class="label label-important">Cancelled</span> | ||||
|         {% else %} | ||||
|             {% if request.user == proposal.speaker.user %} | ||||
|                 {% if proposal.result.accepted %} | ||||
|                 {% if proposal.result.status == "accepted" %} | ||||
|                     <span class="label label-success">Accepted</span> | ||||
|                 {% else %} | ||||
|                     <span class="label">Submitted</span> | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ | |||
|             <span class="label label-important">Cancelled</span> | ||||
|         {% else %} | ||||
|             {% if request.user == proposal.speaker.user %} | ||||
|                 {% if proposal.result.accepted %} | ||||
|                 {% if proposal.result.status == "accepted" %} | ||||
|                     <span class="label label-success">Accepted</span> | ||||
|                 {% else %} | ||||
|                     <span class="label">Submitted</span> | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 James Tauber
						James Tauber