Merge lp:~summit-hackers/summit/whats-your-name-yo into lp:summit
- whats-your-name-yo
- Merge into trunk
Proposed by
Chris Johnston
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Adnane Belmadiaf | ||||
Approved revision: | 472 | ||||
Merged at revision: | 479 | ||||
Proposed branch: | lp:~summit-hackers/summit/whats-your-name-yo | ||||
Merge into: | lp:summit | ||||
Diff against target: |
252 lines (+169/-6) 6 files modified
summit/sponsor/admin.py (+3/-3) summit/sponsor/forms.py (+3/-0) summit/sponsor/migrations/0002_add_real_name.py (+159/-0) summit/sponsor/models.py (+1/-0) summit/sponsor/templates/sponsor/review-index.html (+2/-2) summit/sponsor/templates/sponsor/review.html (+1/-1) |
||||
To merge this branch: | bzr merge lp:~summit-hackers/summit/whats-your-name-yo | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Adnane Belmadiaf | Approve | ||
Review via email: mp+131762@code.launchpad.net |
Commit message
Adds field to sponsorship request to require a real name from the user.
Description of the change
Please do not merge this into trunk until after UDS-R
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'summit/sponsor/admin.py' |
2 | --- summit/sponsor/admin.py 2012-01-23 01:18:55 +0000 |
3 | +++ summit/sponsor/admin.py 2012-10-27 22:11:19 +0000 |
4 | @@ -37,13 +37,13 @@ |
5 | |
6 | |
7 | class SponsorshipAdmin(admin.ModelAdmin): |
8 | - list_display = ('summit', 'user') |
9 | - list_display_links = ('user', ) |
10 | + list_display = ('summit', 'real_name', 'user') |
11 | + list_display_links = ('real_name', 'user') |
12 | list_filter = ('summit', 'would_crew', 'needs_travel', |
13 | 'needs_accomodation') |
14 | fieldsets = ( |
15 | (None, { |
16 | - 'fields': ('user', 'summit', 'location', 'country', 'about'), |
17 | + 'fields': ('real_name', 'user', 'summit', 'location', 'country', 'about'), |
18 | }), |
19 | ("Further details", { |
20 | 'fields': ('needs_travel', 'needs_accomodation', 'would_crew', |
21 | |
22 | === modified file 'summit/sponsor/forms.py' |
23 | --- summit/sponsor/forms.py 2012-08-11 01:28:13 +0000 |
24 | +++ summit/sponsor/forms.py 2012-10-27 22:11:19 +0000 |
25 | @@ -76,6 +76,8 @@ |
26 | |
27 | |
28 | class SponsorshipForm1(forms.Form, RenderableMixin): |
29 | + real_name = forms.CharField(max_length=100, required=True, label="Real Name", |
30 | + help_text="Enter your real name") |
31 | location = forms.CharField(max_length=50, label="City of closest airport", |
32 | help_text='Enter your nearest city or airport') |
33 | country = CountryField(label="Country") |
34 | @@ -174,6 +176,7 @@ |
35 | def done(self, request, form_list): |
36 | sponsorship = Sponsorship.objects.create( |
37 | user=request.user, summit=self.summit, |
38 | + real_name=form_list[0].cleaned_data['real_name'], |
39 | location=form_list[0].cleaned_data['location'], |
40 | country=form_list[0].cleaned_data['country'], |
41 | about=form_list[0].cleaned_data['about'], |
42 | |
43 | === added file 'summit/sponsor/migrations/0002_add_real_name.py' |
44 | --- summit/sponsor/migrations/0002_add_real_name.py 1970-01-01 00:00:00 +0000 |
45 | +++ summit/sponsor/migrations/0002_add_real_name.py 2012-10-27 22:11:19 +0000 |
46 | @@ -0,0 +1,159 @@ |
47 | +# encoding: utf-8 |
48 | +import datetime |
49 | +from south.db import db |
50 | +from south.v2 import SchemaMigration |
51 | +from django.db import models |
52 | + |
53 | +class Migration(SchemaMigration): |
54 | + |
55 | + def forwards(self, orm): |
56 | + |
57 | + # Adding field 'Sponsorship.real_name' |
58 | + db.add_column('sponsor_sponsorship', 'real_name', self.gf('django.db.models.fields.CharField')(max_length=100, null=True), keep_default=False) |
59 | + |
60 | + |
61 | + def backwards(self, orm): |
62 | + |
63 | + # Deleting field 'Sponsorship.real_name' |
64 | + db.delete_column('sponsor_sponsorship', 'real_name') |
65 | + |
66 | + |
67 | + models = { |
68 | + 'auth.group': { |
69 | + 'Meta': {'object_name': 'Group'}, |
70 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
71 | + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), |
72 | + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) |
73 | + }, |
74 | + 'auth.permission': { |
75 | + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, |
76 | + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
77 | + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), |
78 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
79 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
80 | + }, |
81 | + 'auth.user': { |
82 | + 'Meta': {'ordering': "['username']", 'object_name': 'User'}, |
83 | + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
84 | + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), |
85 | + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
86 | + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), |
87 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
88 | + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
89 | + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
90 | + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
91 | + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
92 | + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
93 | + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
94 | + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), |
95 | + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) |
96 | + }, |
97 | + 'contenttypes.contenttype': { |
98 | + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
99 | + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
100 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
101 | + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
102 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) |
103 | + }, |
104 | + 'schedule.summit': { |
105 | + 'Meta': {'ordering': "('name',)", 'object_name': 'Summit'}, |
106 | + 'date_end': ('django.db.models.fields.DateField', [], {'null': 'True'}), |
107 | + 'date_start': ('django.db.models.fields.DateField', [], {'null': 'True'}), |
108 | + 'description': ('django.db.models.fields.TextField', [], {'max_length': '2047', 'blank': 'True'}), |
109 | + 'etherpad': ('django.db.models.fields.URLField', [], {'default': "'http://pad.ubuntu.com/'", 'max_length': '75'}), |
110 | + 'hashtag': ('django.db.models.fields.CharField', [], {'max_length': '25', 'blank': 'True'}), |
111 | + 'help_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), |
112 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
113 | + 'last_update': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), |
114 | + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), |
115 | + 'managers': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'managers'", 'blank': 'True', 'to': "orm['auth.User']"}), |
116 | + 'name': ('summit.schedule.fields.NameField', [], {'max_length': '50'}), |
117 | + 'qr': ('django.db.models.fields.URLField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}), |
118 | + 'schedulers': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'schedulers'", 'blank': 'True', 'to': "orm['auth.User']"}), |
119 | + 'sites': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sites.Site']", 'symmetrical': 'False'}), |
120 | + 'state': ('django.db.models.fields.CharField', [], {'default': "u'sponsor'", 'max_length': '10'}), |
121 | + 'timezone': ('django.db.models.fields.CharField', [], {'max_length': '50'}), |
122 | + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) |
123 | + }, |
124 | + 'sites.site': { |
125 | + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, |
126 | + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
127 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
128 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
129 | + }, |
130 | + 'sponsor.nonlaunchpadsponsorship': { |
131 | + 'Meta': {'object_name': 'NonLaunchpadSponsorship'}, |
132 | + 'about': ('django.db.models.fields.TextField', [], {'max_length': '1000'}), |
133 | + 'company': ('django.db.models.fields.CharField', [], {'max_length': '200'}), |
134 | + 'country': ('django.db.models.fields.CharField', [], {'max_length': '2', 'blank': 'True'}), |
135 | + 'diet': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), |
136 | + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), |
137 | + 'further_info': ('django.db.models.fields.TextField', [], {'max_length': '1000', 'blank': 'True'}), |
138 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
139 | + 'location': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), |
140 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
141 | + 'needs_accomodation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
142 | + 'needs_travel': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
143 | + 'requested_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), |
144 | + 'summit': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Summit']"}), |
145 | + 'would_crew': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) |
146 | + }, |
147 | + 'sponsor.nonlaunchpadsponsorshipscore': { |
148 | + 'Meta': {'object_name': 'NonLaunchpadSponsorshipScore'}, |
149 | + 'comment': ('django.db.models.fields.TextField', [], {'max_length': '500', 'blank': 'True'}), |
150 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
151 | + 'score': ('django.db.models.fields.IntegerField', [], {}), |
152 | + 'sponsorship': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sponsor.NonLaunchpadSponsorship']"}), |
153 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) |
154 | + }, |
155 | + 'sponsor.sponsorship': { |
156 | + 'Meta': {'object_name': 'Sponsorship'}, |
157 | + 'about': ('django.db.models.fields.TextField', [], {'max_length': '1000'}), |
158 | + 'country': ('django.db.models.fields.CharField', [], {'max_length': '2'}), |
159 | + 'diet': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), |
160 | + 'further_info': ('django.db.models.fields.TextField', [], {'max_length': '1000', 'blank': 'True'}), |
161 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
162 | + 'location': ('django.db.models.fields.CharField', [], {'max_length': '50'}), |
163 | + 'needs_accomodation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
164 | + 'needs_travel': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
165 | + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'}), |
166 | + 'summit': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Summit']"}), |
167 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), |
168 | + 'video_agreement': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
169 | + 'would_crew': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) |
170 | + }, |
171 | + 'sponsor.sponsorshipscore': { |
172 | + 'Meta': {'object_name': 'SponsorshipScore'}, |
173 | + 'comment': ('django.db.models.fields.TextField', [], {'max_length': '500', 'blank': 'True'}), |
174 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
175 | + 'score': ('django.db.models.fields.IntegerField', [], {}), |
176 | + 'sponsorship': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sponsor.Sponsorship']"}), |
177 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) |
178 | + }, |
179 | + 'sponsor.sponsorshipsuggestion': { |
180 | + 'Meta': {'object_name': 'SponsorshipSuggestion'}, |
181 | + 'about': ('django.db.models.fields.TextField', [], {'max_length': '1000'}), |
182 | + 'country': ('django.db.models.fields.CharField', [], {'max_length': '2', 'blank': 'True'}), |
183 | + 'diet': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), |
184 | + 'further_info': ('django.db.models.fields.TextField', [], {'max_length': '1000', 'blank': 'True'}), |
185 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
186 | + 'launchpad_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
187 | + 'location': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), |
188 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), |
189 | + 'needs_accomodation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
190 | + 'needs_travel': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
191 | + 'suggested_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), |
192 | + 'summit': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['schedule.Summit']"}), |
193 | + 'would_crew': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) |
194 | + }, |
195 | + 'sponsor.sponsorshipsuggestionscore': { |
196 | + 'Meta': {'object_name': 'SponsorshipSuggestionScore'}, |
197 | + 'comment': ('django.db.models.fields.TextField', [], {'max_length': '500', 'blank': 'True'}), |
198 | + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
199 | + 'score': ('django.db.models.fields.IntegerField', [], {}), |
200 | + 'sponsorship': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sponsor.SponsorshipSuggestion']"}), |
201 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) |
202 | + } |
203 | + } |
204 | + |
205 | + complete_apps = ['sponsor'] |
206 | |
207 | === modified file 'summit/sponsor/models.py' |
208 | --- summit/sponsor/models.py 2012-01-23 01:18:55 +0000 |
209 | +++ summit/sponsor/models.py 2012-10-27 22:11:19 +0000 |
210 | @@ -31,6 +31,7 @@ |
211 | class Sponsorship(models.Model): |
212 | user = models.ForeignKey(User) |
213 | summit = models.ForeignKey(Summit) |
214 | + real_name = models.CharField(max_length=100, null=True, blank=False) |
215 | location = models.CharField(max_length=50) |
216 | country = models.CharField(max_length=2) |
217 | about = models.TextField(max_length=1000) |
218 | |
219 | === modified file 'summit/sponsor/templates/sponsor/review-index.html' |
220 | --- summit/sponsor/templates/sponsor/review-index.html 2012-01-23 01:18:55 +0000 |
221 | +++ summit/sponsor/templates/sponsor/review-index.html 2012-10-27 22:11:19 +0000 |
222 | @@ -10,7 +10,7 @@ |
223 | <h2>Sponsorships requested</h2> |
224 | <ul class="sponsorships"> |
225 | {% for sponsorship in sponsorships %} |
226 | - <li><a href="/{{ summit.name }}/sponsorship/review/{{ sponsorship.id }}">{{ sponsorship.user.get_full_name }}</a> |
227 | + <li><a href="/{{ summit.name }}/sponsorship/review/{{ sponsorship.id }}">{{ sponsorship.real_name }}</a> |
228 | {% ifnotequal sponsorship.numscores 0 %} |
229 | <b>({{ sponsorship.score|stringformat:"+d" }})</b> |
230 | {% endifnotequal %} |
231 | @@ -27,7 +27,7 @@ |
232 | <a href="/{{ summit.name }}/suggestedsponsorship/review/{{ sponsorship.id }}"> |
233 | {{ sponsorship.name }} |
234 | </a> |
235 | - (<a href="http://launchpad.net/~{{ sponsorship.launchpad_name }}">{{ sponsorship.launchpad_name }}</a>) |
236 | + (<a href="http://launchpad.net/~{{ sponsorship.launchpad_name }}">{{ sponsorship.name }}</a>) |
237 | {% ifnotequal sponsorship.numscores 0 %} |
238 | <b>({{ sponsorship.score|stringformat:"+d" }})</b> |
239 | {% endifnotequal %} |
240 | |
241 | === modified file 'summit/sponsor/templates/sponsor/review.html' |
242 | --- summit/sponsor/templates/sponsor/review.html 2012-01-23 01:18:55 +0000 |
243 | +++ summit/sponsor/templates/sponsor/review.html 2012-10-27 22:11:19 +0000 |
244 | @@ -5,7 +5,7 @@ |
245 | {% block sub_nav %}{% endblock %} |
246 | |
247 | {% block content %} |
248 | -<h1>{{ sponsorship.user.get_full_name }}</h1> |
249 | +<h1>{{ sponsorship.real_name }}</h1> |
250 | |
251 | <p> |
252 | {{ sponsorship.user.email }}<br /> |
+1 from me.