Changeset 01772af


Ignore:
Timestamp:
05/02/12 16:31:24 (2 years ago)
Author:
yomguy <yomguy@…>
Branches:
security
Children:
7566b3e
Parents:
b030e30 (diff), 03ca023 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
yomguy <yomguy@…> (05/02/12 16:31:24)
git-committer:
yomguy <yomguy@…> (05/02/12 16:31:24)
Message:

Merge branch 'master' into security

Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • README.rst

    r0d62fe4 r04ec884  
    191191  * MMSH : Maison Méditerranéenne des Sciences de l'Homme 
    192192    http://www.mmsh.univ-aix.fr/ 
     193 
  • telemeta/models/media.py

    r2444cce r03ca023  
    349349    creator_reference     = CharField(_('reference')) 
    350350    original_format       = ForeignKey(Format, related_name="item", 
    351                                        verbose_name=_('orinal format'), blank=True, 
     351                                       verbose_name=_('original format'), blank=True, 
    352352                                        null=True, on_delete=models.SET_NULL) 
    353353    external_references   = TextField(_('published references')) 
     
    412412            title += ' ' + self.track 
    413413        return title 
     414 
     415    @property 
     416    def instruments(self): 
     417        "Return the instruments of the item" 
     418        instruments = [] 
     419        performances = MediaItemPerformance.objects.filter(media_item=self) 
     420        for performance in performances: 
     421            instrument = performance.instrument 
     422            alias = performance.alias 
     423            if not instrument in instruments: 
     424                instruments.append(instrument) 
     425            if not alias in instruments: 
     426                instruments.append(alias) 
     427 
     428        instruments.sort(self.__name_cmp) 
     429        return instruments 
     430 
     431        instruments.verbose_name = _("instruments") 
    414432 
    415433 
  • telemeta/models/query.py

    r2f57f0e rc9f9871  
    201201        return self.filter(file__contains='/') 
    202202 
     203    def by_instrument(self, instrument): 
     204        "Find items by instrument" 
     205        return self.filter(instruments__in=instrument) 
     206 
    203207 
    204208class MediaItemManager(CoreManager): 
     
    244248        return self.get_query_set().sound(*args, **kwargs) 
    245249    sound.__doc__ = MediaItemQuerySet.sound.__doc__ 
     250 
     251    def by_instrument(self, *args, **kwargs): 
     252        return self.get_query_set().by_instrument(*args, **kwargs) 
     253    by_instrument.__doc__ = MediaItemQuerySet.by_instrument.__doc__ 
    246254 
    247255 
     
    332340        return self.filter(items__file__contains='/').distinct() 
    333341 
     342    def by_instrument(self, instrument): 
     343        "Find collections by instrument" 
     344        return self.filter(items__instruments__in=instrument).distinct() 
     345 
    334346 
    335347class MediaCollectionManager(CoreManager): 
     
    375387        return self.get_query_set().sound(*args, **kwargs) 
    376388    sound.__doc__ = MediaCollectionQuerySet.sound.__doc__ 
     389 
     390    def by_instrument(self, *args, **kwargs): 
     391        return self.get_query_set().by_instrument(*args, **kwargs) 
     392    by_instrument.__doc__ = MediaCollectionQuerySet.by_instrument.__doc__ 
    377393 
    378394 
     
    478494        return self.get_query_set().quick_search(*args, **kwargs) 
    479495    quick_search.__doc__ = MediaFondsQuerySet.quick_search.__doc__ 
     496 
     497 
     498class InstrumentQuerySet(CoreQuerySet): 
     499    "Base class for all media instrument query sets" 
     500 
     501    def quick_search(self, pattern): 
     502        "Perform a quick search on text and char fields" 
     503        from telemeta.models.instrument import Instrument 
     504        mod = Instrument() 
     505        pattern = pattern.strip() 
     506        q = Q(code__contains=pattern) 
     507        fields = mod.to_dict() 
     508        keys =  fields.keys() 
     509        for field in keys: 
     510            field_str = str(mod._meta.get_field(field)) 
     511            if 'CharField' in field_str or 'TextField' in field_str: 
     512                q = q | word_search_q(field, pattern) 
     513        return self.filter(q) 
     514 
     515 
     516class InstrumentManager(CoreManager): 
     517    "Manage instrument queries" 
     518 
     519    def get_query_set(self): 
     520        "Return instrument query sets" 
     521        return InstrumentQuerySet(self.model) 
     522 
     523    def quick_search(self, *args, **kwargs): 
     524        return self.get_query_set().quick_search(*args, **kwargs) 
     525    quick_search.__doc__ = InstrumentQuerySet.quick_search.__doc__ 
  • telemeta/templates/telemeta/search_criteria.html

    r566f17d rc9f9871  
    6363    <label for="location">{% field_label "Location" %}</label> 
    6464    <input type="text" name="location" id="location" value="{{ criteria.location }}" /> 
     65    </p> 
     66 
     67    <p> 
     68    <label for="instrument">{% field_label "Instrument" %}</label> 
     69    <input type="text" name="instrument" id="instrument" /> 
    6570    </p> 
    6671 
  • telemeta/templates/telemeta/search_results.html

    r7baa3c8 rc9f9871  
    2828  {% if criteria.location %} 
    2929    <li><b>{% field_label "Location" %}:</b> {{criteria.location}}</li> 
     30  {% endif %} 
     31  {% if criteria.instrument %} 
     32  <li><b>{% field_label "Instrument" %}:</b> {{criteria.instrument}}</li> 
    3033  {% endif %} 
    3134  {% if criteria.ethnic_group %} 
  • telemeta/views/base.py

    r2444cce r03ca023  
    344344                collections.sound(), 
    345345                items.sound()), 
     346            'instrument': lambda value: ( 
     347                collections.by_instrument(value), 
     348                items.by_instrument(value)), 
    346349        } 
    347350 
     
    657660            last_revision = None 
    658661 
    659         physical_format = item.format.physical_format 
     662        physical_format = item.original_format.original_format 
    660663 
    661664        return render(request, template, 
     
    14771480    subjects = settings.TELEMETA_SUBJECTS 
    14781481    tags = ['title', 'description', 'comment'] 
    1479     title = organization + ' - Telemeta - ' + ugettext('Last changes') 
     1482    title = organization.decode('utf8') + ' - Telemeta - ' + ugettext('Last changes') 
    14801483    link = "" 
    14811484    description = ' '.join([subject.decode('utf-8') for subject in subjects]) 
  • telemeta/admin.py

    rbfa68c2 rf83d820  
    66from telemeta.models.system import * 
    77from django.contrib import admin 
     8<<<<<<< HEAD 
     9from django.forms import CheckboxSelectMultiple 
     10======= 
     11>>>>>>> master 
    812from django.contrib.auth.models import User 
    913from django.contrib.auth.admin import UserAdmin 
  • telemeta/models/system.py

    rfad4d14 r0f7c20f  
    4242import django.db.models as models 
    4343from django.forms import ModelForm 
     44from django.contrib.sessions.models import Session 
    4445 
    4546 
     
    9091    telephone       = CharField(_('Telephone')) 
    9192    expiration_date = DateField(_('Expiration_date')) 
     93    last_session_key = CharField(blank=True, null=True, max_length=40) 
    9294 
    9395    class Meta(MetaCore): 
  • telemeta/templates/telemeta/inc/collection_related.html

    r28fa06b r5a09eb7  
    7878                                 {% endif %} 
    7979                                {% endif %} 
    80                                 {% endif %} 
     80                              {% endif %} 
    8181                            </td> 
    8282                        </tr> 
Note: See TracChangeset for help on using the changeset viewer.