Changeset 20ef7d8
- Timestamp:
- 05/02/12 15:34:04 (13 months ago)
- Branches:
- master, crem, crem2, dev, dev2, diadems, generic, instru_search, lam, nlivemulti, release/1.4.4, security, social, storage, test
- Children:
- 57305a5, 960da6e
- Parents:
- 04ec884 (diff), c8cdfbe (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 15:34:04)
- git-committer:
- yomguy <yomguy@…> (05/02/12 15:34:04)
- Files:
-
- 7 added
- 8 edited
-
example/init/format/original_format.txt (added)
-
telemeta/management/commands/telemeta-init-formats.py (added)
-
telemeta/migrations/0010_auto__add_wheeldiameter__add_originalformat__del_field_format_tape_num.py (added)
-
telemeta/migrations/0011_auto__del_field_format_item.py (added)
-
telemeta/migrations/0012_auto__add_field_mediaitem_original_format.py (added)
-
telemeta/migrations/0013_auto__chg_field_format_conservation_state.py (added)
-
telemeta/models/__init__.py (modified) (1 diff)
-
telemeta/models/enum.py (modified) (2 diffs)
-
telemeta/models/format.py (added)
-
telemeta/models/media.py (modified) (3 diffs)
-
telemeta/views/base.py (modified) (3 diffs)
-
README.rst (modified) (1 diff)
-
telemeta/models/query.py (modified) (5 diffs)
-
telemeta/templates/telemeta/search_criteria.html (modified) (1 diff)
-
telemeta/templates/telemeta/search_results.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
telemeta/models/__init__.py
r44cc478 r2444cce 43 43 from dublincore import * 44 44 from language import * 45 from format import * 45 46 -
telemeta/models/enum.py
r7ed402e rc8cdfbe 163 163 ordering = ['ethnic_group__value'] 164 164 165 165 166 # Tape formats 167 class WheelDiameter(Enumeration): 168 "Tape wheel diameter (cm)" 169 170 class Meta(MetaEnumeration): 171 db_table = 'tape_wheel_diameter' 172 verbose_name = _("tape wheel diameter (cm)") 173 166 174 class TapeLength(Enumeration): 167 175 "Tape length (cm)" … … 192 200 verbose_name = _("tape vendor") 193 201 202 class OriginalFormat(Enumeration): 203 "Item original format" 204 205 class Meta(MetaEnumeration): 206 db_table = 'original_format' 207 verbose_name = _("original format") 208 -
telemeta/models/media.py
r742435d r20ef7d8 50 50 from telemeta.models.enum import * 51 51 from telemeta.models.language import * 52 from telemeta.models.format import * 52 53 from django.db import models 53 54 … … 347 348 track = CharField(_('item number')) 348 349 creator_reference = CharField(_('reference')) 350 original_format = ForeignKey(Format, related_name="item", 351 verbose_name=_('orinal format'), blank=True, 352 null=True, on_delete=models.SET_NULL) 349 353 external_references = TextField(_('published references')) 350 354 copied_from_item = WeakForeignKey('self', related_name="copies", verbose_name=_('copy of')) … … 694 698 verbose_name_plural = _('fonds related media') 695 699 696 697 class Format(ModelCore):698 """ Physical format object as proposed by the LAM"""699 700 item = ForeignKey(MediaItem, related_name="formats", verbose_name=_('item'))701 original_code = CharField(_('original code'), required=True)702 tape_number = CharField(_('tape number'))703 status = CharField(_('status'))704 conservation_state = CharField(_('conservation state'))705 comments = TextField(_('comments'))706 707 tape_length = WeakForeignKey(TapeLength, related_name="formats", verbose_name = _("tape length (cm)"))708 tape_width = WeakForeignKey(TapeWidth, related_name="formats", verbose_name = _("tape width (inch)"))709 tape_speed = WeakForeignKey(TapeSpeed, related_name="formats", verbose_name = _("tape speed (m/s)"))710 tape_vendor = WeakForeignKey(TapeVendor, related_name="formats")711 tape_thickness = CharField(_('tape thickness (um)'))712 tape_diameter = CharField(_('tape diameter (mm)'))713 tape_reference = CharField(_('tape reference'))714 715 class Meta(MetaCore):716 db_table = 'media_formats'717 verbose_name = _('format')718 719 def __unicode__(self):720 return self.original_code721 722 @property723 def public_id(self):724 return self.original_code725 -
telemeta/views/base.py
r742435d r20ef7d8 257 257 year_min, year_max = MediaCollection.objects.all().publishing_year_range() 258 258 pub_years = year_min and year_max and range(year_min, year_max + 1) or [] 259 searches = Search.objects.filter(username=request.user) 259 if request.user.is_authenticated(): 260 searches = Search.objects.filter(username=request.user) 261 else: 262 searches = [] 260 263 return render(request, 'telemeta/search_criteria.html', { 261 264 'rec_years': rec_years, … … 430 433 @method_decorator(login_required) 431 434 def users(self, request): 432 users = User.objects.all() 435 users = User.objects.all().order_by('last_name') 433 436 return render(request, 'telemeta/users.html', {'users': users}) 434 437 … … 657 660 last_revision = None 658 661 659 physical_format = Format.objects.filter(item=item) 660 if physical_format: 661 physical_format = physical_format[0] 662 physical_format = item.format.physical_format 662 663 663 664 return render(request, template, -
README.rst
r0d62fe4 r04ec884 191 191 * MMSH : Maison Méditerranéenne des Sciences de l'Homme 192 192 http://www.mmsh.univ-aix.fr/ 193 -
telemeta/models/query.py
r2f57f0e rc9f9871 201 201 return self.filter(file__contains='/') 202 202 203 def by_instrument(self, instrument): 204 "Find items by instrument" 205 return self.filter(instruments__in=instrument) 206 203 207 204 208 class MediaItemManager(CoreManager): … … 244 248 return self.get_query_set().sound(*args, **kwargs) 245 249 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__ 246 254 247 255 … … 332 340 return self.filter(items__file__contains='/').distinct() 333 341 342 def by_instrument(self, instrument): 343 "Find collections by instrument" 344 return self.filter(items__instruments__in=instrument).distinct() 345 334 346 335 347 class MediaCollectionManager(CoreManager): … … 375 387 return self.get_query_set().sound(*args, **kwargs) 376 388 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__ 377 393 378 394 … … 478 494 return self.get_query_set().quick_search(*args, **kwargs) 479 495 quick_search.__doc__ = MediaFondsQuerySet.quick_search.__doc__ 496 497 498 class 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 516 class 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 63 63 <label for="location">{% field_label "Location" %}</label> 64 64 <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" /> 65 70 </p> 66 71 -
telemeta/templates/telemeta/search_results.html
r7baa3c8 rc9f9871 28 28 {% if criteria.location %} 29 29 <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> 30 33 {% endif %} 31 34 {% if criteria.ethnic_group %}
Note: See TracChangeset
for help on using the changeset viewer.
