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
|
||||
navigation 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)
|
||||
==================
|
||||
|
||||
@@ -7,6 +7,7 @@ from mayan.apps.smart_settings import Namespace
|
||||
from .literals import DEFAULT_MAXIMUM_TITLE_LENGTH
|
||||
|
||||
namespace = Namespace(name='appearance', label=_('Appearance'))
|
||||
|
||||
setting_max_title_length = namespace.add_setting(
|
||||
default=DEFAULT_MAXIMUM_TITLE_LENGTH,
|
||||
global_name='APPEARANCE_MAXIMUM_TITLE_LENGTH', help_text=_(
|
||||
|
||||
@@ -1,42 +1,15 @@
|
||||
{% 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 %}
|
||||
<h3>
|
||||
<h3 title='{{ form_title }}'>
|
||||
{% endif %}
|
||||
|
||||
{% 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 %}
|
||||
|
||||
{{ form_title }}
|
||||
{% if not non_html_title %}
|
||||
</h3>
|
||||
|
||||
{% if subtitle %}
|
||||
<small>{{ subtitle }}</small>
|
||||
{% endif %}
|
||||
|
||||
@@ -4,7 +4,6 @@ import hashlib
|
||||
|
||||
from django.apps import apps
|
||||
from django.db import models
|
||||
from django.template import loader
|
||||
from django.template.response import TemplateResponse
|
||||
from django.urls import reverse
|
||||
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 django.template import Context, Library
|
||||
from django.template.defaultfilters import truncatechars
|
||||
from django.template.loader import get_template
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
import mayan
|
||||
from mayan.apps.appearance.settings import setting_max_title_length
|
||||
|
||||
from ..classes import Collection
|
||||
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.update(Context(template_context))
|
||||
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