"django.core.context_processors.i18n",
"django.core.context_processors.media",
'django.core.context_processors.static',
+ 'telemeta.context_processors.menu',
'django.contrib.messages.context_processors.messages',
)
--- /dev/null
+from django.conf import settings
+from telemeta.views.enum import *
+
+def menu(request):
+ return {'menu': EnumView().enu}
\ No newline at end of file
# Changing field 'MediaItem.comment'
db.alter_column('media_items', 'comment', self.gf('telemeta.models.fields.TextField')())
- # Changing field 'MediaItem.code'
- db.alter_column('media_items', 'code', self.gf('telemeta.models.fields.CharField')(unique=True, max_length=250))
+
# Changing field 'MediaItem.location_comment'
db.alter_column('media_items', 'location_comment', self.gf('telemeta.models.fields.CharField')(max_length=250))
hidden = False
value = CharField(_('value'), required=True, unique=True)
notes = TextField(_('notes'))
+ admin = False
+
+ def _set_admin(self):
+ self.admin = not self.admin
+ print self.admin
def __unicode__(self):
return self.value
db_table = 'physical_formats'
verbose_name = _("archive format")
+
class PublishingStatus(Enumeration):
"Collection publishing status"
db_table = 'publishing_status'
verbose_name = _("secondary edition")
+
class AcquisitionMode(Enumeration):
"Mode of acquisition of the collection"
db_table = 'acquisition_modes'
verbose_name = _("mode of acquisition")
+
class MetadataAuthor(Enumeration):
"Collection metadata author"
db_table = 'metadata_authors'
verbose_name = _("record author")
+
class MetadataWriter(Enumeration):
"Collection metadata writer"
db_table = 'metadata_writers'
verbose_name = _("record writer")
+
class LegalRight(Enumeration):
"Collection legal rights"
db_table = 'legal_rights'
verbose_name = _("legal rights")
+
class RecordingContext(Enumeration):
"Collection recording context"
{% load i18n %}
{% block title %}
-<h1><img src="{{ STATIC_URL }}telemeta/images/admin_red.png" style="vertical-align:middle" /> {% trans "Administration" %} > {% trans "Enumerations" %}</h1>
+ <h1><img src="{{ STATIC_URL }}telemeta/images/admin_red.png" style="vertical-align:middle" /> {% trans "Administration" %} > {% trans "Enumerations" %}</h1>
{% endblock %}
{% block tabcontents %}
-{% if enumerations %}
- <table class="listing">
- <thead>
- <tr><th>{% trans "Title"%}</th></tr>
- </thead><tbody>
- {% for enum in enumerations %}
- <tr><td>
- <a href="{% url "telemeta-enumeration-edit" enum.id %}">{% trans enum.name|capfirst %}</a>
- </td></tr>
- {% endfor %}
- </tbody>
- </table>
- {% else %}
- <p class="help">{% trans "No enumerations" %}</p>
- {% endif %}
+ {% if enumerations %}
+ <form id="_updateenum" method="POST" action="{% url "telemeta-admin-enumerations-update" %}">{% csrf_token %}
+ <table class="listing">
+ <thead>
+ <tr><th class="sel"> </th>
+
+ <th>{% trans "Title"%}</th>
+ </thead><tbody>
+ {% for enum in enumerations %}
+ <tr>
+ {% if perms.telemeta.change_keyword %}
+ <td><input type="checkbox" name="sel" value="{{enum.id}}"{% if enum.admin %} checked {% endif %} /></td>
+ {% else %}
+ <td></td>
+ {% endif %}
+ <td>
+ <a href="{% url "telemeta-enumeration-edit" enum.id %}">{% trans enum.name|capfirst %}</a>
+ </td>
+ <td></td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ <div class="buttons">
+ <br />
+ {% if perms.telemeta.change_keyword %}
+ <a href="#" class="component_icon button icon_cancel"
+ onclick="document.getElementById('_updateenum').submit(); return false;">{% trans "Hide selected items" %}</a>
+ {% endif %}
+ </div>
+ </form>
+ {% else %}
+ <p class="help">{% trans "No enumerations" %}</p>
+ {% endif %}
{% endblock %}
<li><a href="{% url "haystack_advance_search" %}"
class="orange">{% trans "Advanced search" %}</a></li>
- <li><a href="#vocabulary#" class="darkblue">{% trans "Vocabulary" %}</a>
- {% if user.is_staff %}
+ <li><a href="#vocabulary#" class="darkblue">{% trans "Vocabulary" %}</a>
+ {% if user.is_staff %}
<ul>
<li>
<li><a href="{% url "telemeta-instrument-edit" %}">{% trans "Instruments" %}</a>
</li>
<li>
- <a href="{% url "telemeta-instrument-alias-edit" %}">{% trans "Instrument aliases" %}</a>
+ <a href="{% url "telemeta-instrument-alias-edit" %}">{% trans "Instrument (vernaculare)" %}</a>
</li>
</ul>
- </li>
+ </li>
- {% else %}
+ {% else %}
<ul>
<li>
<a href="{% url "telemeta-enumerations" %}">{% trans "Enumerations" %}</a>
</li>
<li><a href="{% url "telemeta-instruments" %}">{% trans "Instruments" %}</a>
- </li>
<li>
- <a href="{% url "telemeta-instrument-alias" %}">{% trans "Instrument aliases" %}</a>
+ <a href="{% url "telemeta-instrument-alias-edit" %}">{% trans "Instruments (vernaculare)" %}</a>
+ </li>
</li>
+ {% for enu in menu %}
+ <li>
+ <a href="{% url "telemeta-enumeration" enu.id %}">
+
+ {{ enu.name |capfirst }}
+
+
+ </a>
+ </li>
+ {% endfor %}
</ul>
- </li>
- {% endif %}
+ </li>
+ {% endif %}
{% if user.is_authenticated %}
{% if user.is_staff or not perms.telemeta.can_not_view_users_and_profiles %}
{% block head_title %}{% trans "Enumeration" %} : {{ enumeration_name|capfirst }} - {{ block.super }}{% endblock %}
{% block title %}
- <h1><img src="{{ STATIC_URL }}telemeta/images/collections_red.png" style="vertical-align:middle" /> <a href="{% url "telemeta-enumerations" %}">{% trans "Enumerations" %}</a></h1>
+ <h1><img src="{{ STATIC_URL }}telemeta/images/collections_red.png" style="vertical-align:middle" />{{ enumeration_name|capfirst }}</h1>
{% endblock %}
{% block tabcontents %}
+
{% if enumeration_values %}
<table class="listing">
<thead>
url(r'^admin/$', admin_view.admin_index, name="telemeta-admin"),
url(r'^admin/general/$', admin_view.admin_general, name="telemeta-admin-general"),
url(r'^admin/enumerations/$', admin_view.admin_enumerations, name="telemeta-admin-enumerations"),
+ url(r'^admin/enumerations/update/$', admin_view.set_admin_enumeration, name="telemeta-admin-enumerations-update"),
url(r'^admin/users/$', admin_view.admin_users, name="telemeta-admin-users"),
# instruments
enumerations = []
for model in models:
if issubclass(model, Enumeration):
- if not model.hidden:
+ if not model.hidden :
enumerations.append({"name": model._meta.verbose_name,
- "id": model._meta.module_name})
+ "id": model._meta.module_name,
+ "admin": model.admin})
cmp = lambda obj1, obj2: unaccent_icmp(obj1['name'], obj2['name'])
enumerations.sort(cmp)
@method_decorator(permission_required('telemeta.change_keyword'))
def edit_enumeration(self, request, enumeration_id):
atr = "";
- print enumeration_id
enumeration = self.__get_enumeration(enumeration_id)
if enumeration == None:
raise Http404
return self.edit_enumeration(request, enumeration_id)
+ @method_decorator(permission_required('telemeta.change_keyword'))
+ def set_admin_enumeration(self, request):
+
+ if request.method == 'POST':
+ print request.POST.getlist('sel')
+ from django.db.models import get_models
+ models = get_models(telemeta.models)
+
+ for model in models:
+ if issubclass(model, Enumeration):
+ if model._meta.module_name in request.POST.getlist('sel'):
+ print model._meta.module_name
+ model.admin = True
+ else :
+ print model._meta.module_name
+ model.admin = False
+
+
+ return self.admin_enumerations(request)
+
@method_decorator(permission_required('telemeta.change_keyword'))
def edit_enumeration_value(self, request, enumeration_id, value_id):
vars["enumeration_record"] = record
vars["enumeration_records"] = enumeration.objects.all()
vars['room'] = get_room(content_type=content_type,
- id=record.id,
- name=record.value)
+ id=record.id,
+ name=record.value)
return render(request, 'telemeta/enumeration_edit_value.html', vars)
@method_decorator(permission_required('telemeta.change_keyword'))
import telemeta.models
class EnumView(object):
+ enu = []
+
+ def __init__(self):
+ self.enu = self.__get_enumerations_list()
def __get_admin_context_vars(self):
return {"enumerations": self.__get_enumerations_list()}
atr = "";
print enumeration_id
enumeration = self.__get_enumeration(enumeration_id)
- if enumeration == None:
+ if enumeration == None or enumeration.admin:
raise Http404
vars = self.__get_admin_context_vars()
vars["enumeration_id"] = enumeration._meta.module_name
return render(request, 'telemeta/enumeration.html', vars)
+ @property
+ def get_enumerations_list(self):
+ test = {
+ "ceci",
+ "est",
+ "un",
+ "test"}
+ return test
+
def __get_enumerations_list(self):
from django.db.models import get_models
models = get_models(telemeta.models)
enumerations = []
for model in models:
if issubclass(model, Enumeration):
- if not model.hidden:
+
+ if not model.hidden and not model.admin:
enumerations.append({"name": model._meta.verbose_name,
- "id": model._meta.module_name})
+ "id": model._meta.module_name
+ })
+ else:
+ print model._meta.module_name + "____"
+ print model.admin
cmp = lambda obj1, obj2: unaccent_icmp(obj1['name'], obj2['name'])
enumerations.sort(cmp)
+ print enumerations
+ self.enu = enumerations
return enumerations
def __get_enumeration(self, id):
lookup = "%s__exact" % atr
c.append(MediaItemKeyword.objects.filter(**{lookup: enum.__getattribute__("id")}).count())
c.reverse()
- return c
\ No newline at end of file
+ return c
from telemeta.views.core import *
from saved_searches.models import SavedSearch
-
+from telemeta.views.enum import *
class HomeView(object):
"""Provide general web UI methods"""