Convert the title calculation into a template tag
Convert the calculate form title template into a template tag. The result of the template tag is applied as the title property of the <H3> HTML tag allowing users to view the full title on mouse hover if the title was truncated. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -195,6 +195,10 @@
|
|||||||
- Moved the navigation templates from the appearance app to the
|
- Moved the navigation templates from the appearance app to the
|
||||||
navigation app.
|
navigation app.
|
||||||
- Moved the dashboard and dashboard widgets to their own app.
|
- Moved the dashboard and dashboard widgets to their own app.
|
||||||
|
- Converted the calculate form title template into a template tag.
|
||||||
|
The result of the template tag is applied as the title property
|
||||||
|
of the H3 HTML tag allowing users to view the full title on
|
||||||
|
mouse hover if it was truncated.
|
||||||
|
|
||||||
3.1.9 (2018-11-01)
|
3.1.9 (2018-11-01)
|
||||||
==================
|
==================
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ from mayan.apps.smart_settings import Namespace
|
|||||||
from .literals import DEFAULT_MAXIMUM_TITLE_LENGTH
|
from .literals import DEFAULT_MAXIMUM_TITLE_LENGTH
|
||||||
|
|
||||||
namespace = Namespace(name='appearance', label=_('Appearance'))
|
namespace = Namespace(name='appearance', label=_('Appearance'))
|
||||||
|
|
||||||
setting_max_title_length = namespace.add_setting(
|
setting_max_title_length = namespace.add_setting(
|
||||||
default=DEFAULT_MAXIMUM_TITLE_LENGTH,
|
default=DEFAULT_MAXIMUM_TITLE_LENGTH,
|
||||||
global_name='APPEARANCE_MAXIMUM_TITLE_LENGTH', help_text=_(
|
global_name='APPEARANCE_MAXIMUM_TITLE_LENGTH', help_text=_(
|
||||||
|
|||||||
@@ -1,42 +1,15 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% load smart_settings_tags %}
|
{% load common_tags %}
|
||||||
|
|
||||||
{% smart_setting 'APPEARANCE_MAXIMUM_TITLE_LENGTH' as maximum_title_length %}
|
{% common_calculate_title as form_title %}
|
||||||
|
|
||||||
{% if not non_html_title %}
|
{% if not non_html_title %}
|
||||||
<h3>
|
<h3 title='{{ form_title }}'>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{{ form_title }}
|
||||||
{% if title %}
|
|
||||||
{{ title|truncatechars:maximum_title_length }}
|
|
||||||
{% else %}
|
|
||||||
{% if delete_view %}
|
|
||||||
{% trans 'Confirm delete' %}
|
|
||||||
{% else %}
|
|
||||||
{% if form %}
|
|
||||||
{% if object %}
|
|
||||||
{% blocktrans with object as object %}Edit: {{ object }}{% endblocktrans %}
|
|
||||||
{% else %}
|
|
||||||
{% trans 'Confirm' %}
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
{% if read_only %}
|
|
||||||
{% blocktrans %}Details for: {{ object }}{% endblocktrans %}
|
|
||||||
{% else %}
|
|
||||||
{% if object %}
|
|
||||||
{% blocktrans with object as object %}Edit: {{ object }}{% endblocktrans %}
|
|
||||||
{% else %}
|
|
||||||
{% trans 'Create' %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if not non_html_title %}
|
{% if not non_html_title %}
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
{% if subtitle %}
|
{% if subtitle %}
|
||||||
<small>{{ subtitle }}</small>
|
<small>{{ subtitle }}</small>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import hashlib
|
|||||||
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.template import loader
|
|
||||||
from django.template.response import TemplateResponse
|
from django.template.response import TemplateResponse
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.encoding import force_text, python_2_unicode_compatible
|
from django.utils.encoding import force_text, python_2_unicode_compatible
|
||||||
|
|||||||
@@ -3,10 +3,13 @@ from __future__ import unicode_literals
|
|||||||
from json import dumps
|
from json import dumps
|
||||||
|
|
||||||
from django.template import Context, Library
|
from django.template import Context, Library
|
||||||
|
from django.template.defaultfilters import truncatechars
|
||||||
from django.template.loader import get_template
|
from django.template.loader import get_template
|
||||||
from django.utils.encoding import force_text
|
from django.utils.encoding import force_text
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
import mayan
|
import mayan
|
||||||
|
from mayan.apps.appearance.settings import setting_max_title_length
|
||||||
|
|
||||||
from ..classes import Collection
|
from ..classes import Collection
|
||||||
from ..literals import MESSAGE_SQLITE_WARNING
|
from ..literals import MESSAGE_SQLITE_WARNING
|
||||||
@@ -58,3 +61,28 @@ def render_subtemplate(context, template_name, template_context):
|
|||||||
new_context = Context(context.flatten())
|
new_context = Context(context.flatten())
|
||||||
new_context.update(Context(template_context))
|
new_context.update(Context(template_context))
|
||||||
return get_template(template_name).render(new_context.flatten())
|
return get_template(template_name).render(new_context.flatten())
|
||||||
|
|
||||||
|
|
||||||
|
@register.simple_tag(takes_context=True)
|
||||||
|
def common_calculate_title(context):
|
||||||
|
if context.get('title'):
|
||||||
|
return truncatechars(
|
||||||
|
value=context.get('title'), arg=setting_max_title_length.value
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
if context.get('delete_view'):
|
||||||
|
return _('Confirm delete')
|
||||||
|
else:
|
||||||
|
if context.get('form'):
|
||||||
|
if context.get('object'):
|
||||||
|
return _('Edit %s') % context.get('object')
|
||||||
|
else:
|
||||||
|
return _('Confirm')
|
||||||
|
else:
|
||||||
|
if context.get('read_only'):
|
||||||
|
return _('Details for: %s') % context.get('object')
|
||||||
|
else:
|
||||||
|
if context.get('object'):
|
||||||
|
return _('Edit: %s') % context.get('object')
|
||||||
|
else:
|
||||||
|
return _('Create')
|
||||||
|
|||||||
Reference in New Issue
Block a user