Added the template helper to display the date in a human-friendly format.
This commit is contained in:
		| @@ -21,6 +21,7 @@ Author: imacat@mail.imacat.idv.tw (imacat) | |||||||
| First written: 2020/7/1 | First written: 2020/7/1 | ||||||
| {% endcomment %} | {% endcomment %} | ||||||
| {% load i18n %} | {% load i18n %} | ||||||
|  | {% load humanize %} | ||||||
|  |  | ||||||
| {% block settings %} | {% block settings %} | ||||||
|   {% trans "Cash Report" context "Accounting|" as title %} |   {% trans "Cash Report" context "Accounting|" as title %} | ||||||
| @@ -29,11 +30,8 @@ First written: 2020/7/1 | |||||||
|  |  | ||||||
| {% block content %} | {% block content %} | ||||||
|  |  | ||||||
|   <p>{{ request.path }}</p> |  | ||||||
|  |  | ||||||
|   <p>{{ request.get_full_path }}</p> |  | ||||||
|  |  | ||||||
|   <p>{{ request.resolver_match.url_name }}</p> |   <p>{{ request.resolver_match.url_name }}</p> | ||||||
|  |   <p>{{ request.resolver_match.app_name }}</p> | ||||||
|  |  | ||||||
| {% if records %} | {% if records %} | ||||||
|   <table class="table table-stripped"> |   <table class="table table-stripped"> | ||||||
| @@ -51,12 +49,12 @@ First written: 2020/7/1 | |||||||
|   <tbody> |   <tbody> | ||||||
|     {% for record in records %} |     {% for record in records %} | ||||||
|       <tr> |       <tr> | ||||||
|       <td>{{ record.transaction.date|date:"Y-m-d" }}</td> |       <td>{{ record.transaction.date|human_date }}</td> | ||||||
|       <td>{{ record.subject.title_zhtw }}</td> |       <td>{{ record.subject.title_zhtw }}</td> | ||||||
|       <td>{{ record.summary }}</td> |       <td>{{ record.summary }}</td> | ||||||
|       <td>{{ record.debit_amount|default:"" }}</td> |       <td>{{ record.debit_amount|intcomma:False }}</td> | ||||||
|       <td>{{ record.credit_amount|default:"" }}</td> |       <td>{{ record.credit_amount|default:""|intcomma:False }}</td> | ||||||
|       <td>{{ record.amount }}</td> |       <td>{{ record.amount|intcomma:False }}</td> | ||||||
|       <td><a href="{{ record.transaction.get_absolute_url }}">{% trans "View" context "Accounting|" %}</a></td> |       <td><a href="{{ record.transaction.get_absolute_url }}">{% trans "View" context "Accounting|" %}</a></td> | ||||||
|       </tr> |       </tr> | ||||||
|     {% endfor %} |     {% endfor %} | ||||||
|   | |||||||
							
								
								
									
										43
									
								
								mia_core/templatefilters.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								mia_core/templatefilters.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | |||||||
|  | # The template filters of the Mia project. | ||||||
|  | #   by imacat <imacat@mail.imacat.idv.tw>, 2020/7/2 | ||||||
|  |  | ||||||
|  | #  Copyright (c) 2020 imacat. | ||||||
|  | # | ||||||
|  | #  Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  | #  you may not use this file except in compliance with the License. | ||||||
|  | #  You may obtain a copy of the License at | ||||||
|  | # | ||||||
|  | #      http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | #  Unless required by applicable law or agreed to in writing, software | ||||||
|  | #  distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  | #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  | #  See the License for the specific language governing permissions and | ||||||
|  | #  limitations under the License. | ||||||
|  | import locale | ||||||
|  | from datetime import date | ||||||
|  |  | ||||||
|  | from django import template | ||||||
|  | from django.template import defaultfilters | ||||||
|  | from django.utils.translation import gettext | ||||||
|  |  | ||||||
|  | register = template.Library() | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @register.filter(is_safe=True) | ||||||
|  | def human_date(value): | ||||||
|  |     """Formats the date for human friendliness. | ||||||
|  |  | ||||||
|  |     Args: | ||||||
|  |         value (datetime.date): The date. | ||||||
|  |  | ||||||
|  |     Returns: | ||||||
|  |         str: The human-friendly format of the date. | ||||||
|  |     """ | ||||||
|  |     if value == date.today(): | ||||||
|  |         return gettext("Today") | ||||||
|  |     if (date.today() - value).days == 1: | ||||||
|  |         return gettext("Yesterday") | ||||||
|  |     if date.today().year == value.year: | ||||||
|  |         return defaultfilters.date(value, "n/j(D)").replace("星期", "") | ||||||
|  |     return defaultfilters.date(value, "Y/n/j(D)").replace("星期", "") | ||||||
		Reference in New Issue
	
	Block a user