Event resturcturing

- new short_description field instead of title
- autosave text

- autocompletion on login
This commit is contained in:
Martin Bauer
2013-09-28 18:57:19 +02:00
parent 6c3a7ca408
commit d71c35bcd7
32 changed files with 639 additions and 118 deletions

View File

@@ -0,0 +1,96 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-28 16:57+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:17
msgid "musicians"
msgstr "Musiker"
#: admin.py:18
msgid "musician"
msgstr "Musiker"
#: models.py:8
msgid "Trumpet"
msgstr "Trompete"
#: models.py:9
msgid "Trombone"
msgstr "Posaune"
#: models.py:10
msgid "Horn"
msgstr "Horn"
#: models.py:11
msgid "Tuba"
msgstr "Tuba"
#: models.py:26
msgid "user"
msgstr "Benutzer"
#: models.py:28
msgid "image"
msgstr "Bild"
#: models.py:29
msgid "circular thumbnail"
msgstr "Vorschau (rund)"
#: models.py:32
msgid "instrument"
msgstr "Instrument"
#: models.py:34
msgid "birthday"
msgstr "Geburtstag"
#: models.py:36
msgid "street"
msgstr "Straße"
#: models.py:37
msgid "city"
msgstr "Wohnort"
#: models.py:38
msgid "zip_code"
msgstr "PLZ"
#: models.py:40
msgid "phone_home"
msgstr "Telefon Daheim"
#: models.py:41
msgid "phone_mobile"
msgstr "Telefon Mobil"
#: models.py:42
msgid "phone_work"
msgstr "Telefon Arbeit"
#: models.py:44
msgid "Position"
msgstr ""
#: models.py:54
msgid "public_description"
msgstr "Beschreibung (öffentlich)"

View File

@@ -0,0 +1,92 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'Musician'
db.create_table(u'musicians_musician', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)),
('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100)),
('small_image', self.gf('django.db.models.fields.files.ImageField')(max_length=100)),
('instrument', self.gf('django.db.models.fields.CharField')(max_length=4, blank=True)),
('birthday', self.gf('django.db.models.fields.DateField')(null=True)),
('street', self.gf('django.db.models.fields.CharField')(max_length=80, blank=True)),
('city', self.gf('django.db.models.fields.CharField')(max_length=40, blank=True)),
('zip_code', self.gf('django.db.models.fields.IntegerField')(null=True)),
('phone_home', self.gf('django.db.models.fields.CharField')(max_length=18, blank=True)),
('phone_mobile', self.gf('django.db.models.fields.CharField')(max_length=18, blank=True)),
('phone_work', self.gf('django.db.models.fields.CharField')(max_length=18, blank=True)),
('position', self.gf('django.db.models.fields.IntegerField')(null=True)),
('public_description', self.gf('django.db.models.fields.TextField')(blank=True)),
))
db.send_create_signal(u'musicians', ['Musician'])
def backwards(self, orm):
# Deleting model 'Musician'
db.delete_table(u'musicians_musician')
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'auth.user': {
'Meta': {'object_name': 'User'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'musicians.musician': {
'Meta': {'object_name': 'Musician'},
'birthday': ('django.db.models.fields.DateField', [], {'null': 'True'}),
'city': ('django.db.models.fields.CharField', [], {'max_length': '40', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
'instrument': ('django.db.models.fields.CharField', [], {'max_length': '4', 'blank': 'True'}),
'phone_home': ('django.db.models.fields.CharField', [], {'max_length': '18', 'blank': 'True'}),
'phone_mobile': ('django.db.models.fields.CharField', [], {'max_length': '18', 'blank': 'True'}),
'phone_work': ('django.db.models.fields.CharField', [], {'max_length': '18', 'blank': 'True'}),
'position': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'public_description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'small_image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
'street': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['auth.User']", 'unique': 'True'}),
'zip_code': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
}
}
complete_apps = ['musicians']

View File

View File

@@ -28,7 +28,6 @@ class Musician( models.Model ):
image = models.ImageField( upload_to = musicianPictureName, verbose_name=_("image") )
small_image = models.ImageField( upload_to = musicianSmallPictureName, verbose_name = _("circular thumbnail") )
# Properties
instrument = models.CharField( max_length=4, choices=INSTRUMENTS, blank=True, verbose_name=_("instrument") )
@@ -42,6 +41,8 @@ class Musician( models.Model ):
phone_mobile = models.CharField( max_length=18, blank=True, verbose_name=_("phone_mobile") )
phone_work = models.CharField( max_length=18, blank=True, verbose_name=_("phone_work") )
position = models.IntegerField( null=True, verbose_name=_("Position") )
@property
def isDeepBrass(self):
return self.instrument == 'TRB' or self.instrument == "EUPH" or self.instrument == "TUBA" or self.instrument == "HRN"