|  |  |  | @@ -19,7 +19,7 @@ period-chooser.html: The period chooser | 
		
	
		
			
				|  |  |  |  | Author: imacat@mail.imacat.idv.tw (imacat) | 
		
	
		
			
				|  |  |  |  | First written: 2023/3/4 | 
		
	
		
			
				|  |  |  |  | #} | 
		
	
		
			
				|  |  |  |  | <div id="accounting-period-chooser-modal" class="modal fade" tabindex="-1" aria-labelledby="accounting-period-chooser-modal-label" aria-hidden="true" data-url-template="{{ period_chooser.url_template }}"> | 
		
	
		
			
				|  |  |  |  | <div id="accounting-period-chooser-modal" class="modal fade" tabindex="-1" aria-labelledby="accounting-period-chooser-modal-label" aria-hidden="true" data-url-template="{{ report.period_chooser.url_template }}"> | 
		
	
		
			
				|  |  |  |  |   <div class="modal-dialog"> | 
		
	
		
			
				|  |  |  |  |     <div class="modal-content"> | 
		
	
		
			
				|  |  |  |  |       <div class="modal-header"> | 
		
	
	
		
			
				
					
					|  |  |  | @@ -30,62 +30,62 @@ First written: 2023/3/4 | 
		
	
		
			
				|  |  |  |  |         {# Tab navigation #} | 
		
	
		
			
				|  |  |  |  |         <ul class="nav nav-tabs mb-2"> | 
		
	
		
			
				|  |  |  |  |           <li class="nav-item"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-month-tab" class="nav-link {% if period.is_type_month %} active {% endif %} accounting-clickable" aria-current="{% if period.is_type_month %} page {% else %} false {% endif %}" data-tab-id="month"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-month-tab" class="nav-link {% if report.period.is_type_month %} active {% endif %} accounting-clickable" aria-current="{% if report.period.is_type_month %} page {% else %} false {% endif %}" data-tab-id="month"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("Month") }} | 
		
	
		
			
				|  |  |  |  |             </span> | 
		
	
		
			
				|  |  |  |  |           </li> | 
		
	
		
			
				|  |  |  |  |           <li class="nav-item"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-year-tab" class="nav-link {% if period.is_a_year %} active {% endif %} accounting-clickable" aria-current="{% if period.is_a_year %} page {% else %} false {% endif %}" data-tab-id="year"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-year-tab" class="nav-link {% if report.period.is_a_year %} active {% endif %} accounting-clickable" aria-current="{% if report.period.is_a_year %} page {% else %} false {% endif %}" data-tab-id="year"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("Year") }} | 
		
	
		
			
				|  |  |  |  |             </span> | 
		
	
		
			
				|  |  |  |  |           </li> | 
		
	
		
			
				|  |  |  |  |           <li class="nav-item"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-day-tab" class="nav-link {% if period.is_a_day %} active {% endif %} accounting-clickable" aria-current="{% if period.is_a_day %} page {% else %} false {% endif %}" data-tab-id="day"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-day-tab" class="nav-link {% if report.period.is_a_day %} active {% endif %} accounting-clickable" aria-current="{% if report.period.is_a_day %} page {% else %} false {% endif %}" data-tab-id="day"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("Day") }} | 
		
	
		
			
				|  |  |  |  |             </span> | 
		
	
		
			
				|  |  |  |  |           </li> | 
		
	
		
			
				|  |  |  |  |           <li class="nav-item"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-custom-tab" class="nav-link {% if period.is_type_arbitrary %} active {% endif %} accounting-clickable" aria-current="{% if period.is_type_arbitrary %} page {% else %} false {% endif %}" data-tab-id="custom"> | 
		
	
		
			
				|  |  |  |  |             <span id="accounting-period-chooser-custom-tab" class="nav-link {% if report.period.is_type_arbitrary %} active {% endif %} accounting-clickable" aria-current="{% if report.period.is_type_arbitrary %} page {% else %} false {% endif %}" data-tab-id="custom"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("Custom") }} | 
		
	
		
			
				|  |  |  |  |             </span> | 
		
	
		
			
				|  |  |  |  |           </li> | 
		
	
		
			
				|  |  |  |  |         </ul> | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         {# The month periods #} | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-month-page" {% if period.is_type_month %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-month-tab"> | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-month-page" {% if report.period.is_type_month %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-month-tab"> | 
		
	
		
			
				|  |  |  |  |           <div> | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if period.is_this_month %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.this_month_url }}"> | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if report.period.is_this_month %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.this_month_url }}"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("This month") }} | 
		
	
		
			
				|  |  |  |  |             </a> | 
		
	
		
			
				|  |  |  |  |             {% if period_chooser.has_last_month %} | 
		
	
		
			
				|  |  |  |  |               <a class="btn {% if period.is_last_month %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.last_month_url }}"> | 
		
	
		
			
				|  |  |  |  |             {% if report.period_chooser.has_last_month %} | 
		
	
		
			
				|  |  |  |  |               <a class="btn {% if report.period.is_last_month %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.last_month_url }}"> | 
		
	
		
			
				|  |  |  |  |                 {{ A_("Last month") }} | 
		
	
		
			
				|  |  |  |  |               </a> | 
		
	
		
			
				|  |  |  |  |               <a class="btn {% if period.is_since_last_month %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.since_last_month_url }}"> | 
		
	
		
			
				|  |  |  |  |               <a class="btn {% if report.period.is_since_last_month %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.since_last_month_url }}"> | 
		
	
		
			
				|  |  |  |  |                 {{ A_("Since last month") }} | 
		
	
		
			
				|  |  |  |  |               </a> | 
		
	
		
			
				|  |  |  |  |             {% endif %} | 
		
	
		
			
				|  |  |  |  |           </div> | 
		
	
		
			
				|  |  |  |  |           {% if period_chooser.has_data %} | 
		
	
		
			
				|  |  |  |  |             <div id="accounting-period-chooser-month-chooser" class="mt-3" data-start="{{ period_chooser.data_start }}" data-default="{{ period.start }}"></div> | 
		
	
		
			
				|  |  |  |  |           {% if report.period_chooser.has_data %} | 
		
	
		
			
				|  |  |  |  |             <div id="accounting-period-chooser-month-chooser" class="mt-3" data-start="{{ report.period_chooser.data_start }}" data-default="{{ report.period.start }}"></div> | 
		
	
		
			
				|  |  |  |  |           {% endif %} | 
		
	
		
			
				|  |  |  |  |         </div> | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         {# The year periods #} | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-year-page" {% if period.is_a_year %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-year-tab"> | 
		
	
		
			
				|  |  |  |  |           <a class="btn {% if period.is_this_year %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.this_year_url }}"> | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-year-page" {% if report.period.is_a_year %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-year-tab"> | 
		
	
		
			
				|  |  |  |  |           <a class="btn {% if report.period.is_this_year %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.this_year_url }}"> | 
		
	
		
			
				|  |  |  |  |             {{ A_("This year") }} | 
		
	
		
			
				|  |  |  |  |           </a> | 
		
	
		
			
				|  |  |  |  |           {% if period_chooser.has_last_year %} | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if period.is_last_year %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.last_year_url }}"> | 
		
	
		
			
				|  |  |  |  |           {% if report.period_chooser.has_last_year %} | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if report.period.is_last_year %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.last_year_url }}"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("Last year") }} | 
		
	
		
			
				|  |  |  |  |             </a> | 
		
	
		
			
				|  |  |  |  |           {% endif %} | 
		
	
		
			
				|  |  |  |  |           {% if period_chooser.available_years %} | 
		
	
		
			
				|  |  |  |  |           {% if report.period_chooser.available_years %} | 
		
	
		
			
				|  |  |  |  |             <ul class="nav nav-pills mt-3"> | 
		
	
		
			
				|  |  |  |  |               {% for year in period_chooser.available_years %} | 
		
	
		
			
				|  |  |  |  |               {% for year in report.period_chooser.available_years %} | 
		
	
		
			
				|  |  |  |  |                 <li class="nav-item"> | 
		
	
		
			
				|  |  |  |  |                   <a class="nav-link {% if period.is_year(year) %} active {% endif %}" href="{{ period_chooser.year_url(year) }}">{{ year }}</a> | 
		
	
		
			
				|  |  |  |  |                   <a class="nav-link {% if report.period.is_year(year) %} active {% endif %}" href="{{ report.period_chooser.year_url(year) }}">{{ year }}</a> | 
		
	
		
			
				|  |  |  |  |                 </li> | 
		
	
		
			
				|  |  |  |  |               {% endfor %} | 
		
	
		
			
				|  |  |  |  |             </ul> | 
		
	
	
		
			
				
					
					|  |  |  | @@ -93,21 +93,21 @@ First written: 2023/3/4 | 
		
	
		
			
				|  |  |  |  |         </div> | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         {# The day periods #} | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-day-page" {% if period.is_a_day %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-day-tab"> | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-day-page" {% if report.period.is_a_day %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-day-tab"> | 
		
	
		
			
				|  |  |  |  |           <div> | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if period.is_today %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.today_url }}"> | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if report.period.is_today %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.today_url }}"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("Today") }} | 
		
	
		
			
				|  |  |  |  |             </a> | 
		
	
		
			
				|  |  |  |  |             {% if period_chooser.has_yesterday %} | 
		
	
		
			
				|  |  |  |  |               <a class="btn {% if period.is_yesterday %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.yesterday_url }}"> | 
		
	
		
			
				|  |  |  |  |             {% if report.period_chooser.has_yesterday %} | 
		
	
		
			
				|  |  |  |  |               <a class="btn {% if report.period.is_yesterday %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.yesterday_url }}"> | 
		
	
		
			
				|  |  |  |  |                 {{ A_("Yesterday") }} | 
		
	
		
			
				|  |  |  |  |               </a> | 
		
	
		
			
				|  |  |  |  |             {% endif %} | 
		
	
		
			
				|  |  |  |  |           </div> | 
		
	
		
			
				|  |  |  |  |           {% if period_chooser.has_data %} | 
		
	
		
			
				|  |  |  |  |           {% if report.period_chooser.has_data %} | 
		
	
		
			
				|  |  |  |  |             <div class="mt-3"> | 
		
	
		
			
				|  |  |  |  |               <div class="form-floating mb-3"> | 
		
	
		
			
				|  |  |  |  |                 <input id="accounting-period-chooser-day-date" class="form-control" type="date" value="{{ period.start|accounting_default }}" min="{{ period_chooser.data_start }}" required="required"> | 
		
	
		
			
				|  |  |  |  |                 <input id="accounting-period-chooser-day-date" class="form-control" type="date" value="{{ report.period.start|accounting_default }}" min="{{ report.period_chooser.data_start }}" required="required"> | 
		
	
		
			
				|  |  |  |  |                 <label for="accounting-period-chooser-day-date" class="form-label">{{ A_("Date") }}</label> | 
		
	
		
			
				|  |  |  |  |                 <div id="accounting-period-chooser-day-date-error" class="invalid-feedback"></div> | 
		
	
		
			
				|  |  |  |  |               </div> | 
		
	
	
		
			
				
					
					|  |  |  | @@ -116,22 +116,22 @@ First written: 2023/3/4 | 
		
	
		
			
				|  |  |  |  |         </div> | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         {# The custom periods #} | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-custom-page" {% if period.is_type_arbitrary %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-custom-tab"> | 
		
	
		
			
				|  |  |  |  |         <div id="accounting-period-chooser-custom-page" {% if report.period.is_type_arbitrary %} aria-current="page" {% else %} class="d-none" aria-current="false" {% endif %} aria-labelledby="accounting-period-chooser-custom-tab"> | 
		
	
		
			
				|  |  |  |  |           <div> | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if period.is_all %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ period_chooser.all_url }}"> | 
		
	
		
			
				|  |  |  |  |             <a class="btn {% if report.period.is_all %} btn-primary {% else %} btn-outline-primary {% endif %}" role="button" href="{{ report.period_chooser.all_url }}"> | 
		
	
		
			
				|  |  |  |  |               {{ A_("All") }} | 
		
	
		
			
				|  |  |  |  |             </a> | 
		
	
		
			
				|  |  |  |  |           </div> | 
		
	
		
			
				|  |  |  |  |           {% if period_chooser.has_data %} | 
		
	
		
			
				|  |  |  |  |           {% if report.period_chooser.has_data %} | 
		
	
		
			
				|  |  |  |  |             <div class="mt-3"> | 
		
	
		
			
				|  |  |  |  |               <div class="form-floating mb-3"> | 
		
	
		
			
				|  |  |  |  |                 <input id="accounting-period-chooser-custom-start" class="form-control" type="date" value="{{ period.start|accounting_default }}" min="{{ period_chooser.data_start }}" max="{{ period.end }}" required="required"> | 
		
	
		
			
				|  |  |  |  |                 <input id="accounting-period-chooser-custom-start" class="form-control" type="date" value="{{ report.period.start|accounting_default }}" min="{{ report.period_chooser.data_start }}" max="{{ report.period.end }}" required="required"> | 
		
	
		
			
				|  |  |  |  |                 <label for="accounting-period-chooser-custom-start" class="form-label">{{ A_("From") }}</label> | 
		
	
		
			
				|  |  |  |  |                 <div id="accounting-period-chooser-custom-start-error" class="invalid-feedback"></div> | 
		
	
		
			
				|  |  |  |  |               </div> | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |               <div class="form-floating mb-3"> | 
		
	
		
			
				|  |  |  |  |                 <input id="accounting-period-chooser-custom-end" class="form-control" type="date" value="{{ period.end|accounting_default }}" min="{{ period.start }}" required="required"> | 
		
	
		
			
				|  |  |  |  |                 <input id="accounting-period-chooser-custom-end" class="form-control" type="date" value="{{ report.period.end|accounting_default }}" min="{{ report.period.start }}" required="required"> | 
		
	
		
			
				|  |  |  |  |                 <label for="accounting-period-chooser-custom-end" class="form-label">{{ A_("To") }}</label> | 
		
	
		
			
				|  |  |  |  |                 <div id="accounting-period-chooser-custom-end-error" class="invalid-feedback"></div> | 
		
	
		
			
				|  |  |  |  |               </div> | 
		
	
	
		
			
				
					
					|  |  |  |   |