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
symposion
reviews
templates/proposals
|
@ -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