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): | class Command(BaseCommand): | ||||||
|      |      | ||||||
|     def handle(self, *args, **options): |     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") |         accepted_proposals = accepted_proposals.order_by("proposal") | ||||||
|          |          | ||||||
|         for result in accepted_proposals: |         for result in accepted_proposals: | ||||||
|  |  | ||||||
|  | @ -209,6 +209,12 @@ class ProposalResult(models.Model): | ||||||
|         (False, "rejected"), |         (False, "rejected"), | ||||||
|         (None, "undecided"), |         (None, "undecided"), | ||||||
|     ], default=None) |     ], default=None) | ||||||
|  |     status = models.CharField(max_length=20, choices=[ | ||||||
|  |         ("accepted", "accepted"), | ||||||
|  |         ("rejected", "rejected"), | ||||||
|  |         ("undecided", "undecided"), | ||||||
|  |         ("in-reserve", "in reserve"), | ||||||
|  |     ], default="undecided") | ||||||
|      |      | ||||||
|     @classmethod |     @classmethod | ||||||
|     def full_calculate(cls): |     def full_calculate(cls): | ||||||
|  | @ -309,7 +315,7 @@ def unpromote_proposal(proposal): | ||||||
| def accepted_proposal(sender, instance=None, **kwargs): | def accepted_proposal(sender, instance=None, **kwargs): | ||||||
|     if instance is None: |     if instance is None: | ||||||
|         return |         return | ||||||
|     if instance.accepted == True: |     if instance.status == "accepted": | ||||||
|         promote_proposal(instance.proposal) |         promote_proposal(instance.proposal) | ||||||
|     else: |     else: | ||||||
|         unpromote_proposal(instance.proposal) |         unpromote_proposal(instance.proposal) | ||||||
|  |  | ||||||
|  | @ -217,13 +217,16 @@ def review_detail(request, pk): | ||||||
|                 result = request.POST["result_submit"] |                 result = request.POST["result_submit"] | ||||||
|                  |                  | ||||||
|                 if result == "accept": |                 if result == "accept": | ||||||
|                     proposal.result.accepted = True |                     proposal.result.status = "accepted" | ||||||
|                     proposal.result.save() |                     proposal.result.save() | ||||||
|                 elif result == "reject": |                 elif result == "reject": | ||||||
|                     proposal.result.accepted = False |                     proposal.result.status = "rejected" | ||||||
|                     proposal.result.save() |                     proposal.result.save() | ||||||
|                 elif result == "undecide": |                 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() |                     proposal.result.save() | ||||||
|              |              | ||||||
|             return redirect(request.path) |             return redirect(request.path) | ||||||
|  | @ -357,7 +360,7 @@ def review_bulk_accept(request, section_slug): | ||||||
|             talk_ids = form.cleaned_data["talk_ids"].split(",") |             talk_ids = form.cleaned_data["talk_ids"].split(",") | ||||||
|             talks = ProposalBase.objects.filter(id__in=talk_ids).select_related("result") |             talks = ProposalBase.objects.filter(id__in=talk_ids).select_related("result") | ||||||
|             for talk in talks: |             for talk in talks: | ||||||
|                 talk.result.accepted = True |                 talk.result.status = "accepted" | ||||||
|                 talk.result.save() |                 talk.result.save() | ||||||
|             return redirect("review_list") |             return redirect("review_list") | ||||||
|     else: |     else: | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ | ||||||
|             <span class="label label-important">Cancelled</span> |             <span class="label label-important">Cancelled</span> | ||||||
|         {% else %} |         {% else %} | ||||||
|             {% if request.user == proposal.speaker.user %} |             {% if request.user == proposal.speaker.user %} | ||||||
|                 {% if proposal.result.accepted %} |                 {% if proposal.result.status == "accepted" %} | ||||||
|                     <span class="label label-success">Accepted</span> |                     <span class="label label-success">Accepted</span> | ||||||
|                 {% else %} |                 {% else %} | ||||||
|                     <span class="label">Submitted</span> |                     <span class="label">Submitted</span> | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ | ||||||
|             <span class="label label-important">Cancelled</span> |             <span class="label label-important">Cancelled</span> | ||||||
|         {% else %} |         {% else %} | ||||||
|             {% if request.user == proposal.speaker.user %} |             {% if request.user == proposal.speaker.user %} | ||||||
|                 {% if proposal.result.accepted %} |                 {% if proposal.result.status == "accepted" %} | ||||||
|                     <span class="label label-success">Accepted</span> |                     <span class="label label-success">Accepted</span> | ||||||
|                 {% else %} |                 {% else %} | ||||||
|                     <span class="label">Submitted</span> |                     <span class="label">Submitted</span> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 James Tauber
						James Tauber