Merge lp:~ris/loco-team-portal/fix-552762 into lp:loco-team-portal

Proposed by Robert Sajdok
Status: Needs review
Proposed branch: lp:~ris/loco-team-portal/fix-552762
Merge into: lp:loco-team-portal
Diff against target: 1729 lines (+1420/-11) (has conflicts)
14 files modified
Makefile (+1/-1)
loco_directory/events/forms.py (+101/-5)
loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py (+184/-0)
loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py (+185/-0)
loco_directory/events/migrations/0012_auto__add_teameventvenue.py (+196/-0)
loco_directory/events/migrations/0013_historical_venue.py (+195/-0)
loco_directory/events/migrations/0014_auto__del_field_teamevent_venue.py (+190/-0)
loco_directory/events/models.py (+10/-2)
loco_directory/events/views.py (+114/-3)
loco_directory/media/css/venues.css (+10/-0)
loco_directory/media/js/jquery.formset.js (+170/-0)
loco_directory/media/js/venues.js (+3/-0)
loco_directory/templates/events/team_event_new.html (+26/-0)
loco_directory/templates/events/team_event_update.html (+35/-0)
Text conflict in loco_directory/events/forms.py
Conflict adding file loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py.  Moved existing file to loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py.moved.
Conflict adding file loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py.  Moved existing file to loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py.moved.
Text conflict in loco_directory/events/views.py
Text conflict in loco_directory/templates/events/team_event_new.html
Text conflict in loco_directory/templates/events/team_event_update.html
To merge this branch: bzr merge lp:~ris/loco-team-portal/fix-552762
Reviewer Review Type Date Requested Status
Adnane Belmadiaf Needs Fixing
Chris Johnston Needs Fixing
Review via email: mp+142553@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Chris Johnston (cjohnston) wrote :

Please clean up the merge conflicts.

review: Needs Fixing
Revision history for this message
Robert Sajdok (ris) wrote :

> Please clean up the merge conflicts.
How can I do this on my local working directory?

Revision history for this message
Robert Sajdok (ris) wrote :

I've done this way:
$ bzr merge https://code.launchpad.net/~ltp-devs/loco-team-portal/0.2
I am working with conflicts.

lp:~ris/loco-team-portal/fix-552762 updated
555. By Robert Sajdok

Resolve conflicts

Revision history for this message
Robert Sajdok (ris) wrote :

> Please clean up the merge conflicts.
done, please review

Revision history for this message
Adnane Belmadiaf (daker) wrote :

> done, please review
Thanks Ris for your work, i'll take a look at your MP this week.

Revision history for this message
Robert Sajdok (ris) wrote :

Any progress?

Revision history for this message
Adnane Belmadiaf (daker) wrote :

Hi Robert, this MP still need more work, we need to add some lines of codes to keep the relation between the venues and the events, i mean this line :

226 + # Deleting field 'TeamEvent.venue'
227 + db.delete_column('events_teamevent', 'venue_id')

we need to store in memory all venues/events relatiosn before then create them once the new table TeamEventVenue is created.

review: Needs Fixing
lp:~ris/loco-team-portal/fix-552762 updated
556. By Robert Sajdok

South Changes for team event venue.

Revision history for this message
Robert Sajdok (ris) wrote :

> Hi Robert, this MP still need more work, we need to add some lines of codes to
> keep the relation between the venues and the events, i mean this line :
>
> 226 + # Deleting field 'TeamEvent.venue'
> 227 + db.delete_column('events_teamevent', 'venue_id')
>
> we need to store in memory all venues/events relatiosn before then create them
> once the new table TeamEventVenue is created.

I added it, please check it.

Unmerged revisions

556. By Robert Sajdok

South Changes for team event venue.

555. By Robert Sajdok

Resolve conflicts

554. By Robert Sajdok

LP: #552762: "LD needs to be able to allow for adding multiple locations for one event"
Add image files and migration.

553. By Robert Sajdok

LP: #552762: "LD needs to be able to allow for adding multiple locations for one event"

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Makefile'
--- Makefile 2013-02-02 00:03:21 +0000
+++ Makefile 2013-06-29 22:11:25 +0000
@@ -37,7 +37,7 @@
37 $(django_manage) import-live-data37 $(django_manage) import-live-data
3838
39run: env apps db39run: env apps db
40 $(django_manage) runserver40 $(django_manage) runserver
4141
42test: env apps42test: env apps
43 $(django_manage) test teams events venues meetings userprofiles43 $(django_manage) test teams events venues meetings userprofiles
4444
=== modified file 'loco_directory/events/forms.py'
--- loco_directory/events/forms.py 2013-04-08 20:08:25 +0000
+++ loco_directory/events/forms.py 2013-06-29 22:11:25 +0000
@@ -1,8 +1,9 @@
1# -*- coding: utf-8 -*-1# -*- coding: utf-8 -*-
2
2from django import forms3from django import forms
3from django.conf import settings
4from django.utils.translation import ugettext as _4from django.utils.translation import ugettext as _
5from django.core.urlresolvers import reverse5from django.core.urlresolvers import reverse
6from django.forms import formsets
67
7from .models import BaseEvent, GlobalEvent, TeamEvent, Attendee, TeamEventComment8from .models import BaseEvent, GlobalEvent, TeamEvent, Attendee, TeamEventComment
8from venues.models import Venue9from venues.models import Venue
@@ -12,7 +13,6 @@
1213
13import itertools14import itertools
1415
15
16def grouped_user_list(teams):16def grouped_user_list(teams):
17 other_members, team_members = [], []17 other_members, team_members = [], []
18 for profile in UserProfile.objects.filter(user__groups__name__in=[t.lp_name for t in teams]):18 for profile in UserProfile.objects.filter(user__groups__name__in=[t.lp_name for t in teams]):
@@ -44,12 +44,29 @@
4444
45 class Media:45 class Media:
46 css = {'all': (46 css = {'all': (
47<<<<<<< TREE
47 settings.MEDIA_URL + 'jquery-ui/css/smoothness/jquery-ui.css',48 settings.MEDIA_URL + 'jquery-ui/css/smoothness/jquery-ui.css',
48 )}49 )}
50=======
51 '/media/jquery-ui/css/css/smoothness/jquery-ui.css',
52 '/media/jquery-ui-timepicker/css/ui-lightness/ui.timepickr.css',
53 '/media/css/colortip-1.0-jquery.css',
54 )}
55>>>>>>> MERGE-SOURCE
49 js = (56 js = (
57<<<<<<< TREE
50 settings.MEDIA_URL + 'jquery-ui/jquery-ui.js',58 settings.MEDIA_URL + 'jquery-ui/jquery-ui.js',
51 settings.MEDIA_URL + 'js/events-ui.js',59 settings.MEDIA_URL + 'js/events-ui.js',
52 )60 )
61=======
62 '/media/jquery/jquery.js',
63 '/media/jquery-ui/jquery-ui.js',
64 '/media/jquery-ui-timepicker/js/jquery.timepickr.min.js',
65 '/media/jquery-ui-timepicker/js/ui.timepickr.min.js',
66 '/media/js/colortip-1.0-jquery.js',
67 '/media/js/events-ui.js',
68 )
69>>>>>>> MERGE-SOURCE
5370
54 def __init__(self, *args, **kargs):71 def __init__(self, *args, **kargs):
55 super(BaseEventForm, self).__init__(*args, **kargs)72 super(BaseEventForm, self).__init__(*args, **kargs)
@@ -76,15 +93,13 @@
76 super(TeamEventForm, self).__init__(*args, **kargs)93 super(TeamEventForm, self).__init__(*args, **kargs)
77 self.teams = teams94 self.teams = teams
78 self.fields['contact'].choices = grouped_user_list(self.teams)95 self.fields['contact'].choices = grouped_user_list(self.teams)
79 self.fields['venue'].choices = self.grouped_venue_list()
80 from common.widgets import PopupRelatedFieldWidgetWrapper
81 self.fields['venue'].widget = PopupRelatedFieldWidgetWrapper(self.fields['venue'].widget, reverse('venue-new'))
82 self.fields['global_event'].choices = [(e.id, str(e)) for e in GlobalEvent.objects.next_events().iterator()]96 self.fields['global_event'].choices = [(e.id, str(e)) for e in GlobalEvent.objects.next_events().iterator()]
83 self.fields['global_event'].choices.insert(0, ('', '---------'))97 self.fields['global_event'].choices.insert(0, ('', '---------'))
84 self.initial['date_begin'] = self.instance.local_date_begin98 self.initial['date_begin'] = self.instance.local_date_begin
85 self.initial['date_end'] = self.instance.local_date_end99 self.initial['date_end'] = self.instance.local_date_end
86100
87 def clean(self):101 def clean(self):
102<<<<<<< TREE
88 venue = self.cleaned_data.get('venue')103 venue = self.cleaned_data.get('venue')
89 begin = self.cleaned_data.get('date_begin', None)104 begin = self.cleaned_data.get('date_begin', None)
90 end = self.cleaned_data.get('date_end', None)105 end = self.cleaned_data.get('date_end', None)
@@ -93,11 +108,72 @@
93 self.cleaned_data['date_begin'] = venue.fromlocaltime(begin)108 self.cleaned_data['date_begin'] = venue.fromlocaltime(begin)
94 self.cleaned_data['date_end'] = venue.fromlocaltime(end)109 self.cleaned_data['date_end'] = venue.fromlocaltime(end)
95 elif self.teams:110 elif self.teams:
111=======
112 if self.teams:
113 begin = self.cleaned_data.get('date_begin', None)
114 end = self.cleaned_data.get('date_end', None)
115>>>>>>> MERGE-SOURCE
96 if begin is not None and end is not None:116 if begin is not None and end is not None:
97 self.cleaned_data['date_begin'] = self.teams[0].fromlocaltime(begin)117 self.cleaned_data['date_begin'] = self.teams[0].fromlocaltime(begin)
98 self.cleaned_data['date_end'] = self.teams[0].fromlocaltime(end)118 self.cleaned_data['date_end'] = self.teams[0].fromlocaltime(end)
99 return self.cleaned_data119 return self.cleaned_data
100120
121class GlobalEventForm(BaseEventForm):
122 """
123 a form to create/update a GlobalEvent
124 """
125 class Meta(BaseEventForm.Meta):
126 model = GlobalEvent
127
128 def clean(self):
129 self.cleaned_data['microbloghashtag'] = validate_tag(self.cleaned_data['microbloghashtag'])
130 self.cleaned_data['pictag'] = validate_tag(self.cleaned_data['pictag'])
131 return self.cleaned_data
132
133
134class AttendeeRegistrationForm(forms.ModelForm, RenderableMixin):
135 """
136 a form to create/update an Attendee object
137 """
138 def __init__(self, *args, **kargs):
139 super(AttendeeRegistrationForm, self).__init__(*args, **kargs)
140 self.fields['guests'].min_value = 0
141 self.fields['guests'].max_value = 100
142
143 class Meta:
144 model = Attendee
145 exclude = ('attendee_profile', 'team_event')
146
147class TeamEventCommentForm(forms.ModelForm, RenderableMixin):
148 """
149 a form to comment a team event
150 """
151 class Meta:
152 model = TeamEventComment
153 exclude = ('team_event', 'date_created', 'commenter_profile')
154
155 class Media:
156 css = {'all': (
157 settings.MEDIA_URL + 'css/colortip-1.0-jquery.css',
158 )}
159 js = (
160 settings.MEDIA_URL + settings.MEDIA_URL + 'jquery/jquery.js',
161 settings.MEDIA_URL + settings.MEDIA_URL + 'js/colortip-1.0-jquery.js',
162 )
163
164class TeamEventVenueForm(forms.ModelForm, RenderableMixin):
165 """
166 a form to venue a team event
167 """
168
169 def __init__(self, teams=[], *args, **kargs):
170 super(TeamEventVenueForm, self).__init__(*args, **kargs)
171 self.teams = teams
172 self.fields['venue'].choices = self.grouped_venue_list()
173 from common.widgets import PopupRelatedFieldWidgetWrapper
174
175 self.fields['venue'].widget = PopupRelatedFieldWidgetWrapper(self.fields['venue'].widget, reverse('venue-new'))
176
101 def grouped_venue_list(self):177 def grouped_venue_list(self):
102 """178 """
103 Returns a list of venues grouped by country179 Returns a list of venues grouped by country
@@ -147,6 +223,7 @@
147223
148 return venue_choices224 return venue_choices
149225
226<<<<<<< TREE
150227
151class GlobalEventForm(BaseEventForm):228class GlobalEventForm(BaseEventForm):
152 """229 """
@@ -177,3 +254,22 @@
177 class Meta:254 class Meta:
178 model = TeamEventComment255 model = TeamEventComment
179 exclude = ('team_event', 'date_created', 'commenter_profile')256 exclude = ('team_event', 'date_created', 'commenter_profile')
257=======
258 class Meta:
259 model = TeamEventVenue
260 exclude = ('team_event')
261
262 class Media:
263 css = {'all': (
264 settings.MEDIA_URL + 'css/colortip-1.0-jquery.css',
265 settings.MEDIA_URL + 'css/venues.css',
266 )}
267 js = (
268 settings.MEDIA_URL + 'jquery/jquery.js',
269 settings.MEDIA_URL + 'js/colortip-1.0-jquery.js',
270 settings.MEDIA_URL + 'js/jquery.formset.js',
271 settings.MEDIA_URL + 'js/venues.js',
272 )
273
274TeamEventVenueFormset = formsets.formset_factory(TeamEventVenueForm, extra=0)
275>>>>>>> MERGE-SOURCE
180276
=== added file 'loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py'
--- loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py 1970-01-01 00:00:00 +0000
+++ loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py 2013-06-29 22:11:25 +0000
@@ -0,0 +1,184 @@
1# encoding: utf-8
2import datetime
3from south.db import db
4from south.v2 import SchemaMigration
5from django.db import models
6
7class Migration(SchemaMigration):
8
9 def forwards(self, orm):
10
11 # Changing field 'Attendee.guests'
12 db.alter_column('events_attendee', 'guests', self.gf('events.fields.GuestsField')())
13
14
15 def backwards(self, orm):
16
17 # Changing field 'Attendee.guests'
18 db.alter_column('events_attendee', 'guests', self.gf('django.db.models.fields.PositiveSmallIntegerField')())
19
20
21 models = {
22 'auth.group': {
23 'Meta': {'object_name': 'Group'},
24 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
25 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
26 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
27 },
28 'auth.permission': {
29 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
30 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
31 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
32 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
33 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
34 },
35 'auth.user': {
36 'Meta': {'object_name': 'User'},
37 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
38 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
39 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
40 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
41 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
42 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
43 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
44 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
45 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
46 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
47 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
48 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
49 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
50 },
51 'contenttypes.contenttype': {
52 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
53 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
54 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
55 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
56 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
57 },
58 'events.attendee': {
59 'Meta': {'unique_together': "(('team_event', 'attendee_profile'),)", 'object_name': 'Attendee'},
60 'attendee_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
61 'guests': ('events.fields.GuestsField', [], {}),
62 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
63 'promise': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
64 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
65 },
66 'events.baseevent': {
67 'Meta': {'object_name': 'BaseEvent'},
68 'announce': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
69 'date_begin': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
70 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 2, 15, 23, 44, 56, 52296)', 'db_index': 'True'}),
71 'date_end': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
72 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
73 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
74 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
75 },
76 'events.globalevent': {
77 'Meta': {'object_name': 'GlobalEvent', '_ormbases': ['events.BaseEvent']},
78 'activities': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
79 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
80 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
81 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
82 'pictag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'})
83 },
84 'events.teamevent': {
85 'Meta': {'object_name': 'TeamEvent', '_ormbases': ['events.BaseEvent']},
86 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
87 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
88 'contact': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
89 'global_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.GlobalEvent']", 'null': 'True', 'blank': 'True'}),
90 'registration': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
91 'teams': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Team']", 'db_index': 'True', 'symmetrical': 'False'}),
92 'venue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['venues.Venue']", 'null': 'True', 'blank': 'True'})
93 },
94 'events.teameventcomment': {
95 'Meta': {'object_name': 'TeamEventComment'},
96 'comment': ('django.db.models.fields.TextField', [], {'db_index': 'True'}),
97 'commenter_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
98 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 2, 15, 23, 44, 56, 54290)', 'db_index': 'True'}),
99 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
100 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
101 },
102 'teams.continent': {
103 'Meta': {'ordering': "('name',)", 'object_name': 'Continent'},
104 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
105 'name': ('django.db.models.fields.TextField', [], {'max_length': '50'})
106 },
107 'teams.country': {
108 'Meta': {'ordering': "('name',)", 'object_name': 'Country'},
109 'continents': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Continent']", 'symmetrical': 'False'}),
110 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
111 'name': ('django.db.models.fields.TextField', [], {'max_length': '100'})
112 },
113 'teams.language': {
114 'Meta': {'ordering': "('name',)", 'object_name': 'Language'},
115 'code': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True'}),
116 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
117 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True'})
118 },
119 'teams.team': {
120 'Meta': {'ordering': "('approved', 'name')", 'object_name': 'Team', 'db_table': "'teams'"},
121 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
122 'admin_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'admins'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
123 'approved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
124 'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
125 'city': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
126 'contact_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contacts'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
127 'countries': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Country']", 'symmetrical': 'False'}),
128 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
129 'expires_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
130 'flickr_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
131 'forum_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
132 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
133 'irc_chan': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
134 'languages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Language']", 'symmetrical': 'False'}),
135 'lp_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True'}),
136 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
137 'ml_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
138 'mugshot_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
139 'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '80'}),
140 'override_name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'null': 'True', 'blank': 'True'}),
141 'owner_profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owner'", 'null': 'True', 'to': "orm['userprofiles.UserProfile']"}),
142 'picasa_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
143 'pixie_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
144 'provides_support': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
145 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
146 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
147 'web_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
148 'wiki_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
149 },
150 'userprofiles.userprofile': {
151 'Meta': {'ordering': "('user__username',)", 'object_name': 'UserProfile'},
152 'aim': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
153 'blog': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
154 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
155 'flickr': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
156 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
157 'identica': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
158 'irc': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
159 'mugshot': ('django.db.models.fields.URLField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
160 'picasa': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
161 'realname': ('django.db.models.fields.CharField', [], {'max_length': '150', 'blank': 'True'}),
162 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
163 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
164 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}),
165 'xmpp': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'})
166 },
167 'venues.venue': {
168 'Meta': {'unique_together': "(('name', 'country', 'city'), ('longitude', 'latitude'))", 'object_name': 'Venue'},
169 'address': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
170 'city': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
171 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
172 'continent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Continent']", 'null': 'True'}),
173 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Country']", 'null': 'True'}),
174 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
175 'latitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
176 'longitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
177 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
178 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
179 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
180 'venue_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
181 }
182 }
183
184 complete_apps = ['events']
0185
=== renamed file 'loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py' => 'loco_directory/events/migrations/0010_auto__chg_field_attendee_guests.py.moved'
=== added file 'loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py'
--- loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py 1970-01-01 00:00:00 +0000
+++ loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py 2013-06-29 22:11:25 +0000
@@ -0,0 +1,185 @@
1# encoding: utf-8
2import datetime
3from south.db import db
4from south.v2 import SchemaMigration
5from django.db import models
6
7class Migration(SchemaMigration):
8
9 def forwards(self, orm):
10
11 # Adding field 'TeamEvent.created_by'
12 db.add_column('events_teamevent', 'created_by', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True), keep_default=False)
13
14
15 def backwards(self, orm):
16
17 # Deleting field 'TeamEvent.created_by'
18 db.delete_column('events_teamevent', 'created_by_id')
19
20
21 models = {
22 'auth.group': {
23 'Meta': {'object_name': 'Group'},
24 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
25 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
26 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
27 },
28 'auth.permission': {
29 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
30 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
31 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
32 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
33 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
34 },
35 'auth.user': {
36 'Meta': {'object_name': 'User'},
37 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
38 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
39 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
40 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
41 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
42 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
43 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
44 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
45 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
46 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
47 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
48 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
49 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
50 },
51 'contenttypes.contenttype': {
52 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
53 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
54 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
55 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
56 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
57 },
58 'events.attendee': {
59 'Meta': {'unique_together': "(('team_event', 'attendee_profile'),)", 'object_name': 'Attendee'},
60 'attendee_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
61 'guests': ('events.fields.GuestsField', [], {}),
62 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
63 'promise': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
64 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
65 },
66 'events.baseevent': {
67 'Meta': {'object_name': 'BaseEvent'},
68 'announce': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
69 'date_begin': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
70 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 2, 15, 23, 47, 40, 592156)', 'db_index': 'True'}),
71 'date_end': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
72 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
73 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
74 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
75 },
76 'events.globalevent': {
77 'Meta': {'object_name': 'GlobalEvent', '_ormbases': ['events.BaseEvent']},
78 'activities': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
79 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
80 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
81 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
82 'pictag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'})
83 },
84 'events.teamevent': {
85 'Meta': {'object_name': 'TeamEvent', '_ormbases': ['events.BaseEvent']},
86 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
87 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
88 'contact': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
89 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
90 'global_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.GlobalEvent']", 'null': 'True', 'blank': 'True'}),
91 'registration': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
92 'teams': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Team']", 'db_index': 'True', 'symmetrical': 'False'}),
93 'venue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['venues.Venue']", 'null': 'True', 'blank': 'True'})
94 },
95 'events.teameventcomment': {
96 'Meta': {'object_name': 'TeamEventComment'},
97 'comment': ('django.db.models.fields.TextField', [], {'db_index': 'True'}),
98 'commenter_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
99 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 2, 15, 23, 47, 40, 594563)', 'db_index': 'True'}),
100 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
101 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
102 },
103 'teams.continent': {
104 'Meta': {'ordering': "('name',)", 'object_name': 'Continent'},
105 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
106 'name': ('django.db.models.fields.TextField', [], {'max_length': '50'})
107 },
108 'teams.country': {
109 'Meta': {'ordering': "('name',)", 'object_name': 'Country'},
110 'continents': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Continent']", 'symmetrical': 'False'}),
111 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
112 'name': ('django.db.models.fields.TextField', [], {'max_length': '100'})
113 },
114 'teams.language': {
115 'Meta': {'ordering': "('name',)", 'object_name': 'Language'},
116 'code': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True'}),
117 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
118 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True'})
119 },
120 'teams.team': {
121 'Meta': {'ordering': "('approved', 'name')", 'object_name': 'Team', 'db_table': "'teams'"},
122 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
123 'admin_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'admins'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
124 'approved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
125 'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
126 'city': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
127 'contact_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contacts'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
128 'countries': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Country']", 'symmetrical': 'False'}),
129 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
130 'expires_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
131 'flickr_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
132 'forum_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
133 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
134 'irc_chan': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
135 'languages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Language']", 'symmetrical': 'False'}),
136 'lp_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True'}),
137 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
138 'ml_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
139 'mugshot_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
140 'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '80'}),
141 'override_name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'null': 'True', 'blank': 'True'}),
142 'owner_profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owner'", 'null': 'True', 'to': "orm['userprofiles.UserProfile']"}),
143 'picasa_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
144 'pixie_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
145 'provides_support': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
146 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
147 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
148 'web_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
149 'wiki_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
150 },
151 'userprofiles.userprofile': {
152 'Meta': {'ordering': "('user__username',)", 'object_name': 'UserProfile'},
153 'aim': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
154 'blog': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
155 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
156 'flickr': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
157 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
158 'identica': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
159 'irc': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
160 'mugshot': ('django.db.models.fields.URLField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
161 'picasa': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
162 'realname': ('django.db.models.fields.CharField', [], {'max_length': '150', 'blank': 'True'}),
163 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
164 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
165 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}),
166 'xmpp': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'})
167 },
168 'venues.venue': {
169 'Meta': {'unique_together': "(('name', 'country', 'city'), ('longitude', 'latitude'))", 'object_name': 'Venue'},
170 'address': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
171 'city': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
172 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
173 'continent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Continent']", 'null': 'True'}),
174 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Country']", 'null': 'True'}),
175 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
176 'latitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
177 'longitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
178 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
179 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
180 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
181 'venue_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
182 }
183 }
184
185 complete_apps = ['events']
0186
=== renamed file 'loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py' => 'loco_directory/events/migrations/0011_auto__add_field_teamevent_created_by.py.moved'
=== added file 'loco_directory/events/migrations/0012_auto__add_teameventvenue.py'
--- loco_directory/events/migrations/0012_auto__add_teameventvenue.py 1970-01-01 00:00:00 +0000
+++ loco_directory/events/migrations/0012_auto__add_teameventvenue.py 2013-06-29 22:11:25 +0000
@@ -0,0 +1,196 @@
1# encoding: utf-8
2import datetime
3from south.db import db
4from south.v2 import SchemaMigration
5from django.db import models
6
7class Migration(SchemaMigration):
8
9 def forwards(self, orm):
10
11 # Adding model 'TeamEventVenue'
12 db.create_table('events_teameventvenue', (
13 ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
14 ('team_event', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['events.TeamEvent'])),
15 ('venue', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['venues.Venue'], null=True, blank=True)),
16 ))
17 db.send_create_signal('events', ['TeamEventVenue'])
18
19
20 def backwards(self, orm):
21
22 # Deleting model 'TeamEventVenue'
23 db.delete_table('events_teameventvenue')
24
25
26 models = {
27 'auth.group': {
28 'Meta': {'object_name': 'Group'},
29 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
30 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
31 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
32 },
33 'auth.permission': {
34 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
35 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
36 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
37 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
38 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
39 },
40 'auth.user': {
41 'Meta': {'object_name': 'User'},
42 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
43 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
44 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
45 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
46 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
47 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
48 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
49 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
50 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
51 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
52 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
53 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
54 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
55 },
56 'contenttypes.contenttype': {
57 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
58 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
59 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
60 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
61 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
62 },
63 'events.attendee': {
64 'Meta': {'unique_together': "(('team_event', 'attendee_profile'),)", 'object_name': 'Attendee'},
65 'attendee_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
66 'guests': ('events.fields.GuestsField', [], {}),
67 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
68 'promise': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
69 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
70 },
71 'events.baseevent': {
72 'Meta': {'object_name': 'BaseEvent'},
73 'announce': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
74 'date_begin': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
75 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 6, 28, 12, 48, 59, 458482)', 'db_index': 'True'}),
76 'date_end': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
77 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
78 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
79 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
80 },
81 'events.globalevent': {
82 'Meta': {'object_name': 'GlobalEvent', '_ormbases': ['events.BaseEvent']},
83 'activities': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
84 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
85 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
86 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
87 'pictag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'})
88 },
89 'events.teamevent': {
90 'Meta': {'object_name': 'TeamEvent', '_ormbases': ['events.BaseEvent']},
91 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
92 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
93 'contact': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
94 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
95 'global_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.GlobalEvent']", 'null': 'True', 'blank': 'True'}),
96 'registration': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
97 'teams': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Team']", 'db_index': 'True', 'symmetrical': 'False'}),
98 'venue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['venues.Venue']", 'null': 'True', 'blank': 'True'})
99 },
100 'events.teameventcomment': {
101 'Meta': {'object_name': 'TeamEventComment'},
102 'comment': ('django.db.models.fields.TextField', [], {'db_index': 'True'}),
103 'commenter_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
104 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 6, 28, 12, 48, 59, 461262)', 'db_index': 'True'}),
105 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
106 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
107 },
108 'events.teameventvenue': {
109 'Meta': {'object_name': 'TeamEventVenue'},
110 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
111 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"}),
112 'venue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['venues.Venue']", 'null': 'True', 'blank': 'True'})
113 },
114 'teams.continent': {
115 'Meta': {'ordering': "('name',)", 'object_name': 'Continent'},
116 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
117 'name': ('django.db.models.fields.TextField', [], {'max_length': '50'})
118 },
119 'teams.country': {
120 'Meta': {'ordering': "('name',)", 'object_name': 'Country'},
121 'continents': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Continent']", 'symmetrical': 'False'}),
122 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
123 'name': ('django.db.models.fields.TextField', [], {'max_length': '100'})
124 },
125 'teams.language': {
126 'Meta': {'ordering': "('name',)", 'object_name': 'Language'},
127 'code': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True'}),
128 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
129 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True'})
130 },
131 'teams.team': {
132 'Meta': {'ordering': "('approved', 'name')", 'object_name': 'Team', 'db_table': "'teams'"},
133 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
134 'admin_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'admins'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
135 'approved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
136 'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
137 'city': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
138 'contact_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contacts'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
139 'countries': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Country']", 'symmetrical': 'False'}),
140 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
141 'expires_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
142 'flickr_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
143 'forum_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
144 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
145 'irc_chan': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
146 'languages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Language']", 'symmetrical': 'False'}),
147 'lp_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True'}),
148 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
149 'ml_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
150 'mugshot_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
151 'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '80'}),
152 'override_name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'null': 'True', 'blank': 'True'}),
153 'owner_profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owner'", 'null': 'True', 'to': "orm['userprofiles.UserProfile']"}),
154 'picasa_id': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
155 'pixie_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
156 'provides_support': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
157 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
158 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
159 'web_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
160 'wiki_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
161 },
162 'userprofiles.userprofile': {
163 'Meta': {'ordering': "('user__username',)", 'object_name': 'UserProfile'},
164 'aim': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
165 'blog': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
166 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
167 'flickr': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
168 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
169 'identica': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
170 'irc': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
171 'mugshot': ('django.db.models.fields.URLField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
172 'picasa': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
173 'realname': ('django.db.models.fields.CharField', [], {'max_length': '150', 'blank': 'True'}),
174 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
175 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
176 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}),
177 'xmpp': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'})
178 },
179 'venues.venue': {
180 'Meta': {'unique_together': "(('name', 'country', 'city'), ('longitude', 'latitude'))", 'object_name': 'Venue'},
181 'address': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
182 'city': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
183 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
184 'continent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Continent']", 'null': 'True'}),
185 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Country']", 'null': 'True'}),
186 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
187 'latitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
188 'longitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
189 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
190 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
191 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
192 'venue_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
193 }
194 }
195
196 complete_apps = ['events']
0197
=== added file 'loco_directory/events/migrations/0013_historical_venue.py'
--- loco_directory/events/migrations/0013_historical_venue.py 1970-01-01 00:00:00 +0000
+++ loco_directory/events/migrations/0013_historical_venue.py 2013-06-29 22:11:25 +0000
@@ -0,0 +1,195 @@
1# encoding: utf-8
2import datetime
3from south.db import db
4from south.v2 import DataMigration
5from django.db import models
6
7class Migration(DataMigration):
8
9 def forwards(self, orm):
10 "Write your forwards methods here."
11 for team_event in orm.TeamEvent.objects.all():
12
13 team_event_venue = orm.TeamEventVenue()
14
15 team_event_venue.team_event = team_event
16 team_event_venue.venue = team_event.venue
17
18 team_event_venue.save()
19
20
21 def backwards(self, orm):
22 "Write your backwards methods here."
23
24
25 models = {
26 'auth.group': {
27 'Meta': {'object_name': 'Group'},
28 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
29 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
30 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
31 },
32 'auth.permission': {
33 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
34 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
35 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
36 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
37 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
38 },
39 'auth.user': {
40 'Meta': {'object_name': 'User'},
41 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
42 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
43 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
44 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
45 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
46 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
47 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
48 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
49 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
50 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
51 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
52 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
53 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
54 },
55 'contenttypes.contenttype': {
56 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
57 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
58 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
59 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
60 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
61 },
62 'events.attendee': {
63 'Meta': {'unique_together': "(('team_event', 'attendee_profile'),)", 'object_name': 'Attendee'},
64 'attendee_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
65 'guests': ('events.fields.GuestsField', [], {}),
66 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
67 'promise': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
68 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
69 },
70 'events.baseevent': {
71 'Meta': {'object_name': 'BaseEvent'},
72 'announce': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
73 'date_begin': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
74 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 6, 28, 15, 33, 18, 253919)', 'db_index': 'True'}),
75 'date_end': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
76 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
77 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
78 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
79 },
80 'events.globalevent': {
81 'Meta': {'object_name': 'GlobalEvent', '_ormbases': ['events.BaseEvent']},
82 'activities': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
83 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
84 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
85 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
86 'pictag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'})
87 },
88 'events.teamevent': {
89 'Meta': {'object_name': 'TeamEvent', '_ormbases': ['events.BaseEvent']},
90 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
91 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
92 'contact': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
93 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
94 'global_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.GlobalEvent']", 'null': 'True', 'blank': 'True'}),
95 'registration': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
96 'teams': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Team']", 'db_index': 'True', 'symmetrical': 'False'}),
97 'venue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['venues.Venue']", 'null': 'True', 'blank': 'True'})
98 },
99 'events.teameventcomment': {
100 'Meta': {'object_name': 'TeamEventComment'},
101 'comment': ('django.db.models.fields.TextField', [], {'db_index': 'True'}),
102 'commenter_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
103 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 6, 28, 15, 33, 18, 258052)', 'db_index': 'True'}),
104 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
105 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
106 },
107 'events.teameventvenue': {
108 'Meta': {'object_name': 'TeamEventVenue'},
109 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
110 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"}),
111 'venue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['venues.Venue']", 'null': 'True', 'blank': 'True'})
112 },
113 'teams.continent': {
114 'Meta': {'ordering': "('name',)", 'object_name': 'Continent'},
115 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
116 'name': ('django.db.models.fields.TextField', [], {'max_length': '50'})
117 },
118 'teams.country': {
119 'Meta': {'ordering': "('name',)", 'object_name': 'Country'},
120 'continents': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Continent']", 'symmetrical': 'False'}),
121 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
122 'name': ('django.db.models.fields.TextField', [], {'max_length': '100'})
123 },
124 'teams.language': {
125 'Meta': {'ordering': "('name',)", 'object_name': 'Language'},
126 'code': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True'}),
127 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
128 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True'})
129 },
130 'teams.team': {
131 'Meta': {'ordering': "('approved', 'name')", 'object_name': 'Team', 'db_table': "'teams'"},
132 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
133 'admin_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'admins'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
134 'approved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
135 'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
136 'city': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
137 'contact_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contacts'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
138 'countries': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Country']", 'symmetrical': 'False'}),
139 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
140 'expires_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
141 'flickr_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
142 'forum_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
143 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
144 'irc_chan': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
145 'languages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Language']", 'symmetrical': 'False'}),
146 'lp_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True'}),
147 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
148 'ml_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
149 'mugshot_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
150 'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '80'}),
151 'override_name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'null': 'True', 'blank': 'True'}),
152 'owner_profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owner'", 'null': 'True', 'to': "orm['userprofiles.UserProfile']"}),
153 'picasa_id': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
154 'pixie_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
155 'provides_support': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
156 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
157 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
158 'web_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
159 'wiki_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
160 },
161 'userprofiles.userprofile': {
162 'Meta': {'ordering': "('user__username',)", 'object_name': 'UserProfile'},
163 'aim': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
164 'blog': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
165 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
166 'flickr': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
167 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
168 'identica': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
169 'irc': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
170 'mugshot': ('django.db.models.fields.URLField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
171 'picasa': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
172 'realname': ('django.db.models.fields.CharField', [], {'max_length': '150', 'blank': 'True'}),
173 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
174 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
175 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}),
176 'xmpp': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'})
177 },
178 'venues.venue': {
179 'Meta': {'unique_together': "(('name', 'country', 'city'), ('longitude', 'latitude'))", 'object_name': 'Venue'},
180 'address': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
181 'city': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
182 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
183 'continent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Continent']", 'null': 'True'}),
184 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Country']", 'null': 'True'}),
185 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
186 'latitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
187 'longitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
188 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
189 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
190 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
191 'venue_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
192 }
193 }
194
195 complete_apps = ['events']
0196
=== added file 'loco_directory/events/migrations/0014_auto__del_field_teamevent_venue.py'
--- loco_directory/events/migrations/0014_auto__del_field_teamevent_venue.py 1970-01-01 00:00:00 +0000
+++ loco_directory/events/migrations/0014_auto__del_field_teamevent_venue.py 2013-06-29 22:11:25 +0000
@@ -0,0 +1,190 @@
1# encoding: utf-8
2import datetime
3from south.db import db
4from south.v2 import SchemaMigration
5from django.db import models
6
7class Migration(SchemaMigration):
8
9 def forwards(self, orm):
10
11 # Deleting field 'TeamEvent.venue'
12 db.delete_column('events_teamevent', 'venue_id')
13
14
15 def backwards(self, orm):
16
17 # Adding field 'TeamEvent.venue'
18 db.add_column('events_teamevent', 'venue', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['venues.Venue'], null=True, blank=True), keep_default=False)
19
20
21 models = {
22 'auth.group': {
23 'Meta': {'object_name': 'Group'},
24 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
25 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
26 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
27 },
28 'auth.permission': {
29 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
30 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
31 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
32 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
33 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
34 },
35 'auth.user': {
36 'Meta': {'object_name': 'User'},
37 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
38 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
39 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
40 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
41 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
42 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
43 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
44 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
45 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
46 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
47 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
48 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
49 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
50 },
51 'contenttypes.contenttype': {
52 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
53 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
54 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
55 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
56 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
57 },
58 'events.attendee': {
59 'Meta': {'unique_together': "(('team_event', 'attendee_profile'),)", 'object_name': 'Attendee'},
60 'attendee_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
61 'guests': ('events.fields.GuestsField', [], {}),
62 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
63 'promise': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
64 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
65 },
66 'events.baseevent': {
67 'Meta': {'object_name': 'BaseEvent'},
68 'announce': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
69 'date_begin': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
70 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 6, 29, 20, 33, 16, 717631)', 'db_index': 'True'}),
71 'date_end': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
72 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
73 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
74 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
75 },
76 'events.globalevent': {
77 'Meta': {'object_name': 'GlobalEvent', '_ormbases': ['events.BaseEvent']},
78 'activities': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
79 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
80 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
81 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
82 'pictag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'})
83 },
84 'events.teamevent': {
85 'Meta': {'object_name': 'TeamEvent', '_ormbases': ['events.BaseEvent']},
86 'baseevent_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['events.BaseEvent']", 'unique': 'True', 'primary_key': 'True'}),
87 'channel': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
88 'contact': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
89 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
90 'global_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.GlobalEvent']", 'null': 'True', 'blank': 'True'}),
91 'registration': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
92 'teams': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Team']", 'db_index': 'True', 'symmetrical': 'False'})
93 },
94 'events.teameventcomment': {
95 'Meta': {'object_name': 'TeamEventComment'},
96 'comment': ('django.db.models.fields.TextField', [], {'db_index': 'True'}),
97 'commenter_profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True'}),
98 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 6, 29, 20, 33, 16, 721835)', 'db_index': 'True'}),
99 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
100 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"})
101 },
102 'events.teameventvenue': {
103 'Meta': {'object_name': 'TeamEventVenue'},
104 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
105 'team_event': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['events.TeamEvent']"}),
106 'venue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['venues.Venue']", 'null': 'True', 'blank': 'True'})
107 },
108 'teams.continent': {
109 'Meta': {'ordering': "('name',)", 'object_name': 'Continent'},
110 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
111 'name': ('django.db.models.fields.TextField', [], {'max_length': '50'})
112 },
113 'teams.country': {
114 'Meta': {'ordering': "('name',)", 'object_name': 'Country'},
115 'continents': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Continent']", 'symmetrical': 'False'}),
116 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
117 'name': ('django.db.models.fields.TextField', [], {'max_length': '100'})
118 },
119 'teams.language': {
120 'Meta': {'ordering': "('name',)", 'object_name': 'Language'},
121 'code': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True'}),
122 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
123 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True'})
124 },
125 'teams.team': {
126 'Meta': {'ordering': "('approved', 'name')", 'object_name': 'Team', 'db_table': "'teams'"},
127 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
128 'admin_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'admins'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
129 'approved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
130 'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
131 'city': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
132 'contact_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contacts'", 'symmetrical': 'False', 'to': "orm['userprofiles.UserProfile']"}),
133 'countries': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Country']", 'symmetrical': 'False'}),
134 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
135 'expires_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
136 'flickr_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
137 'forum_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
138 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
139 'irc_chan': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
140 'languages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Language']", 'symmetrical': 'False'}),
141 'lp_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True'}),
142 'microbloghashtag': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
143 'ml_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
144 'mugshot_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
145 'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '80'}),
146 'override_name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'null': 'True', 'blank': 'True'}),
147 'owner_profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owner'", 'null': 'True', 'to': "orm['userprofiles.UserProfile']"}),
148 'picasa_id': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
149 'pixie_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
150 'provides_support': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
151 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
152 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
153 'web_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
154 'wiki_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
155 },
156 'userprofiles.userprofile': {
157 'Meta': {'ordering': "('user__username',)", 'object_name': 'UserProfile'},
158 'aim': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
159 'blog': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
160 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
161 'flickr': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
162 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
163 'identica': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
164 'irc': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
165 'mugshot': ('django.db.models.fields.URLField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
166 'picasa': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
167 'realname': ('django.db.models.fields.CharField', [], {'max_length': '150', 'blank': 'True'}),
168 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
169 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
170 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}),
171 'xmpp': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'})
172 },
173 'venues.venue': {
174 'Meta': {'unique_together': "(('name', 'country', 'city'), ('longitude', 'latitude'))", 'object_name': 'Venue'},
175 'address': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
176 'city': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
177 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
178 'continent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Continent']", 'null': 'True'}),
179 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teams.Country']", 'null': 'True'}),
180 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
181 'latitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
182 'longitude': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
183 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
184 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
185 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
186 'venue_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
187 }
188 }
189
190 complete_apps = ['events']
0191
=== modified file 'loco_directory/events/models.py'
--- loco_directory/events/models.py 2013-05-11 14:07:21 +0000
+++ loco_directory/events/models.py 2013-06-29 22:11:25 +0000
@@ -92,14 +92,13 @@
92 teams = models.ManyToManyField(Team, help_text=_('teams planning this event.'), verbose_name=_('Teams Participating'), db_index=True)92 teams = models.ManyToManyField(Team, help_text=_('teams planning this event.'), verbose_name=_('Teams Participating'), db_index=True)
93 contact = models.ForeignKey(UserProfile, verbose_name=_('Event Contact'), null=True, help_text=_('Contact person for this event.'))93 contact = models.ForeignKey(UserProfile, verbose_name=_('Event Contact'), null=True, help_text=_('Contact person for this event.'))
94 global_event = models.ForeignKey(GlobalEvent, help_text=_('this team event is part of the selected global event'), verbose_name=_('Related Global Event'), blank=True, null=True)94 global_event = models.ForeignKey(GlobalEvent, help_text=_('this team event is part of the selected global event'), verbose_name=_('Related Global Event'), blank=True, null=True)
95 venue = models.ForeignKey(Venue, help_text=_('Venue for the Event'), verbose_name=_('Event Venue'), blank=True, null=True)
96 channel = models.CharField(help_text=_('Channel for the Event hosted on the freenode IRC network. Ex. #ubuntu-us-fl'), max_length=25, verbose_name=_('Event Channel'), blank=True, null=True)95 channel = models.CharField(help_text=_('Channel for the Event hosted on the freenode IRC network. Ex. #ubuntu-us-fl'), max_length=25, verbose_name=_('Event Channel'), blank=True, null=True)
97 registration = models.URLField(verbose_name=_('Registration URL'), help_text=_('URL to register attendance (leave blank to use the built-in registration system)'), max_length=200, verify_exists=False, blank=True, null=True)96 registration = models.URLField(verbose_name=_('Registration URL'), help_text=_('URL to register attendance (leave blank to use the built-in registration system)'), max_length=200, verify_exists=False, blank=True, null=True)
9897
99 objects = TeamEventManager()98 objects = TeamEventManager()
10099
101 def __unicode__(self):100 def __unicode__(self):
102 return "%s %s %s" % (self.name, self.venue, self.date_begin or "")101 return "%s %s" % (self.name, self.date_begin or "")
103102
104 @models.permalink103 @models.permalink
105 def get_absolute_url(self):104 def get_absolute_url(self):
@@ -207,6 +206,15 @@
207 self.date_created = local_created206 self.date_created = local_created
208 local_date_created = property(get_local_created, set_local_created)207 local_date_created = property(get_local_created, set_local_created)
209208
209class TeamEventVenue(models.Model):
210 """
211 a model for venue about a team event
212 """
213 team_event = models.ForeignKey(TeamEvent, help_text=_('the Team Event'))
214 venue = models.ForeignKey(Venue, help_text=_('Venue for the Event'), verbose_name=_('Event Venue'), blank=True, null=True)
215
216 def __unicode__(self):
217 return "Team Event: %s" % self.team_event.name
210218
211class Attendee(models.Model):219class Attendee(models.Model):
212 """220 """
213221
=== modified file 'loco_directory/events/views.py'
--- loco_directory/events/views.py 2013-05-11 14:07:21 +0000
+++ loco_directory/events/views.py 2013-06-29 22:11:25 +0000
@@ -7,11 +7,17 @@
7from django.utils.translation import ugettext as _7from django.utils.translation import ugettext as _
8from django.db.models import Count8from django.db.models import Count
99
10<<<<<<< TREE
10from .models import (TeamEvent, GlobalEvent, Attendee, TeamEventComment)11from .models import (TeamEvent, GlobalEvent, Attendee, TeamEventComment)
11from teams.models import Team12from teams.models import Team
13=======
14from .models import (TeamEvent, GlobalEvent, Attendee, TeamEventComment, TeamEventVenue)
15
16from teams.models import Team, Country, Continent
17>>>>>>> MERGE-SOURCE
1218
13from .forms import (TeamEventForm, TeamEventCommentForm,19from .forms import (TeamEventForm, TeamEventCommentForm,
14 GlobalEventForm, AttendeeRegistrationForm)20 GlobalEventForm, AttendeeRegistrationForm, TeamEventVenueFormset)
1521
16from common.forms import FilterHistoryList22from common.forms import FilterHistoryList
17from common import launchpad23from common import launchpad
@@ -132,7 +138,13 @@
132 """138 """
133 detailed view for a team event139 detailed view for a team event
134 """140 """
141<<<<<<< TREE
135 team_event = get_object_or_404(TeamEvent, pk=team_event_id)142 team_event = get_object_or_404(TeamEvent, pk=team_event_id)
143=======
144 team_event_object = get_object_or_404(TeamEvent, pk=team_event_id)
145 team_event_venues = TeamEventVenue.objects.all().filter(team_event__id=team_event_id)
146
147>>>>>>> MERGE-SOURCE
136 is_member = False148 is_member = False
137 for team_object in team_event.teams.all():149 for team_object in team_event.teams.all():
138 is_member = is_member or launchpad.is_team_member(request.user, team_object)150 is_member = is_member or launchpad.is_team_member(request.user, team_object)
@@ -153,8 +165,14 @@
153 form = None165 form = None
154166
155 context = {167 context = {
168<<<<<<< TREE
156 'team_event': team_event,169 'team_event': team_event,
157 'user_is_attending': team_event.is_attending(request.user),170 'user_is_attending': team_event.is_attending(request.user),
171=======
172 'team_event_object': team_event_object,
173 'team_event_venues': team_event_venues,
174 'user_is_attending': team_event_object.is_attending(request.user),
175>>>>>>> MERGE-SOURCE
158 'user_is_team_member': is_member,176 'user_is_team_member': is_member,
159 'form': form,177 'form': form,
160 }178 }
@@ -180,6 +198,9 @@
180 if is_on_lc or is_contact:198 if is_on_lc or is_contact:
181 if request.method == 'POST':199 if request.method == 'POST':
182 team_event_object.delete()200 team_event_object.delete()
201
202 TeamEventVenue.objects.filter(team_event__pk=team_event_object.pk).delete()
203
183 request.user.message_set.create(message=_('Team Event removed.'))204 request.user.message_set.create(message=_('Team Event removed.'))
184 return redirect('event-list')205 return redirect('event-list')
185 else:206 else:
@@ -211,7 +232,6 @@
211def team_events_rss(request, team_slug):232def team_events_rss(request, team_slug):
212 return redirect('/feeds/events/%s/' % team_slug, permanent=True)233 return redirect('/feeds/events/%s/' % team_slug, permanent=True)
213234
214
215@login_required235@login_required
216def team_event_new(request, team_slug):236def team_event_new(request, team_slug):
217 """237 """
@@ -224,22 +244,43 @@
224244
225 if is_on_lc or is_member:245 if is_on_lc or is_member:
226 global_event = None246 global_event = None
247
227 if request.method == 'POST':248 if request.method == 'POST':
228 form = TeamEventForm(data=request.POST, teams=[team_object])249 form = TeamEventForm(data=request.POST, teams=[team_object])
250<<<<<<< TREE
229 if form.is_valid():251 if form.is_valid():
230 team_event = form.save(commit=False)252 team_event = form.save(commit=False)
231 team_event.created_by = request.user253 team_event.created_by = request.user
232 team_event.save()254 team_event.save()
255=======
256 formset = TeamEventVenueFormset(data=request.POST)
257
258 if form.is_valid() and formset.is_valid():
259 team_event = form.save()
260>>>>>>> MERGE-SOURCE
233 team_event.teams.add(team_object)261 team_event.teams.add(team_object)
262
263 for venue_form in formset.forms:
264
265 team_event_venue = venue_form.save(commit=False)
266
267 if team_event_venue.venue:
268 team_event_venue.team_event = team_event
269 team_event_venue.save()
270
234 return HttpResponseRedirect(team_event.get_absolute_url())271 return HttpResponseRedirect(team_event.get_absolute_url())
235 else:272 else:
236 form = TeamEventForm(initial={'global_event': request.GET.get('global_event_id', None)}, teams=[team_object])273 form = TeamEventForm(initial={'global_event': request.GET.get('global_event_id', None)}, teams=[team_object])
237 if 'global_event_id' in request.GET:274 if 'global_event_id' in request.GET:
238 global_event = get_object_or_404(GlobalEvent, pk=request.GET.get('global_event_id'))275 global_event = get_object_or_404(GlobalEvent, pk=request.GET.get('global_event_id'))
276
277 formset = TeamEventVenueFormset(initial=[{'teams': team_object }])
278
239 context = {279 context = {
240 'team_object': team_object,280 'team_object': team_object,
241 'form': form,281 'form': form,
242 'global_event': global_event,282 'global_event': global_event,
283 'formset': formset,
243 }284 }
244 return render_to_response('events/team_event_new.html',285 return render_to_response('events/team_event_new.html',
245 context, RequestContext(request))286 context, RequestContext(request))
@@ -270,15 +311,44 @@
270 if request.method == 'POST':311 if request.method == 'POST':
271 form = TeamEventForm(instance=team_event, data=request.POST, teams=teams)312 form = TeamEventForm(instance=team_event, data=request.POST, teams=teams)
272 team_event.id = team_event.pk = None313 team_event.id = team_event.pk = None
273 if form.is_valid():314
315 formset = TeamEventVenueFormset(data=request.POST)
316
317 if form.is_valid() and formset.is_valid():
318
274 team_event = form.save()319 team_event = form.save()
275 team_event.teams.add(team_object)320 team_event.teams.add(team_object)
321
322 for venue_form in formset.forms:
323
324 team_event_venue = venue_form.save(commit=False)
325 team_event_venue.team_event = team_event
326 team_event_venue.save()
327
276 return HttpResponseRedirect(team_event.get_absolute_url())328 return HttpResponseRedirect(team_event.get_absolute_url())
277 else:329 else:
330<<<<<<< TREE
278 form = TeamEventForm(instance=team_event, teams=teams)331 form = TeamEventForm(instance=team_event, teams=teams)
332=======
333 form = TeamEventForm(instance=team_event, teams=team_event.teams.all())
334
335 team_event_venues = TeamEventVenue.objects.all().filter(team_event__id=team_event_id)
336
337 number_of_venues = len(team_event_venues)
338
339 data = { 'form-TOTAL_FORMS': number_of_venues,
340 'form-INITIAL_FORMS': number_of_venues}
341
342 for i in range(number_of_venues):
343 data.update({'form-%s' % str(i) + '-venue': team_event_venues[i].venue.pk})
344
345 formset = TeamEventVenueFormset(data, initial=[{'teams': team_object }])
346
347>>>>>>> MERGE-SOURCE
279 context = {348 context = {
280 'team_object': team_object,349 'team_object': team_object,
281 'form': form,350 'form': form,
351 'formset': formset,
282 }352 }
283 return render_to_response('events/team_event_new.html',353 return render_to_response('events/team_event_new.html',
284 context, RequestContext(request))354 context, RequestContext(request))
@@ -305,17 +375,58 @@
305 is_on_lc = launchpad.is_user_on_loco_council(request.user)375 is_on_lc = launchpad.is_user_on_loco_council(request.user)
306376
307 if is_on_lc or is_member:377 if is_on_lc or is_member:
378
308 if request.method == 'POST':379 if request.method == 'POST':
380<<<<<<< TREE
309 form = TeamEventForm(data=request.POST, instance=team_event, teams=teams)381 form = TeamEventForm(data=request.POST, instance=team_event, teams=teams)
310 if form.is_valid():382 if form.is_valid():
383=======
384 form = TeamEventForm(data=request.POST, instance=team_event_object, teams=team_event_object.teams.all())
385
386 formset = TeamEventVenueFormset(data=request.POST)
387
388 if form.is_valid() and formset.is_valid():
389
390>>>>>>> MERGE-SOURCE
311 form.save()391 form.save()
392
393 venues = []
394
395 for venue_form in formset.forms:
396
397 team_event_venue = venue_form.save(commit=False)
398 team_event_venue.team_event = team_event_object
399 team_event_venue.save()
400
401 venues.append(team_event_venue.pk)
402
403 TeamEventVenue.objects.filter(team_event__pk=team_event_object.pk).exclude(pk__in=venues).delete()
404
312 request.user.message_set.create(message=_('Team Event updated.'))405 request.user.message_set.create(message=_('Team Event updated.'))
313 return redirect(team_event)406 return redirect(team_event)
314 else:407 else:
408<<<<<<< TREE
315 form = TeamEventForm(instance=team_event, teams=teams)409 form = TeamEventForm(instance=team_event, teams=teams)
410=======
411
412 form = TeamEventForm(instance=team_event_object, teams=team_event_object.teams.all())
413>>>>>>> MERGE-SOURCE
414
415 team_event_venues = TeamEventVenue.objects.all().filter(team_event__id=team_event_id)
416
417 number_of_venues = len(team_event_venues)
418
419 data = { 'form-TOTAL_FORMS': number_of_venues,
420 'form-INITIAL_FORMS': number_of_venues}
421
422 for i in range(number_of_venues):
423 data.update({'form-%s' % str(i) + '-venue': team_event_venues[i].venue.pk})
424
425 formset = TeamEventVenueFormset(data, initial=[{'teams': team_event_object}])
316426
317 context = {427 context = {
318 'form': form,428 'form': form,
429 'formset': formset,
319 }430 }
320 return render_to_response(431 return render_to_response(
321 'events/team_event_update.html',432 'events/team_event_update.html',
322433
=== added file 'loco_directory/media/css/venues.css'
--- loco_directory/media/css/venues.css 1970-01-01 00:00:00 +0000
+++ loco_directory/media/css/venues.css 2013-06-29 22:11:25 +0000
@@ -0,0 +1,10 @@
1 .add-row {
2 padding-left:18px;
3 background:url(../images/add.png) no-repeat left center;
4 }
5 .delete-row {
6 display:block;
7 margin:6px 0 0 0;
8 padding-left:18px;
9 background:url(../images/delete.png) no-repeat left center;
10 }
011
=== added file 'loco_directory/media/images/add.png'
1Binary files loco_directory/media/images/add.png 1970-01-01 00:00:00 +0000 and loco_directory/media/images/add.png 2013-06-29 22:11:25 +0000 differ12Binary files loco_directory/media/images/add.png 1970-01-01 00:00:00 +0000 and loco_directory/media/images/add.png 2013-06-29 22:11:25 +0000 differ
=== added file 'loco_directory/media/images/delete.png'
2Binary files loco_directory/media/images/delete.png 1970-01-01 00:00:00 +0000 and loco_directory/media/images/delete.png 2013-06-29 22:11:25 +0000 differ13Binary files loco_directory/media/images/delete.png 1970-01-01 00:00:00 +0000 and loco_directory/media/images/delete.png 2013-06-29 22:11:25 +0000 differ
=== added file 'loco_directory/media/js/jquery.formset.js'
--- loco_directory/media/js/jquery.formset.js 1970-01-01 00:00:00 +0000
+++ loco_directory/media/js/jquery.formset.js 2013-06-29 22:11:25 +0000
@@ -0,0 +1,170 @@
1/**
2 * jQuery Formset 1.2
3 * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com)
4 * @requires jQuery 1.2.6 or later
5 *
6 * Copyright (c) 2009, Stanislaus Madueke
7 * All rights reserved.
8 *
9 * Licensed under the New BSD License
10 * See: http://www.opensource.org/licenses/bsd-license.php
11 */
12;(function($) {
13 $.fn.formset = function(opts)
14 {
15 var options = $.extend({}, $.fn.formset.defaults, opts),
16 flatExtraClasses = options.extraClasses.join(' '),
17 $$ = $(this),
18
19 applyExtraClasses = function(row, ndx) {
20 if (options.extraClasses) {
21 row.removeClass(flatExtraClasses);
22 row.addClass(options.extraClasses[ndx % options.extraClasses.length]);
23 }
24 },
25
26 updateElementIndex = function(elem, prefix, ndx) {
27 var idRegex = new RegExp('(' + prefix + '-\\d+-)|(^)'),
28 replacement = prefix + '-' + ndx + '-';
29 if (elem.attr("for")) elem.attr("for", elem.attr("for").replace(idRegex, replacement));
30 if (elem.attr('id')) elem.attr('id', elem.attr('id').replace(idRegex, replacement));
31 if (elem.attr('name')) elem.attr('name', elem.attr('name').replace(idRegex, replacement));
32 },
33
34 hasChildElements = function(row) {
35 return row.find('input,select,textarea,label').length > 0;
36 },
37
38 insertDeleteLink = function(row) {
39 if (row.is('TR')) {
40 // If the forms are laid out in table rows, insert
41 // the remove button into the last table cell:
42 row.children(':last').append('<a class="' + options.deleteCssClass +'" href="javascript:void(0)">' + options.deleteText + '</a>');
43 } else if (row.is('UL') || row.is('OL')) {
44 // If they're laid out as an ordered/unordered list,
45 // insert an <li> after the last list item:
46 row.append('<li><a class="' + options.deleteCssClass + '" href="javascript:void(0)">' + options.deleteText +'</a></li>');
47 } else {
48 // Otherwise, just insert the remove button as the
49 // last child element of the form's container:
50 row.append('<a class="' + options.deleteCssClass + '" href="javascript:void(0)">' + options.deleteText +'</a>');
51 }
52 row.find('a.' + options.deleteCssClass).click(function() {
53 var row = $(this).parents('.' + options.formCssClass),
54 del = row.find('input:hidden[id $= "-DELETE"]');
55 if (del.length) {
56 // We're dealing with an inline formset; rather than remove
57 // this form from the DOM, we'll mark it as deleted and hide
58 // it, then let Django handle the deleting:
59 del.val('on');
60 row.hide();
61 } else {
62 row.remove();
63 // Update the TOTAL_FORMS form count.
64 // Also update names and IDs for all remaining form controls so they remain in sequence:
65 var forms = $('.' + options.formCssClass).not('.formset-custom-template');
66 $('#id_' + options.prefix + '-TOTAL_FORMS').val(forms.length);
67 for (var i=0, formCount=forms.length; i<formCount; i++) {
68 applyExtraClasses(forms.eq(i), i);
69 forms.eq(i).find('input,select,textarea,label').each(function() {
70 updateElementIndex($(this), options.prefix, i);
71 });
72 }
73 }
74 // If a post-delete callback was provided, call it with the deleted form:
75 if (options.removed) options.removed(row);
76 return false;
77 });
78 };
79
80 $$.each(function(i) {
81 var row = $(this),
82 del = row.find('input:checkbox[id $= "-DELETE"]');
83 if (del.length) {
84 // If you specify "can_delete = True" when creating an inline formset,
85 // Django adds a checkbox to each form in the formset.
86 // Replace the default checkbox with a hidden field:
87 del.before('<input type="hidden" name="' + del.attr('name') +'" id="' + del.attr('id') +'" />');
88 del.remove();
89 }
90 if (hasChildElements(row)) {
91 insertDeleteLink(row);
92 row.addClass(options.formCssClass);
93 applyExtraClasses(row, i);
94 }
95 });
96
97 if ($$.length) {
98 var addButton, template;
99 if (options.formTemplate) {
100 // If a form template was specified, we'll clone it to generate new form instances:
101 template = (options.formTemplate instanceof $) ? options.formTemplate : $(options.formTemplate);
102 template.removeAttr('id').addClass(options.formCssClass).addClass('formset-custom-template');
103 template.find('input,select,textarea,label').each(function() {
104 updateElementIndex($(this), options.prefix, 2012);
105 });
106 insertDeleteLink(template);
107 } else {
108 // Otherwise, use the last form in the formset; this works much better if you've got
109 // extra (>= 1) forms (thnaks to justhamade for pointing this out):
110 template = $('.' + options.formCssClass + ':last').clone(true).removeAttr('id');
111 template.find('input:hidden[id $= "-DELETE"]').remove();
112 template.find('input,select,textarea,label').each(function() {
113 var elem = $(this);
114 // If this is a checkbox or radiobutton, uncheck it.
115 // This fixes Issue 1, reported by Wilson.Andrew.J:
116 if (elem.is('input:checkbox') || elem.is('input:radio')) {
117 elem.attr('checked', false);
118 } else {
119 elem.val('');
120 }
121 });
122 }
123 // FIXME: Perhaps using $.data would be a better idea?
124 options.formTemplate = template;
125
126 if ($$.attr('tagName') == 'TR') {
127 // If forms are laid out as table rows, insert the
128 // "add" button in a new table row:
129 var numCols = $$.eq(0).children().length;
130 $$.parent().append('<tr><td colspan="' + numCols + '"><a class="' + options.addCssClass + '" href="javascript:void(0)">' + options.addText + '</a></tr>');
131 addButton = $$.parent().find('tr:last a');
132 addButton.parents('tr').addClass(options.formCssClass + '-add');
133 } else {
134 // Otherwise, insert it immediately after the last form:
135 $$.filter(':last').after('<a class="' + options.addCssClass + '" href="javascript:void(0)">' + options.addText + '</a>');
136 addButton = $$.filter(':last').next();
137 }
138 addButton.click(function() {
139 var formCount = parseInt($('#id_' + options.prefix + '-TOTAL_FORMS').val()),
140 row = options.formTemplate.clone(true).removeClass('formset-custom-template'),
141 buttonRow = $(this).parents('tr.' + options.formCssClass + '-add').get(0) || this;
142 applyExtraClasses(row, formCount);
143 row.insertBefore($(buttonRow)).show();
144 row.find('input,select,textarea,label').each(function() {
145 updateElementIndex($(this), options.prefix, formCount);
146 });
147 $('#id_' + options.prefix + '-TOTAL_FORMS').val(formCount + 1);
148 // If a post-add callback was supplied, call it with the added form:
149 if (options.added) options.added(row);
150 return false;
151 });
152 }
153
154 return $$;
155 }
156
157 /* Setup plugin defaults */
158 $.fn.formset.defaults = {
159 prefix: 'form', // The form prefix for your django formset
160 formTemplate: null, // The jQuery selection cloned to generate new form instances
161 addText: 'add another', // Text for the add link
162 deleteText: 'remove', // Text for the delete link
163 addCssClass: 'add-row', // CSS class applied to the add link
164 deleteCssClass: 'delete-row', // CSS class applied to the delete link
165 formCssClass: 'dynamic-form', // CSS class applied to each form in a formset
166 extraClasses: [], // Additional CSS classes, which will be applied to each form in turn
167 added: null, // Function called each time a new form is added
168 removed: null // Function called each time a form is deleted
169 };
170})(jQuery)
0171
=== added file 'loco_directory/media/js/venues.js'
--- loco_directory/media/js/venues.js 1970-01-01 00:00:00 +0000
+++ loco_directory/media/js/venues.js 2013-06-29 22:11:25 +0000
@@ -0,0 +1,3 @@
1$(document).ready(function(){
2 $('form #venues').formset({ })
3})
04
=== modified file 'loco_directory/templates/events/team_event_new.html'
--- loco_directory/templates/events/team_event_new.html 2013-02-17 01:44:52 +0000
+++ loco_directory/templates/events/team_event_new.html 2013-06-29 22:11:25 +0000
@@ -4,7 +4,12 @@
4{% block page_name %}{% trans "New Team Event" %}{% endblock %}4{% block page_name %}{% trans "New Team Event" %}{% endblock %}
55
6{% block extrahead %}{{ block.super }}6{% block extrahead %}{{ block.super }}
7<<<<<<< TREE
7{{ form.media }}8{{ form.media }}
9=======
10{{form.media}}
11{{formset.media}}
12>>>>>>> MERGE-SOURCE
8{% if global_event %}13{% if global_event %}
9<script type="text/javascript">14<script type="text/javascript">
10 $.datepicker.setDefaults({15 $.datepicker.setDefaults({
@@ -17,6 +22,7 @@
1722
18{% block content %}23{% block content %}
19<div class="row">24<div class="row">
25<<<<<<< TREE
20 <section class="span-9">26 <section class="span-9">
21 <div class="box_content">27 <div class="box_content">
22 <div class="pagelet">28 <div class="pagelet">
@@ -29,5 +35,25 @@
29 </div>35 </div>
30 </div>36 </div>
31 </section>37 </section>
38=======
39<section class="span-9">
40 <form action="." method="post">{% csrf_token %}
41 <fieldset>
42 <h3>{% trans "Add new Team Event for " %}{{ team_object.name}}<span class="supporting">{% trans 'is required' %}</span></h3>
43 {{ form.as_template }}
44
45 {% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %}
46 {% for form in formset.forms %}
47 <div id="venues" >
48 {{ form.venue }}
49 </div>
50 {% endfor %}
51 {{ formset.management_form }}
52 </fieldset>
53
54 <input type="submit" name="submit" value="{% trans "Submit" %}" class="submit-button" />
55 </form>
56</section>
57>>>>>>> MERGE-SOURCE
32</div>58</div>
33{% endblock %}59{% endblock %}
34\ No newline at end of file60\ No newline at end of file
3561
=== modified file 'loco_directory/templates/events/team_event_update.html'
--- loco_directory/templates/events/team_event_update.html 2013-02-17 01:44:52 +0000
+++ loco_directory/templates/events/team_event_update.html 2013-06-29 22:11:25 +0000
@@ -4,11 +4,26 @@
4{% block page_name %}{% trans "Update Team Event" %}{% endblock %}4{% block page_name %}{% trans "Update Team Event" %}{% endblock %}
55
6{% block extrahead %}{{ block.super }}6{% block extrahead %}{{ block.super }}
7<<<<<<< TREE
7{{ form.media }}8{{ form.media }}
9=======
10{{form.media}}
11{{formset.media}}
12{% endblock %}
13
14{% block extrafooter %}
15<script type="text/javascript"><!--
16$(document).ready(function(){
17 $('span[rel*=help]').colorTip({color:'orange'});
18
19});
20--></script>
21>>>>>>> MERGE-SOURCE
8{% endblock %}22{% endblock %}
923
10{% block content %}24{% block content %}
11<div class="row">25<div class="row">
26<<<<<<< TREE
12 <section class="span-9">27 <section class="span-9">
13 <div class="box_content">28 <div class="box_content">
14 <div class="pagelet">29 <div class="pagelet">
@@ -21,5 +36,25 @@
21 </div>36 </div>
22 </div>37 </div>
23 </section>38 </section>
39=======
40<section class="span-9">
41 <form action="." method="post">{% csrf_token %}
42 <fieldset>
43 <h3>{% trans "Update Team Event" %}</h3>
44 {{ form.as_template }}
45
46 {% for form in formset.forms %}
47 <div id="venues" >
48 {{ form.venue }}
49 </div>
50 {% endfor %}
51 {{ formset.management_form }}
52
53 </fieldset>
54 {% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %}
55 <input type="submit" name="submit" value="{% trans "Submit" %}" class="submit-button" />
56 </form>
57</section>
58>>>>>>> MERGE-SOURCE
24</div>59</div>
25{% endblock %}60{% endblock %}

Subscribers

People subscribed via source and target branches