manager: add monday's date in options of week selector (#72322)
gitea-wip/chrono/pipeline/pr-main This commit looks good
Details
gitea-wip/chrono/pipeline/pr-main This commit looks good
Details
This commit is contained in:
parent
7dfd386784
commit
b14f77e94e
|
@ -3,6 +3,31 @@
|
|||
|
||||
{% block bodyargs %}class="weekview"{% endblock %}
|
||||
|
||||
{% block extrascripts %}
|
||||
{{ block.super }}
|
||||
<script>
|
||||
$(function() {
|
||||
var dates = {};
|
||||
{% for year, weeks in view.get_week_dates.items %}
|
||||
dates[{{ year }}] = {};
|
||||
{% for week, weekdetails in weeks.items %}
|
||||
dates[{{ year }}][{{ week }}] = '{{ weekdetails.1 }} ({{ weekdetails.0|date:'j F' }})';
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
$('.date-picker select[name=year]').on('change', function() {
|
||||
var $week = $('.date-picker select[name="week"]');
|
||||
var selected = $week.val();
|
||||
$week.empty();
|
||||
$.each(dates[$(this).val()], function(index, value) {
|
||||
$week.append('<option value="' + index + '">' + value + '</option>');
|
||||
});
|
||||
$week.val(selected);
|
||||
});
|
||||
$('.date-picker select[name=year]').change();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
<a>{{ view.date|date:"F Y" }}</a>
|
||||
|
|
|
@ -3,6 +3,31 @@
|
|||
|
||||
{% block bodyargs %}class="weekview"{% endblock %}
|
||||
|
||||
{% block extrascripts %}
|
||||
{{ block.super }}
|
||||
<script>
|
||||
$(function() {
|
||||
var dates = {};
|
||||
{% for year, weeks in view.get_week_dates.items %}
|
||||
dates[{{ year }}] = {};
|
||||
{% for week, weekdetails in weeks.items %}
|
||||
dates[{{ year }}][{{ week }}] = '{{ weekdetails.1 }} ({{ weekdetails.0|date:'j F' }})';
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
$('.date-picker select[name=year]').on('change', function() {
|
||||
var $week = $('.date-picker select[name="week"]');
|
||||
var selected = $week.val();
|
||||
$week.empty();
|
||||
$.each(dates[$(this).val()], function(index, value) {
|
||||
$week.append('<option value="' + index + '">' + value + '</option>');
|
||||
});
|
||||
$week.val(selected);
|
||||
});
|
||||
$('.date-picker select[name=year]').change();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
<a>{{ view.date|date:"F Y" }}</a>
|
||||
|
|
|
@ -256,6 +256,15 @@ class DateMixin:
|
|||
def get_weeks(self):
|
||||
return [(str(x), _('Week %s') % x) for x in range(1, 53)]
|
||||
|
||||
def get_week_dates(self):
|
||||
dates = {}
|
||||
for year in self.get_years():
|
||||
dates[year] = {}
|
||||
for week, week_label in self.get_weeks():
|
||||
date = datetime.datetime.strptime('%s-W%s-1' % (year, week), "%Y-W%W-%w")
|
||||
dates[year][week] = (date, week_label)
|
||||
return dates
|
||||
|
||||
def get_years(self):
|
||||
year = now().year
|
||||
return [str(x) for x in range(year - 1, year + 5)]
|
||||
|
|
Loading…
Reference in New Issue