Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initialize setting review / proposal stage page #782

Draft
wants to merge 24 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
1497d90
Initialize setting review / proposal stage page
alice6373 May 21, 2020
f3095e6
Alice fixup with love
alice6373 Jul 18, 2020
8bb98fb
Merge branch 'master' into page-for-setting-review-stage
alice6373 Aug 30, 2020
57d036c
Clear gui
alice6373 Sep 27, 2020
e3fcda2
Merge branch 'master' into page-for-setting-review-stage
alice6373 Sep 27, 2020
2881ea9
Default timezone sring handling
alice6373 Oct 2, 2020
db4fea7
rename to Review Stages
alice6373 Oct 4, 2020
6ef2f5b
Generating timezone dynamically with pytz
alice6373 Oct 12, 2020
211bf3c
Delete comment in review_stages.html
alice6373 Oct 12, 2020
048c941
Delete print() in view.py
alice6373 Oct 12, 2020
76c39dc
Merge branch 'master' into page-for-setting-review-stage
alice6373 Oct 12, 2020
fdd09ab
Update GUI
alice6373 Oct 13, 2020
8ade9c1
return value add reviews_state()
alice6373 Oct 26, 2020
cfb5fa1
Rename First Round Review_2 to First Round Review
alice6373 Oct 26, 2020
afaf6d5
Change the typography to vertical
alice6373 Dec 10, 2020
88ee598
Rename First Round Review_1 to Locked (proposal editing and reviewing…
alice6373 Dec 10, 2020
9ef909e
Enhance user friendliness : accepting pycontw-2020.proposals.disable.…
alice6373 Dec 15, 2020
d579e69
Enhance user friendliness : Try more django date format (DATETIME_INP…
alice6373 Dec 15, 2020
2fb312d
Enhance user friendliness : display current review stage setting
alice6373 Dec 22, 2020
500b9db
Enhance user friendliness : automatically load the current settings t…
alice6373 Dec 27, 2020
ced5b07
Move url.py & view.py to more precise folder
alice6373 Dec 27, 2020
928e2d1
Fix problem that current settings will not be loaded after submitting…
alice6373 Dec 28, 2020
32f30a1
Merge branch 'master' into page-for-setting-review-stage
alice6373 Jan 16, 2021
c4ef31e
proposals.disabled.after not be required
alice6373 Jan 16, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/locale/zh_Hant/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -1443,6 +1443,12 @@ msgstr "更改密碼"
msgid "Reviews"
msgstr "審查"

#: templates/default/_includes/dashboard_tablist.html:28
#: templates/default/reviews/review_change.html:12
#: templates/default/reviews/review_change.html:18
msgid "Change Review"
msgstr "更改審查設定"

#: templates/default/_includes/nav/dashboard_nav.html:10
msgid "Log out"
msgstr "登出"
Expand Down
7 changes: 6 additions & 1 deletion src/proposals/templatetags/proposals.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.template import Library

from django.conf import settings
from proposals.utils import SEP_DEFAULT, SEP_LAST, format_names


Expand All @@ -11,3 +11,8 @@ def speaker_names_display(
proposal, sep_default=SEP_DEFAULT, sep_last=SEP_LAST):
names = [info.user.speaker_name for info in proposal.speakers]
return format_names(names, sep_default=sep_default, sep_last=sep_last)


@register.filter
def configuration_switch(value):
return settings.CONFERENCE_DEFAULT_SLUG + value
17 changes: 17 additions & 0 deletions src/static/css/components/_buttons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
@include button-variant($btn-natural-color, $btn-natural-bg, $btn-natural-border);
}

.btn-natural-noborder {
@include button-variant($btn-natural-color, $btn-natural-bg, $btn-natural-border);
}

.btn-action{
@include button-variant($btn-action-color, $btn-action-bg, $btn-action-border);
}
Expand Down Expand Up @@ -40,6 +44,19 @@
}
}

.btn-natural-noborder {
&:hover {
background-color: $btn-natural-hover-bg;
}
&,
&:focus,
&:active {
outline: none;
border-color: transparent;
}
margin-bottom: 20px;
}

.btn-natural.btn-withdraw {
&,
&:hover,
Expand Down
5 changes: 5 additions & 0 deletions src/static/css/components/_texts.scss
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,8 @@
.text-emphasize {
@include roboto-medium();
}

.input-customized-size input{
width: 16.2em;
}

47 changes: 47 additions & 0 deletions src/static/css/components/_toggle.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
.material-switch > input[type="checkbox"] {
display: none;
}

.material-switch > label {
cursor: pointer;
height: 0px;
position: relative;
width: 40px;
}

.material-switch > label::before {
background: rgb(0, 0, 0);
box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5);
border-radius: 8px;
content: '';
height: 16px;
margin-top: -8px;
position:absolute;
opacity: 0.3;
transition: all 0.4s ease-in-out;
width: 40px;
}

.material-switch > label::after {
background: rgb(255, 255, 255);
border-radius: 16px;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
content: '';
height: 24px;
left: -4px;
margin-top: -8px;
position: absolute;
top: -4px;
transition: all 0.3s ease-in-out;
width: 24px;
}

.material-switch > input[type="checkbox"]:checked + label::before {
background: inherit;
opacity: 0.5;
}

.material-switch > input[type="checkbox"]:checked + label::after {
background: inherit;
left: 20px;
}
alice6373 marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions src/static/css/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
@import "components/tables";
@import "components/texts";
@import "components/lists";
@import "components/toggle";

// Pages
@import "pages/proposals";
Expand Down
3 changes: 2 additions & 1 deletion src/static/css/vendors/bootstrap/_buttons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ a.btn {
&:hover,
&:focus,
&:active {
outline: none;
border-color: transparent;
}
&:hover,
Expand All @@ -128,7 +129,6 @@ a.btn {
}
}


// Button Sizes
// --------------------------------------------------

Expand Down Expand Up @@ -166,3 +166,4 @@ input[type="button"] {
width: 100%;
}
}

74 changes: 74 additions & 0 deletions src/static/js/reviews/review_change.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@

var proposals_creatable = document.getElementById("proposals.creatable");
var proposals_editable = document.getElementById("proposals.editable");
var proposals_withdrawable = document.getElementById("proposals.withdrawable");
var reviews_stage = document.getElementById("reviews.stage");
var reviews_visible_to_submitters = document.getElementById("reviews.visible.to.submitters");

$('.hotkey').click(function () {
if ($(this).val() == "Call for Proposals") {
Call_for_Proposals();
}
else if ($(this).val() == "First Round Review") {
First_Round_Review()
}
else if ($(this).val() == "Modification Stage") {
Modification_Stage()
}
else if ($(this).val() == "Second Round Review") {
Second_Round_Review()
}
else if ($(this).val() == "Internal Decision") {
Internal_Decision()
}
else {
Announcement_of_Acceptance()
}

/*
Proposal Review Stage Setting
Reference : https://github.com/pycontw/pycon.tw/blob/master/src/reviews/README.md
*/
function Call_for_Proposals(){
proposals_creatable.checked = true;
proposals_editable.checked = true;
proposals_withdrawable.checked = true;
reviews_stage.value = "0";
reviews_visible_to_submitters.checked = false;
}
function First_Round_Review() {
proposals_creatable.checked = false;
proposals_editable.checked = false;
proposals_withdrawable.checked = false;
reviews_stage.value = "0";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be 1 (?)

reviews_visible_to_submitters.checked = false;
}
function Modification_Stage() {
proposals_creatable.checked = false;
proposals_editable.checked = true;
proposals_withdrawable.checked = false;
reviews_stage.value = "0";
reviews_visible_to_submitters.checked = true;
}
function Second_Round_Review() {
proposals_creatable.checked = false;
proposals_editable.checked = false;
proposals_withdrawable.checked = false;
reviews_stage.value = "2";
reviews_visible_to_submitters.checked = false;
}
function Internal_Decision() {
proposals_creatable.checked = false;
proposals_editable.checked = false;
proposals_withdrawable.checked = false;
reviews_stage.value = "0";
reviews_visible_to_submitters.checked = false;
}
function Announcement_of_Acceptance() {
proposals_creatable.checked = false;
proposals_editable.checked = true;
proposals_withdrawable.checked = false;
reviews_stage.value = "0";
reviews_visible_to_submitters.checked = true;
}
});
6 changes: 6 additions & 0 deletions src/templates/default/_includes/dashboard_tablist.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,10 @@
{% endif %}
</li>
{% endif %}

{% if user.is_superuser %}
<li class="{% if active == 'admin' %}active{% endif %}">
<a href="{% url 'review_change' %}">{% trans 'Change Review' %}</a>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we call it Review Stages? "Change Review" seems a little bit imprecise here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your advise. To rename, I push a new commit db4fea7. Review Stages is indeed more precise.

</li>
{% endif %}
</ul>
161 changes: 161 additions & 0 deletions src/templates/default/reviews/review_change.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
{% extends 'dashboard_base.html' %}

{% load i18n static %}
{% load proposals %}
{% load compress crispy_forms_tags %}

{% block dashboard_tablist %}
{% include '_includes/dashboard_tablist.html' with active='admin' %}
{% endblock dashboard_tablist %}

{% block main-content %}

<h3 class="dashboard-header">
<span class="header-title">{% trans 'Change Review' %}</span>
</h3>

<div class="dashboard-body">
<!--Hot Key Button-->
<div class="col-md-3">
<button class="btn btn-natural-noborder hotkey" value="Call for Proposals">
Call for Proposals
</button>
<button class="btn btn-natural-noborder hotkey" value="First Round Review">
First Round Review
</button>
<button class="btn btn-natural-noborder hotkey" value="Modification Stage">
Modification Stage
</button>
<button class="btn btn-natural-noborder hotkey" value="Second Round Review">
Second Round Review
</button>
<button class="btn btn-natural-noborder hotkey" value="Internal Decision">
Internal Decision
</button>
<button class="btn btn-natural-noborder hotkey" value="Announcement of Acceptance">
Announcement of Acceptance
</button>
</div>
<!--Review Change Setting-->
<div class="col-md-9">
<form action="{% url 'review_change' %}" method="post">
{% csrf_token %}
<div class="panel panel-default">
<div class="panel-heading">{% trans 'Change Review' %}</div>
<ul class="list-group">
<li class="panel-title list-group-item">
{{ ".proposals.creatable"|configuration_switch }}
<div class="material-switch pull-right">
<input name="proposals.creatable" type='hidden' value="false" />
<input id="proposals.creatable" name="proposals.creatable" type="checkbox" value="true"/>
<label for="proposals.creatable" class="label-info"></label>
</div>
</li>
<li class="panel-title list-group-item">
{{ ".proposals.editable"|configuration_switch }}
<div class="material-switch pull-right">
<input name="proposals.editable" type='hidden' value="false" />
<input id="proposals.editable" name="proposals.editable" type="checkbox" value="true"/>
<label for="proposals.editable" class="label-info"></label>
</div>
</li>
<li class="panel-title list-group-item">
{{ ".proposals.withdrawable"|configuration_switch }}
<div class="material-switch pull-right">
<input name="proposals.withdrawable" type='hidden' value="false" />
<input id="proposals.withdrawable" name="proposals.withdrawable" type="checkbox" value="true"/>
<label for="proposals.withdrawable" class="label-info"></label>
</div>
</li>
<li class="panel-title list-group-item">
{{ ".reviews.visible.to.submitters"|configuration_switch }}
<div class="material-switch pull-right">
<input name="reviews.visible.to.submitters" type='hidden' value="false" />
<input id="reviews.visible.to.submitters" name="reviews.visible.to.submitters"
type="checkbox" value="true"/>
<label for="reviews.visible.to.submitters" class="label-info"></label>
</div>
</li>
<li class="panel-title list-group-item">
{{ ".reviews.stage"|configuration_switch }}
<div class="input-customized-size pull-right">
<input id="reviews.stage" name="reviews.stage" type="number" min="0" max="2"
placeholder="Int" required="required">
</div>
</li>
<li class="panel-title list-group-item">
{{ ".proposals.disable.after"|configuration_switch }}
<div class="input-customized-size pull-right">
<input name="proposals.disable.after" type="datetime-local" step="1"
placeholder="yyyy-mm-dd hh:mm:ss" required="required">
</div>
</li>
<li class="panel-title list-group-item">
timezone
<div class="input-customized-size pull-right">
<select name="DropDownTimezone" id="DropDownTimezone">
<option value="-12:00">(GMT -12:00) AoE</option>
<option value="-11:00">(GMT -11:00) Midway Island</option>
<option value="-10:00">(GMT -10:00) Hawaii</option>
<option value="-09:00">(GMT -9:00) Alaska</option>
<option value="-08:00">(GMT -8:00) Pacific Time (US &amp; Canada)</option>
<option value="-07:00">(GMT -7:00) Mountain Time (US &amp; Canada)</option>
<option value="-06:00">(GMT -6:00) Central Time (US &amp; Canada)</option>
<option value="-05:00">(GMT -5:00) Eastern Time (US &amp; Canada)</option>
<option value="-04:00">(GMT -4:00) Atlantic Time (Canada)</option>
<option value="-03:30">(GMT -3:30) Newfoundland</option>
<option value="-03:00">(GMT -3:00) Brazil, Buenos Aires</option>
<option value="-02:00">(GMT -2:00) Mid-Atlantic</option>
<option value="-01:00">(GMT -1:00 hour) Azores</option>
<option value="+00:00">(GMT) Western Europe Time</option>
<option value="+01:00">(GMT +1:00 hour) Brussels</option>
<option value="+02:00">(GMT +2:00) South Africa</option>
<option value="+03:00">(GMT +3:00) Baghdad</option>
<option value="+03:30">(GMT +3:30) Tehran</option>
<option value="+04:00">(GMT +4:00) Abu Dhabi</option>
<option value="+04:30">(GMT +4:30) Kabul</option>
<option value="+05:00">(GMT +5:00) Ekaterinburg</option>
<option value="+05:30">(GMT +5:30) Bombay</option>
<option value="+05:45">(GMT +5:45) Kathmandu</option>
<option value="+06:00">(GMT +6:00) Almaty</option>
<option value="+07:00">(GMT +7:00) Bangkok</option>
<option value="+08:00">(GMT +8:00) Taiwan {{ default_tz }}</option>
<option value="+09:00">(GMT +9:00) Tokyo, Seoul</option>
<option value="+09:30">(GMT +9:30) Adelaide, Darwin</option>
<option value="+10:00">(GMT +10:00) Eastern Australia</option>
<option value="+11:00">(GMT +11:00) Magadan</option>
<option value="+12:00">(GMT +12:00) Auckland</option>
uranusjr marked this conversation as resolved.
Show resolved Hide resolved
</select>
</div>
</li>
<li class="panel-title list-group-item">
timezone comment (non-required)
<div class="input-customized-size pull-right">
<input name="timezone" type="text" placeholder="AoE timezone: -1200">
</div>
</li>
</ul>
</div>

<div class="nesting-form-group">
{{ form|crispy }}
<button type="submit" class="btn btn-info pull-right">
{% trans 'Submit' %}
</button>
</div>
</form>
</div>
</div>

<script>
var default_tz = '{{default_tz}}'
</script>
{% endblock main-content %}

{% block extra_js %}
<!--{{ block.super }}
<script src="{% static 'js/vendors/simplemde.min.js' %}"></script>-->
{% compress js %}
<script src="{% static 'js/reviews/review_change.js' %}"></script>
{% endcompress %}
{% endblock extra_js %}
Loading