Added new app 'project_setup' to display a setup dashboard style view instead of a secondary action list
28
apps/common/templates/generic_list_horizontal.html
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load navigation_tags %}
|
||||||
|
{% load subtemplates_tags %}
|
||||||
|
|
||||||
|
{% block title %} :: {% blocktrans with title|striptags as stripped_title %}List of {{ stripped_title }}{% endblocktrans %}{% endblock %}
|
||||||
|
{#{% block secondary_links %}{{ secondary_links|safe }}{% endblock %}#}
|
||||||
|
|
||||||
|
{% block sidebar %}
|
||||||
|
{% for subtemplate in sidebar_subtemplates_list %}
|
||||||
|
{% if subtemplate.form %}
|
||||||
|
{% render_subtemplate subtemplate.name subtemplate.context as rendered_subtemplate %}
|
||||||
|
<div class="generic_subform">
|
||||||
|
{{ rendered_subtemplate }}
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{% render_subtemplate subtemplate.name subtemplate.context as rendered_subtemplate %}
|
||||||
|
{{ rendered_subtemplate }}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% include "generic_list_horizontal_subtemplate.html" %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
191
apps/common/templates/generic_list_horizontal_subtemplate.html
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
{% load i18n %}
|
||||||
|
{% load attribute_tags %}
|
||||||
|
{% load pagination_tags %}
|
||||||
|
{% load navigation_tags %}
|
||||||
|
{% load non_breakable %}
|
||||||
|
{% load variable_tags %}
|
||||||
|
{% load main_settings_tags %}
|
||||||
|
|
||||||
|
{% get_main_setting "DISABLE_ICONS" as disable_icons %}
|
||||||
|
|
||||||
|
{% if side_bar %}
|
||||||
|
<div class="block">
|
||||||
|
<h3>
|
||||||
|
{{ title|capfirst }}
|
||||||
|
</h3>
|
||||||
|
<div class="content">
|
||||||
|
<p>
|
||||||
|
{% else %}
|
||||||
|
{% autopaginate object_list %}
|
||||||
|
<div class="content">
|
||||||
|
<h2 class="title">
|
||||||
|
{% ifnotequal page_obj.paginator.num_pages 1 %}
|
||||||
|
{% blocktrans with page_obj.start_index as start and page_obj.end_index as end and page_obj.paginator.object_list|length as total and page_obj.number as page_number and page_obj.paginator.num_pages as total_pages %}List of {{ title }} ({{ start }} - {{ end }} out of {{ total }}) (Page {{ page_number }} of {{ total_pages }}){% endblocktrans %}
|
||||||
|
{% else %}
|
||||||
|
{% blocktrans with page_obj.paginator.object_list|length as total %}List of {{ title }} ({{ total }}){% endblocktrans %}
|
||||||
|
{% endifnotequal %}
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div class="inner">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<form action="{% url multi_object_action_view %}" class="form" method="get">
|
||||||
|
|
||||||
|
{% if object_list %}
|
||||||
|
{% if multi_select or multi_select_as_buttons %}
|
||||||
|
{% if multi_select_as_buttons %}
|
||||||
|
{% get_multi_item_links as multi_item_links %}
|
||||||
|
<div class="group navform wat-cf">
|
||||||
|
{% for link in multi_item_links %}
|
||||||
|
<button class="button" type="submit" name="action" value="{{ link.url }}">
|
||||||
|
{% if link.famfam and not disable_icons %}<span class="famfam active famfam-{{ link.famfam|default:'link' }}"></span>{% endif %}{{ link.text|capfirst }}
|
||||||
|
</button>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{% with "true" as form_hide_required_text %}
|
||||||
|
{% get_multi_item_links_form %}
|
||||||
|
{% endwith %}
|
||||||
|
<div class="group navform wat-cf">
|
||||||
|
<button class="button" type="submit" name="{{ form.prefix }}-submit">
|
||||||
|
<img src="{{ STATIC_URL }}web_theme_media/images/icons/tick.png" alt="{% if object %}{% trans 'Save' %}{% else %}{% trans 'Submit' %}{% endif %}" /> {% if object %}{% trans "Save" %}{% else %}{% trans "Submit" %}{% endif %}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if scrollable_content %}
|
||||||
|
<div style="border: 1px solid; height: {{ scrollable_content_height }}; overflow: auto;">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %}
|
||||||
|
<table class="table">
|
||||||
|
<tbody>
|
||||||
|
{% if not hide_header %}
|
||||||
|
<tr>
|
||||||
|
{% if multi_select or multi_select_as_buttons %}
|
||||||
|
<th class="first"><input type="checkbox" class="checkbox toggle" /></th>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if not hide_object %}
|
||||||
|
<th>{% trans "Identifier" %}</th>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for column in extra_columns_preffixed %}
|
||||||
|
<th>{{ column.name|capfirst }}</th>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% for column in object_list.0|get_model_list_columns %}
|
||||||
|
<th>{{ column.name|capfirst }}</th>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% for column in extra_columns %}
|
||||||
|
<th>{{ column.name|capfirst }}</th>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if not hide_links %}
|
||||||
|
<th class=""> </th>
|
||||||
|
{% endif %}
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% for object in object_list %}
|
||||||
|
<tr class="{% cycle 'odd' 'even2' %}">
|
||||||
|
{% if multi_select or multi_select_as_buttons %}
|
||||||
|
<td><input type="checkbox" class="checkbox" name="pk_{{ object.pk }}" value="" /></td>
|
||||||
|
{% endif %}
|
||||||
|
{% if not hide_object %}
|
||||||
|
{% if main_object %}
|
||||||
|
{% with object|object_property:main_object as object %}
|
||||||
|
<td>{% if not hide_link %}<a href="{{ object.get_absolute_url }}">{{ object }}</a>{% else %}{{ object }}{% endif %}</td>
|
||||||
|
{% endwith %}
|
||||||
|
{% else %}
|
||||||
|
<td>{% if not hide_link %}<a href="{{ object.get_absolute_url }}">{{ object }}</a>{% else %}{{ object }}{% endif %}</td>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% for column in extra_columns_preffixed %}
|
||||||
|
{% if column.keep_together %}
|
||||||
|
<td>
|
||||||
|
{{ object|object_property:column.attribute|make_non_breakable }}
|
||||||
|
</td>
|
||||||
|
{% else %}
|
||||||
|
<td>{{ object|object_property:column.attribute }}</td>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% if not hide_columns %}
|
||||||
|
{% for column in object|get_model_list_columns %}
|
||||||
|
<td>{{ object|object_property:column.attribute }}</td>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% for column in extra_columns %}
|
||||||
|
{% if column.keep_together %}
|
||||||
|
<td>
|
||||||
|
{{ object|object_property:column.attribute|make_non_breakable }}
|
||||||
|
</td>
|
||||||
|
{% else %}
|
||||||
|
<td>{{ object|object_property:column.attribute }}</td>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% if not hide_links %}
|
||||||
|
{% if list_object_variable_name %}
|
||||||
|
{% copy_variable object as list_object_variable_name %}
|
||||||
|
{% copy_variable list_object_variable_name as "navigation_object_name" %}
|
||||||
|
{% endif %}
|
||||||
|
<td class="last">
|
||||||
|
{% if navigation_object_links %}
|
||||||
|
{% with navigation_object_links as overrided_object_links %}
|
||||||
|
{% object_navigation_template %}
|
||||||
|
{% endwith %}
|
||||||
|
{% else %}
|
||||||
|
{% object_navigation_template %}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
|
</tr>
|
||||||
|
{% empty %}
|
||||||
|
<tr><td colspan=99 class="tc">{% blocktrans with title|striptags as stripped_title %}There are no {{ stripped_title }}{% endblocktrans %}</td></tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% endcomment %}
|
||||||
|
<div class="group navform wat-cf">
|
||||||
|
{% for object in object_list %}
|
||||||
|
{{ object }}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if scrollable_content %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if object_list %}
|
||||||
|
{% if multi_select or multi_select_as_buttons %}
|
||||||
|
{% if multi_select_as_buttons %}
|
||||||
|
{% get_multi_item_links as multi_item_links %}
|
||||||
|
<div class="group navform wat-cf">
|
||||||
|
{% for link in multi_item_links %}
|
||||||
|
<button class="button" type="submit" name="action" value="{{ link.url }}">
|
||||||
|
{% if link.famfam and not disable_icons %}<span class="famfam active famfam-{{ link.famfam|default:'link' }}"></span>{% endif %}{{ link.text|capfirst }}
|
||||||
|
</button>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{% with "true" as form_hide_required_text %}
|
||||||
|
{% get_multi_item_links_form %}
|
||||||
|
{% endwith %}
|
||||||
|
<div class="group navform wat-cf">
|
||||||
|
<button class="button" type="submit" name="{{ form.prefix }}-submit">
|
||||||
|
<img src="{{ STATIC_URL }}web_theme_media/images/icons/tick.png" alt="{% if object %}{% trans 'Save' %}{% else %}{% trans 'Submit' %}{% endif %}" /> {% if object %}{% trans "Save" %}{% else %}{% trans "Submit" %}{% endif %}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
</form>
|
||||||
|
{% paginate %}
|
||||||
|
|
||||||
|
{% if side_bar %}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -11,6 +11,7 @@ from permissions.api import register_permission, set_namespace_title
|
|||||||
from tags.widgets import get_tags_inline_widget_simple
|
from tags.widgets import get_tags_inline_widget_simple
|
||||||
from history.api import register_history_type
|
from history.api import register_history_type
|
||||||
from metadata.api import get_metadata_string
|
from metadata.api import get_metadata_string
|
||||||
|
from project_setup.api import register_setup
|
||||||
|
|
||||||
from documents.models import Document, DocumentPage, \
|
from documents.models import Document, DocumentPage, \
|
||||||
DocumentPageTransformation, DocumentType, DocumentTypeFilename
|
DocumentPageTransformation, DocumentType, DocumentTypeFilename
|
||||||
@@ -107,6 +108,7 @@ document_missing_list = {'text': _(u'Find missing document files'), 'view': 'doc
|
|||||||
|
|
||||||
# Document type related links
|
# Document type related links
|
||||||
document_type_list = {'text': _(u'document type list'), 'view': 'document_type_list', 'famfam': 'layout', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
document_type_list = {'text': _(u'document type list'), 'view': 'document_type_list', 'famfam': 'layout', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
||||||
|
document_type_setup = {'text': _(u'document types'), 'view': 'document_type_list', 'famfam': 'layout', 'icon': 'layout.png', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
||||||
document_type_document_list = {'text': _(u'documents of this type'), 'view': 'document_type_document_list', 'args': 'document_type.id', 'famfam': 'page_go', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
document_type_document_list = {'text': _(u'documents of this type'), 'view': 'document_type_document_list', 'args': 'document_type.id', 'famfam': 'page_go', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
||||||
document_type_edit = {'text': _(u'edit'), 'view': 'document_type_edit', 'args': 'document_type.id', 'famfam': 'layout_edit', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]}
|
document_type_edit = {'text': _(u'edit'), 'view': 'document_type_edit', 'args': 'document_type.id', 'famfam': 'layout_edit', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]}
|
||||||
document_type_delete = {'text': _(u'delete'), 'view': 'document_type_delete', 'args': 'document_type.id', 'famfam': 'layout_delete', 'permissions': [PERMISSION_DOCUMENT_TYPE_DELETE]}
|
document_type_delete = {'text': _(u'delete'), 'view': 'document_type_delete', 'args': 'document_type.id', 'famfam': 'layout_delete', 'permissions': [PERMISSION_DOCUMENT_TYPE_DELETE]}
|
||||||
@@ -123,7 +125,7 @@ document_type_views = ['setup_document_type_metadata', 'document_type_list', 'do
|
|||||||
register_links(DocumentType, [document_type_document_list, document_type_filename_list, document_type_edit, document_type_delete])
|
register_links(DocumentType, [document_type_document_list, document_type_filename_list, document_type_edit, document_type_delete])
|
||||||
register_links(DocumentTypeFilename, [document_type_filename_edit, document_type_filename_delete])
|
register_links(DocumentTypeFilename, [document_type_filename_edit, document_type_filename_delete])
|
||||||
|
|
||||||
register_links(['setup_document_type_metadata', 'document_type_filename_delete', 'document_type_create', 'document_type_filename_create', 'document_type_filename_edit', 'document_type_filename_list', 'document_type_list', 'document_type_document_list', 'document_type_edit', 'document_type_delete'], [document_type_create], menu_name='sidebar')
|
register_links(['setup_document_type_metadata', 'document_type_filename_delete', 'document_type_create', 'document_type_filename_create', 'document_type_filename_edit', 'document_type_filename_list', 'document_type_list', 'document_type_document_list', 'document_type_edit', 'document_type_delete'], [document_type_list, document_type_create], menu_name='sidebar')
|
||||||
register_links(['document_type_filename_create', 'document_type_filename_list', 'document_type_filename_edit', 'document_type_filename_delete'], [document_type_filename_create], menu_name='sidebar')
|
register_links(['document_type_filename_create', 'document_type_filename_list', 'document_type_filename_edit', 'document_type_filename_delete'], [document_type_filename_create], menu_name='sidebar')
|
||||||
|
|
||||||
# Register document links
|
# Register document links
|
||||||
@@ -199,3 +201,5 @@ register_links(Document, [document_history_view], menu_name='form_header')
|
|||||||
|
|
||||||
if (validate_path(document_settings.CACHE_PATH) == False) or (not document_settings.CACHE_PATH):
|
if (validate_path(document_settings.CACHE_PATH) == False) or (not document_settings.CACHE_PATH):
|
||||||
setattr(document_settings, 'CACHE_PATH', tempfile.mkdtemp())
|
setattr(document_settings, 'CACHE_PATH', tempfile.mkdtemp())
|
||||||
|
|
||||||
|
register_setup(document_type_setup)
|
||||||
|
|||||||
BIN
apps/documents/static/images/icons/layout.png
Normal file
|
After Width: | Height: | Size: 979 B |
@@ -1,15 +1,10 @@
|
|||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from navigation.api import register_top_menu
|
from navigation.api import register_top_menu
|
||||||
from permissions import role_list, permission_views
|
|
||||||
from user_management import user_list, group_list, user_management_views
|
|
||||||
from navigation.api import register_links
|
from navigation.api import register_links
|
||||||
from history import history_list
|
from history import history_list
|
||||||
from converter import formats_list
|
from converter import formats_list
|
||||||
from documents import document_type_views
|
from project_setup.api import register_setup
|
||||||
from metadata import setup_metadata_type_list, metadata_type_setup_views
|
|
||||||
from metadata import setup_metadata_set_list, metadata_set_setup_views
|
|
||||||
from sources import source_list, source_views
|
|
||||||
|
|
||||||
from main.conf.settings import SIDE_BAR_SEARCH
|
from main.conf.settings import SIDE_BAR_SEARCH
|
||||||
from main.conf.settings import DISABLE_HOME_VIEW
|
from main.conf.settings import DISABLE_HOME_VIEW
|
||||||
@@ -22,7 +17,7 @@ check_settings = {'text': _(u'settings'), 'view': 'setting_list', 'famfam': 'cog
|
|||||||
statistics = {'text': _(u'statistics'), 'view': 'statistics', 'famfam': 'table'}
|
statistics = {'text': _(u'statistics'), 'view': 'statistics', 'famfam': 'table'}
|
||||||
diagnostics = {'text': _(u'diagnostics'), 'view': 'diagnostics', 'famfam': 'pill'}
|
diagnostics = {'text': _(u'diagnostics'), 'view': 'diagnostics', 'famfam': 'pill'}
|
||||||
tools_menu = {'text': _(u'tools'), 'view': 'tools_menu', 'famfam': 'wrench'}
|
tools_menu = {'text': _(u'tools'), 'view': 'tools_menu', 'famfam': 'wrench'}
|
||||||
admin_site = {'text': _(u'admin site'), 'url': '/admin', 'famfam': 'keyboard', 'condition': is_superuser}
|
admin_site = {'text': _(u'admin site'), 'url': '/admin', 'famfam': 'keyboard', 'icon': 'keyboard.png', 'condition': is_superuser}
|
||||||
sentry = {'text': _(u'sentry'), 'url': '/sentry', 'famfam': 'bug', 'condition': is_superuser}
|
sentry = {'text': _(u'sentry'), 'url': '/sentry', 'famfam': 'bug', 'condition': is_superuser}
|
||||||
document_types = {'text': _(u'document types'), 'view': 'document_type_list', 'famfam': 'layout', 'children_view_regex': ['document_type', 'setup_document_type']}
|
document_types = {'text': _(u'document types'), 'view': 'document_type_list', 'famfam': 'layout', 'children_view_regex': ['document_type', 'setup_document_type']}
|
||||||
|
|
||||||
@@ -45,20 +40,8 @@ if not SIDE_BAR_SEARCH:
|
|||||||
register_top_menu('search', link={'text': _(u'search'), 'view': 'search', 'famfam': 'zoom'}, children_path_regex=[r'^search/'])
|
register_top_menu('search', link={'text': _(u'search'), 'view': 'search', 'famfam': 'zoom'}, children_path_regex=[r'^search/'])
|
||||||
|
|
||||||
register_top_menu('tools', link=tools_menu, children_views=['statistics', 'history_list', 'formats_list'], position=-3)
|
register_top_menu('tools', link=tools_menu, children_views=['statistics', 'history_list', 'formats_list'], position=-3)
|
||||||
#register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setting_list', 'famfam': 'cog'}, children=setup_views)
|
|
||||||
register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setting_list', 'famfam': 'cog'}, children_path_regex=[r'^settings/', r'^user_management/', r'^permissions', r'^documents/type', r'^metadata/setup', r'sources/setup'], position=-2)
|
|
||||||
|
|
||||||
register_links(['tools_menu', 'statistics', 'history_list', 'history_view', 'formats_list'], [tools_menu, statistics, history_list, formats_list, sentry], menu_name='secondary_menu')
|
register_links(['tools_menu', 'statistics', 'history_list', 'history_view', 'formats_list'], [tools_menu, statistics, history_list, formats_list, sentry], menu_name='secondary_menu')
|
||||||
|
|
||||||
setup_links = [check_settings, role_list, user_list, group_list, document_types, setup_metadata_type_list, setup_metadata_set_list, source_list, admin_site]
|
|
||||||
register_links(['setting_list'], setup_links, menu_name='secondary_menu')
|
|
||||||
register_links(permission_views, setup_links, menu_name='secondary_menu')
|
|
||||||
register_links(user_management_views, setup_links, menu_name='secondary_menu')
|
|
||||||
register_links(document_type_views, setup_links, menu_name='secondary_menu')
|
|
||||||
register_links(metadata_type_setup_views, setup_links, menu_name='secondary_menu')
|
|
||||||
register_links(metadata_set_setup_views, setup_links, menu_name='secondary_menu')
|
|
||||||
register_links(source_views, setup_links, menu_name='secondary_menu')
|
|
||||||
|
|
||||||
|
|
||||||
def get_version():
|
def get_version():
|
||||||
"""
|
"""
|
||||||
@@ -73,3 +56,5 @@ def get_version():
|
|||||||
return ''.join(vers)
|
return ''.join(vers)
|
||||||
|
|
||||||
__version__ = get_version()
|
__version__ = get_version()
|
||||||
|
|
||||||
|
register_setup(admin_site)
|
||||||
|
|||||||
BIN
apps/main/static/images/icons/keyboard.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
@@ -5,6 +5,8 @@ from navigation.api import register_links, register_multi_item_links, \
|
|||||||
from permissions.api import register_permission, set_namespace_title
|
from permissions.api import register_permission, set_namespace_title
|
||||||
from documents.models import Document, DocumentType
|
from documents.models import Document, DocumentType
|
||||||
from documents.literals import PERMISSION_DOCUMENT_TYPE_EDIT
|
from documents.literals import PERMISSION_DOCUMENT_TYPE_EDIT
|
||||||
|
from project_setup.api import register_setup
|
||||||
|
|
||||||
from metadata.models import MetadataType, MetadataSet
|
from metadata.models import MetadataType, MetadataSet
|
||||||
|
|
||||||
PERMISSION_METADATA_DOCUMENT_EDIT = {'namespace': 'metadata', 'name': u'metadata_document_edit', 'label': _(u'Edit a document\'s metadata')}
|
PERMISSION_METADATA_DOCUMENT_EDIT = {'namespace': 'metadata', 'name': u'metadata_document_edit', 'label': _(u'Edit a document\'s metadata')}
|
||||||
@@ -47,12 +49,12 @@ metadata_multiple_add = {'text': _(u'add metadata'), 'view': 'metadata_multiple_
|
|||||||
metadata_remove = {'text': _(u'remove metadata'), 'view': 'metadata_remove', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
|
metadata_remove = {'text': _(u'remove metadata'), 'view': 'metadata_remove', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
|
||||||
metadata_multiple_remove = {'text': _(u'remove metadata'), 'view': 'metadata_multiple_remove', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
|
metadata_multiple_remove = {'text': _(u'remove metadata'), 'view': 'metadata_multiple_remove', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
|
||||||
|
|
||||||
setup_metadata_type_list = {'text': _(u'metadata types'), 'view': 'setup_metadata_type_list', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_TYPE_VIEW], 'children_view_regex': ['setup_metadata_type']}
|
setup_metadata_type_list = {'text': _(u'metadata types'), 'view': 'setup_metadata_type_list', 'famfam': 'xhtml_go', 'icon': 'xhtml.png', 'permissions': [PERMISSION_METADATA_TYPE_VIEW], 'children_view_regex': ['setup_metadata_type']}
|
||||||
setup_metadata_type_edit = {'text': _(u'edit'), 'view': 'setup_metadata_type_edit', 'args': 'object.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_METADATA_TYPE_EDIT]}
|
setup_metadata_type_edit = {'text': _(u'edit'), 'view': 'setup_metadata_type_edit', 'args': 'object.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_METADATA_TYPE_EDIT]}
|
||||||
setup_metadata_type_delete = {'text': _(u'delete'), 'view': 'setup_metadata_type_delete', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_TYPE_DELETE]}
|
setup_metadata_type_delete = {'text': _(u'delete'), 'view': 'setup_metadata_type_delete', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_TYPE_DELETE]}
|
||||||
setup_metadata_type_create = {'text': _(u'create new'), 'view': 'setup_metadata_type_create', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_TYPE_CREATE]}
|
setup_metadata_type_create = {'text': _(u'create new'), 'view': 'setup_metadata_type_create', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_TYPE_CREATE]}
|
||||||
|
|
||||||
setup_metadata_set_list = {'text': _(u'metadata sets'), 'view': 'setup_metadata_set_list', 'famfam': 'table', 'permissions': [PERMISSION_METADATA_SET_VIEW], 'children_view_regex': ['setup_metadata_set']}
|
setup_metadata_set_list = {'text': _(u'metadata sets'), 'view': 'setup_metadata_set_list', 'famfam': 'table', 'icon': 'table.png', 'permissions': [PERMISSION_METADATA_SET_VIEW], 'children_view_regex': ['setup_metadata_set']}
|
||||||
setup_metadata_set_edit = {'text': _(u'edit'), 'view': 'setup_metadata_set_edit', 'args': 'object.pk', 'famfam': 'table_edit', 'permissions': [PERMISSION_METADATA_SET_EDIT]}
|
setup_metadata_set_edit = {'text': _(u'edit'), 'view': 'setup_metadata_set_edit', 'args': 'object.pk', 'famfam': 'table_edit', 'permissions': [PERMISSION_METADATA_SET_EDIT]}
|
||||||
setup_metadata_set_delete = {'text': _(u'delete'), 'view': 'setup_metadata_set_delete', 'args': 'object.pk', 'famfam': 'table_delete', 'permissions': [PERMISSION_METADATA_SET_DELETE]}
|
setup_metadata_set_delete = {'text': _(u'delete'), 'view': 'setup_metadata_set_delete', 'args': 'object.pk', 'famfam': 'table_delete', 'permissions': [PERMISSION_METADATA_SET_DELETE]}
|
||||||
setup_metadata_set_create = {'text': _(u'create new'), 'view': 'setup_metadata_set_create', 'famfam': 'table_add', 'permissions': [PERMISSION_METADATA_SET_CREATE]}
|
setup_metadata_set_create = {'text': _(u'create new'), 'view': 'setup_metadata_set_create', 'famfam': 'table_add', 'permissions': [PERMISSION_METADATA_SET_CREATE]}
|
||||||
@@ -65,10 +67,10 @@ register_links(Document, [metadata_view], menu_name='form_header') #, metadata_
|
|||||||
register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_instance_list', 'document_type_document_list', 'search', 'results', 'document_group_view', 'document_list', 'document_list_recent'], [metadata_multiple_add, metadata_multiple_edit, metadata_multiple_remove])
|
register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_instance_list', 'document_type_document_list', 'search', 'results', 'document_group_view', 'document_list', 'document_list_recent'], [metadata_multiple_add, metadata_multiple_edit, metadata_multiple_remove])
|
||||||
|
|
||||||
register_links(MetadataType, [setup_metadata_type_edit, setup_metadata_type_delete])
|
register_links(MetadataType, [setup_metadata_type_edit, setup_metadata_type_delete])
|
||||||
register_links(['setup_metadata_type_delete', 'setup_metadata_type_edit', 'setup_metadata_type_list', 'setup_metadata_type_create'], [setup_metadata_type_create], menu_name='sidebar')
|
register_links(['setup_metadata_type_delete', 'setup_metadata_type_edit', 'setup_metadata_type_list', 'setup_metadata_type_create'], [setup_metadata_type_list, setup_metadata_type_create], menu_name='sidebar')
|
||||||
|
|
||||||
register_links(MetadataSet, [setup_metadata_set_edit, setup_metadata_set_delete])
|
register_links(MetadataSet, [setup_metadata_set_edit, setup_metadata_set_delete])
|
||||||
register_links(['setup_metadata_set_delete', 'setup_metadata_set_edit', 'setup_metadata_set_list', 'setup_metadata_set_create'], [setup_metadata_set_create], menu_name='sidebar')
|
register_links(['setup_metadata_set_delete', 'setup_metadata_set_edit', 'setup_metadata_set_list', 'setup_metadata_set_create'], [setup_metadata_set_list, setup_metadata_set_create], menu_name='sidebar')
|
||||||
|
|
||||||
register_links(DocumentType, [setup_document_type_metadata])
|
register_links(DocumentType, [setup_document_type_metadata])
|
||||||
|
|
||||||
@@ -77,3 +79,7 @@ metadata_set_setup_views = ['setup_metadata_set_list', 'setup_metadata_set_edit'
|
|||||||
|
|
||||||
register_sidebar_template(['setup_metadata_type_list'], 'metadata_type_help.html')
|
register_sidebar_template(['setup_metadata_type_list'], 'metadata_type_help.html')
|
||||||
register_sidebar_template(['setup_metadata_set_list'], 'metadata_set_help.html')
|
register_sidebar_template(['setup_metadata_set_list'], 'metadata_set_help.html')
|
||||||
|
|
||||||
|
register_setup(setup_metadata_type_list)
|
||||||
|
register_setup(setup_metadata_set_list)
|
||||||
|
|
||||||
|
|||||||
BIN
apps/metadata/static/images/icons/table.png
Normal file
|
After Width: | Height: | Size: 920 B |
BIN
apps/metadata/static/images/icons/xhtml.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
@@ -4,6 +4,7 @@ from django.core.exceptions import ObjectDoesNotExist
|
|||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from navigation.api import register_links
|
from navigation.api import register_links
|
||||||
|
from project_setup.api import register_setup
|
||||||
|
|
||||||
from permissions.conf.settings import DEFAULT_ROLES
|
from permissions.conf.settings import DEFAULT_ROLES
|
||||||
from permissions.models import Role
|
from permissions.models import Role
|
||||||
@@ -16,7 +17,7 @@ PERMISSION_PERMISSION_GRANT = {'namespace': 'permissions', 'name': 'permission_g
|
|||||||
PERMISSION_PERMISSION_REVOKE = {'namespace': 'permissions', 'name': 'permission_revoke', 'label': _(u'Revoke permissions')}
|
PERMISSION_PERMISSION_REVOKE = {'namespace': 'permissions', 'name': 'permission_revoke', 'label': _(u'Revoke permissions')}
|
||||||
|
|
||||||
|
|
||||||
role_list = {'text': _(u'roles'), 'view': 'role_list', 'famfam': 'medal_gold_1', 'permissions': [PERMISSION_ROLE_VIEW], 'children_view_regex': ['role']}
|
role_list = {'text': _(u'roles'), 'view': 'role_list', 'famfam': 'medal_gold_1', 'icon': 'medal_gold_1.png', 'permissions': [PERMISSION_ROLE_VIEW]}
|
||||||
role_create = {'text': _(u'create new role'), 'view': 'role_create', 'famfam': 'medal_gold_add', 'permissions': [PERMISSION_ROLE_CREATE]}
|
role_create = {'text': _(u'create new role'), 'view': 'role_create', 'famfam': 'medal_gold_add', 'permissions': [PERMISSION_ROLE_CREATE]}
|
||||||
role_edit = {'text': _(u'edit'), 'view': 'role_edit', 'args': 'object.id', 'famfam': 'medal_gold_1', 'permissions': [PERMISSION_ROLE_EDIT]}
|
role_edit = {'text': _(u'edit'), 'view': 'role_edit', 'args': 'object.id', 'famfam': 'medal_gold_1', 'permissions': [PERMISSION_ROLE_EDIT]}
|
||||||
role_members = {'text': _(u'members'), 'view': 'role_members', 'args': 'object.id', 'famfam': 'group_key', 'permissions': [PERMISSION_ROLE_EDIT]}
|
role_members = {'text': _(u'members'), 'view': 'role_members', 'args': 'object.id', 'famfam': 'group_key', 'permissions': [PERMISSION_ROLE_EDIT]}
|
||||||
@@ -24,7 +25,7 @@ role_permissions = {'text': _(u'role permissions'), 'view': 'role_permissions',
|
|||||||
role_delete = {'text': _(u'delete'), 'view': 'role_delete', 'args': 'object.id', 'famfam': 'medal_gold_delete', 'permissions': [PERMISSION_ROLE_DELETE]}
|
role_delete = {'text': _(u'delete'), 'view': 'role_delete', 'args': 'object.id', 'famfam': 'medal_gold_delete', 'permissions': [PERMISSION_ROLE_DELETE]}
|
||||||
|
|
||||||
register_links(Role, [role_edit, role_delete, role_permissions, role_members])
|
register_links(Role, [role_edit, role_delete, role_permissions, role_members])
|
||||||
register_links(['role_members', 'role_list', 'role_view', 'role_create', 'role_edit', 'role_permissions', 'role_delete'], [role_create], menu_name='sidebar')
|
register_links(['role_members', 'role_list', 'role_view', 'role_create', 'role_edit', 'role_permissions', 'role_delete'], [role_list, role_create], menu_name='sidebar')
|
||||||
|
|
||||||
permission_views = ['role_list', 'role_create', 'role_edit', 'role_members', 'role_permissions', 'role_delete']
|
permission_views = ['role_list', 'role_create', 'role_edit', 'role_members', 'role_permissions', 'role_delete']
|
||||||
|
|
||||||
@@ -44,3 +45,5 @@ def user_post_save(sender, instance, **kwargs):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
post_save.connect(user_post_save, sender=User)
|
post_save.connect(user_post_save, sender=User)
|
||||||
|
|
||||||
|
register_setup(role_list)
|
||||||
|
|||||||
BIN
apps/permissions/static/images/icons/medal_gold_1.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
6
apps/project_setup/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from navigation.api import register_top_menu
|
||||||
|
|
||||||
|
#TODO: FIXME dynamic children_path_regext on api register_setup
|
||||||
|
register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setup_list', 'famfam': 'cog'}, children_path_regex=[r'^settings/', r'^user_management/', r'^permissions', r'^documents/type', r'^metadata/setup', r'sources/setup'], position=-2)
|
||||||
5
apps/project_setup/api.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
setup_items = []
|
||||||
|
|
||||||
|
|
||||||
|
def register_setup(link):
|
||||||
|
setup_items.append(link)
|
||||||
3
apps/project_setup/models.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from django.db import models
|
||||||
|
|
||||||
|
# Create your models here.
|
||||||
BIN
apps/project_setup/static/images/icons/cog.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
apps/project_setup/static/images/icons/link_button.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
23
apps/project_setup/tests.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
"""
|
||||||
|
This file demonstrates two different styles of tests (one doctest and one
|
||||||
|
unittest). These will both pass when you run "manage.py test".
|
||||||
|
|
||||||
|
Replace these with more appropriate tests for your application.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
class SimpleTest(TestCase):
|
||||||
|
def test_basic_addition(self):
|
||||||
|
"""
|
||||||
|
Tests that 1 + 1 always equals 2.
|
||||||
|
"""
|
||||||
|
self.failUnlessEqual(1 + 1, 2)
|
||||||
|
|
||||||
|
__test__ = {"doctest": """
|
||||||
|
Another way to test that 1 + 1 is equal to 2.
|
||||||
|
|
||||||
|
>>> 1 + 1 == 2
|
||||||
|
True
|
||||||
|
"""}
|
||||||
|
|
||||||
5
apps/project_setup/urls.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from django.conf.urls.defaults import patterns, url
|
||||||
|
|
||||||
|
urlpatterns = patterns('project_setup.views',
|
||||||
|
url(r'^list/$', 'setup_list', (), 'setup_list'),
|
||||||
|
)
|
||||||
16
apps/project_setup/views.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
from django.shortcuts import render_to_response, get_object_or_404
|
||||||
|
from django.template import RequestContext
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from project_setup.api import setup_items
|
||||||
|
from project_setup.widgets import setup_button_widget
|
||||||
|
|
||||||
|
|
||||||
|
def setup_list(request):
|
||||||
|
context = {
|
||||||
|
'object_list': [setup_button_widget(request, item) for item in setup_items],
|
||||||
|
'title': _(u'setup items'),
|
||||||
|
}
|
||||||
|
|
||||||
|
return render_to_response('generic_list_horizontal.html', context,
|
||||||
|
context_instance=RequestContext(request))
|
||||||
29
apps/project_setup/widgets.py
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
from django.utils.safestring import mark_safe
|
||||||
|
from django.conf import settings
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.core.urlresolvers import reverse
|
||||||
|
from django.template.defaultfilters import capfirst
|
||||||
|
from django.core.exceptions import PermissionDenied
|
||||||
|
|
||||||
|
from permissions.api import check_permissions
|
||||||
|
|
||||||
|
|
||||||
|
def setup_button_widget(request, setup_link):
|
||||||
|
if 'permissions' in setup_link:
|
||||||
|
try:
|
||||||
|
check_permissions(request.user, setup_link['permissions'])
|
||||||
|
return render_widget(setup_link)
|
||||||
|
except PermissionDenied:
|
||||||
|
return u''
|
||||||
|
else:
|
||||||
|
return render_widget(setup_link)
|
||||||
|
|
||||||
|
|
||||||
|
def render_widget(setup_link):
|
||||||
|
return mark_safe(u'<a style="margin-right: 10px;" href="%(url)s"><button style="vertical-align: top; padding: 1px; width: 110px; height: 100px; margin: 10px;"><img src="%(static_url)simages/icons/%(icon)s" alt="%(image_alt)s" /><p style="margin: 0px 0px 0px 0px;">%(string)s</p></button></a>' % {
|
||||||
|
'url': reverse(setup_link['view']) if 'view' in setup_link else setup_link['url'],
|
||||||
|
'icon': setup_link.get('icon', 'link_button.png'),
|
||||||
|
'static_url': settings.STATIC_URL,
|
||||||
|
'string': capfirst(setup_link['text']),
|
||||||
|
'image_alt': _(u'icon'),
|
||||||
|
})
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from project_setup.api import register_setup
|
||||||
|
|
||||||
|
def is_superuser(context):
|
||||||
|
return context['request'].user.is_staff or context['request'].user.is_superuser
|
||||||
|
|
||||||
|
check_settings = {'text': _(u'settings'), 'view': 'setting_list', 'famfam': 'cog', 'icon': 'cog.png', 'condition': is_superuser}
|
||||||
|
|
||||||
|
register_setup(check_settings)
|
||||||
|
|||||||
BIN
apps/smart_settings/static/images/icons/cog.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
@@ -4,6 +4,7 @@ from navigation.api import register_links, \
|
|||||||
register_model_list_columns
|
register_model_list_columns
|
||||||
from permissions.api import register_permission, set_namespace_title
|
from permissions.api import register_permission, set_namespace_title
|
||||||
from common.utils import encapsulate
|
from common.utils import encapsulate
|
||||||
|
from project_setup.api import register_setup
|
||||||
|
|
||||||
from sources.staging import StagingFile
|
from sources.staging import StagingFile
|
||||||
from sources.models import WebForm, StagingFolder, SourceTransformation, \
|
from sources.models import WebForm, StagingFolder, SourceTransformation, \
|
||||||
@@ -24,7 +25,8 @@ register_permission(PERMISSION_SOURCES_SETUP_CREATE)
|
|||||||
staging_file_preview = {'text': _(u'preview'), 'class': 'fancybox-noscaling', 'view': 'staging_file_preview', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'zoom'}
|
staging_file_preview = {'text': _(u'preview'), 'class': 'fancybox-noscaling', 'view': 'staging_file_preview', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'zoom'}
|
||||||
staging_file_delete = {'text': _(u'delete'), 'view': 'staging_file_delete', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'delete', 'keep_query': True}
|
staging_file_delete = {'text': _(u'delete'), 'view': 'staging_file_delete', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'delete', 'keep_query': True}
|
||||||
|
|
||||||
setup_web_form_list = {'text': _(u'web forms'), 'view': 'setup_web_form_list', 'famfam': 'application_form', 'children_classes': [WebForm]}
|
setup_sources = {'text': _(u'sources'), 'view': 'setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm]}
|
||||||
|
setup_web_form_list = {'text': _(u'web forms'), 'view': 'setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm]}
|
||||||
setup_staging_folder_list = {'text': _(u'staging folders'), 'view': 'setup_staging_folder_list', 'famfam': 'folder_camera', 'children_classes': [StagingFolder]}
|
setup_staging_folder_list = {'text': _(u'staging folders'), 'view': 'setup_staging_folder_list', 'famfam': 'folder_camera', 'children_classes': [StagingFolder]}
|
||||||
setup_watch_folder_list = {'text': _(u'watch folders'), 'view': 'setup_watch_folder_list', 'famfam': 'folder_magnify', 'children_classes': [WatchFolder]}
|
setup_watch_folder_list = {'text': _(u'watch folders'), 'view': 'setup_watch_folder_list', 'famfam': 'folder_magnify', 'children_classes': [WatchFolder]}
|
||||||
|
|
||||||
@@ -50,7 +52,7 @@ register_links(['setup_web_form_list', 'setup_staging_folder_list', 'setup_watch
|
|||||||
register_links(WebForm, [setup_web_form_list, setup_staging_folder_list], menu_name='form_header')
|
register_links(WebForm, [setup_web_form_list, setup_staging_folder_list], menu_name='form_header')
|
||||||
register_links(WebForm, [setup_source_transformation_list, setup_source_edit, setup_source_delete])
|
register_links(WebForm, [setup_source_transformation_list, setup_source_edit, setup_source_delete])
|
||||||
|
|
||||||
register_links(['setup_web_form_list', 'setup_staging_folder_list', 'setup_watch_folder_list', 'setup_source_edit', 'setup_source_delete', 'setup_source_create'], [setup_source_create], menu_name='sidebar')
|
register_links(['setup_web_form_list', 'setup_staging_folder_list', 'setup_watch_folder_list', 'setup_source_edit', 'setup_source_delete', 'setup_source_create'], [setup_sources, setup_source_create], menu_name='sidebar')
|
||||||
|
|
||||||
#register_links(StagingFolder, [setup_web_form_list, setup_staging_folder_list, setup_watch_folder_list], menu_name='form_header')
|
#register_links(StagingFolder, [setup_web_form_list, setup_staging_folder_list, setup_watch_folder_list], menu_name='form_header')
|
||||||
register_links(StagingFolder, [setup_web_form_list, setup_staging_folder_list], menu_name='form_header')
|
register_links(StagingFolder, [setup_web_form_list, setup_staging_folder_list], menu_name='form_header')
|
||||||
@@ -68,3 +70,6 @@ register_model_list_columns(StagingFile, [
|
|||||||
encapsulate(lambda x: staging_file_thumbnail(x))
|
encapsulate(lambda x: staging_file_thumbnail(x))
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
register_setup(setup_sources)
|
||||||
|
|||||||
BIN
apps/sources/static/images/icons/application_form.png
Normal file
|
After Width: | Height: | Size: 999 B |
@@ -3,6 +3,7 @@ from django.contrib.auth.models import User, Group
|
|||||||
|
|
||||||
from navigation.api import register_links, register_multi_item_links
|
from navigation.api import register_links, register_multi_item_links
|
||||||
from permissions.api import register_permission, set_namespace_title
|
from permissions.api import register_permission, set_namespace_title
|
||||||
|
from project_setup.api import register_setup
|
||||||
|
|
||||||
PERMISSION_USER_CREATE = {'namespace': 'user_management', 'name': 'user_create', 'label': _(u'Create new users')}
|
PERMISSION_USER_CREATE = {'namespace': 'user_management', 'name': 'user_create', 'label': _(u'Create new users')}
|
||||||
PERMISSION_USER_EDIT = {'namespace': 'user_management', 'name': 'user_edit', 'label': _(u'Edit existing users')}
|
PERMISSION_USER_EDIT = {'namespace': 'user_management', 'name': 'user_edit', 'label': _(u'Edit existing users')}
|
||||||
@@ -24,7 +25,8 @@ register_permission(PERMISSION_GROUP_EDIT)
|
|||||||
register_permission(PERMISSION_GROUP_VIEW)
|
register_permission(PERMISSION_GROUP_VIEW)
|
||||||
register_permission(PERMISSION_GROUP_DELETE)
|
register_permission(PERMISSION_GROUP_DELETE)
|
||||||
|
|
||||||
user_list = {'text': _(u'user list'), 'view': 'user_list', 'famfam': 'user', 'permissions': [PERMISSION_USER_VIEW], 'children_view_regex': ['user']}
|
user_list = {'text': _(u'user list'), 'view': 'user_list', 'famfam': 'user', 'permissions': [PERMISSION_USER_VIEW]}
|
||||||
|
user_setup = {'text': _(u'users'), 'view': 'user_list', 'famfam': 'user', 'icon': 'user.png', 'permissions': [PERMISSION_USER_VIEW]}
|
||||||
user_edit = {'text': _(u'edit'), 'view': 'user_edit', 'args': 'object.id', 'famfam': 'user_edit', 'permissions': [PERMISSION_USER_EDIT]}
|
user_edit = {'text': _(u'edit'), 'view': 'user_edit', 'args': 'object.id', 'famfam': 'user_edit', 'permissions': [PERMISSION_USER_EDIT]}
|
||||||
user_add = {'text': _(u'create new user'), 'view': 'user_add', 'famfam': 'user_add', 'permissions': [PERMISSION_USER_CREATE]}
|
user_add = {'text': _(u'create new user'), 'view': 'user_add', 'famfam': 'user_add', 'permissions': [PERMISSION_USER_CREATE]}
|
||||||
user_delete = {u'text': _('delete'), 'view': 'user_delete', 'args': 'object.id', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
|
user_delete = {u'text': _('delete'), 'view': 'user_delete', 'args': 'object.id', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
|
||||||
@@ -32,7 +34,8 @@ user_multiple_delete = {u'text': _('delete'), 'view': 'user_multiple_delete', 'f
|
|||||||
user_set_password = {u'text': _('reset password'), 'view': 'user_set_password', 'args': 'object.id', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
|
user_set_password = {u'text': _('reset password'), 'view': 'user_set_password', 'args': 'object.id', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
|
||||||
user_multiple_set_password = {u'text': _('reset password'), 'view': 'user_multiple_set_password', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
|
user_multiple_set_password = {u'text': _('reset password'), 'view': 'user_multiple_set_password', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
|
||||||
|
|
||||||
group_list = {'text': _(u'group list'), 'view': 'group_list', 'famfam': 'group', 'permissions': [PERMISSION_GROUP_VIEW], 'children_view_regex': ['group']}
|
group_list = {'text': _(u'group list'), 'view': 'group_list', 'famfam': 'group', 'permissions': [PERMISSION_GROUP_VIEW]}
|
||||||
|
group_setup = {'text': _(u'groups'), 'view': 'group_list', 'famfam': 'group', 'icon': 'group.png', 'permissions': [PERMISSION_GROUP_VIEW]}
|
||||||
group_edit = {'text': _(u'edit'), 'view': 'group_edit', 'args': 'object.id', 'famfam': 'group_edit', 'permissions': [PERMISSION_GROUP_EDIT]}
|
group_edit = {'text': _(u'edit'), 'view': 'group_edit', 'args': 'object.id', 'famfam': 'group_edit', 'permissions': [PERMISSION_GROUP_EDIT]}
|
||||||
group_add = {'text': _(u'create new group'), 'view': 'group_add', 'famfam': 'group_add', 'permissions': [PERMISSION_GROUP_CREATE]}
|
group_add = {'text': _(u'create new group'), 'view': 'group_add', 'famfam': 'group_add', 'permissions': [PERMISSION_GROUP_CREATE]}
|
||||||
group_delete = {u'text': _('delete'), 'view': 'group_delete', 'args': 'object.id', 'famfam': 'group_delete', 'permissions': [PERMISSION_GROUP_DELETE]}
|
group_delete = {u'text': _('delete'), 'view': 'group_delete', 'args': 'object.id', 'famfam': 'group_delete', 'permissions': [PERMISSION_GROUP_DELETE]}
|
||||||
@@ -40,11 +43,11 @@ group_multiple_delete = {u'text': _('delete'), 'view': 'group_multiple_delete',
|
|||||||
group_members = {'text': _(u'members'), 'view': 'group_members', 'args': 'object.id', 'famfam': 'group_link', 'permissions': [PERMISSION_GROUP_EDIT]}
|
group_members = {'text': _(u'members'), 'view': 'group_members', 'args': 'object.id', 'famfam': 'group_link', 'permissions': [PERMISSION_GROUP_EDIT]}
|
||||||
|
|
||||||
register_links(User, [user_edit, user_set_password, user_delete])
|
register_links(User, [user_edit, user_set_password, user_delete])
|
||||||
register_links(['user_multiple_set_password', 'user_set_password', 'user_multiple_delete', 'user_delete', 'user_edit', 'user_list', 'user_add'], [user_add], menu_name=u'sidebar')
|
register_links(['user_multiple_set_password', 'user_set_password', 'user_multiple_delete', 'user_delete', 'user_edit', 'user_list', 'user_add'], [user_list, user_add], menu_name=u'sidebar')
|
||||||
register_multi_item_links(['user_list'], [user_multiple_set_password, user_multiple_delete])
|
register_multi_item_links(['user_list'], [user_multiple_set_password, user_multiple_delete])
|
||||||
|
|
||||||
register_links(Group, [group_edit, group_members, group_delete])
|
register_links(Group, [group_edit, group_members, group_delete])
|
||||||
register_links(['group_multiple_delete', 'group_delete', 'group_edit', 'group_list', 'group_add', 'group_members'], [group_add], menu_name=u'sidebar')
|
register_links(['group_multiple_delete', 'group_delete', 'group_edit', 'group_list', 'group_add', 'group_members'], [group_list, group_add], menu_name=u'sidebar')
|
||||||
register_multi_item_links(['group_list'], [group_multiple_delete])
|
register_multi_item_links(['group_list'], [group_multiple_delete])
|
||||||
|
|
||||||
user_management_views = [
|
user_management_views = [
|
||||||
@@ -53,3 +56,6 @@ user_management_views = [
|
|||||||
'user_multiple_set_password', 'group_list', 'group_edit', 'group_add',
|
'user_multiple_set_password', 'group_list', 'group_edit', 'group_add',
|
||||||
'group_delete', 'group_multiple_delete', 'group_members'
|
'group_delete', 'group_multiple_delete', 'group_members'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
register_setup(user_setup)
|
||||||
|
register_setup(group_setup)
|
||||||
|
|||||||
BIN
apps/user_management/static/images/icons/group.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
apps/user_management/static/images/icons/user.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
@@ -125,6 +125,7 @@ INSTALLED_APPS = (
|
|||||||
'django.contrib.admindocs',
|
'django.contrib.admindocs',
|
||||||
'django.contrib.comments',
|
'django.contrib.comments',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
|
'project_setup',
|
||||||
'smart_settings',
|
'smart_settings',
|
||||||
'navigation',
|
'navigation',
|
||||||
'web_theme',
|
'web_theme',
|
||||||
|
|||||||
1
urls.py
@@ -26,6 +26,7 @@ urlpatterns = patterns('',
|
|||||||
(r'^history/', include('history.urls')),
|
(r'^history/', include('history.urls')),
|
||||||
(r'^converter/', include('converter.urls')),
|
(r'^converter/', include('converter.urls')),
|
||||||
(r'^sources/', include('sources.urls')),
|
(r'^sources/', include('sources.urls')),
|
||||||
|
(r'^project_setup/', include('project_setup.urls')),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||