Merge lp:~cjohnston/loco-team-portal/686271 into lp:loco-team-portal

Proposed by Chris Johnston
Status: Merged
Merged at revision: 349
Proposed branch: lp:~cjohnston/loco-team-portal/686271
Merge into: lp:loco-team-portal
Diff against target: 199 lines (+166/-4)
3 files modified
loco_directory/meetings/migrations/0005_add_meeting_minutes.py (+142/-0)
loco_directory/meetings/models.py (+1/-0)
loco_directory/templates/meetings/team_meeting_detail_basic.inc.html (+23/-4)
To merge this branch: bzr merge lp:~cjohnston/loco-team-portal/686271
Reviewer Review Type Date Requested Status
Adnane Belmadiaf Needs Fixing
Review via email: mp+44691@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Adnane Belmadiaf (daker) wrote :

Could you pls the links clickable, it easier to click on links than Copy-Paste
{{ team_meeting_object.minutes|urlize }}
{{ team_meeting_object.logs|urlize }}

review: Needs Fixing
349. By Chris Johnston

Makes links into links

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file 'loco_directory/meetings/migrations/0005_add_meeting_minutes.py'
--- loco_directory/meetings/migrations/0005_add_meeting_minutes.py 1970-01-01 00:00:00 +0000
+++ loco_directory/meetings/migrations/0005_add_meeting_minutes.py 2010-12-25 19:20:10 +0000
@@ -0,0 +1,142 @@
1
2from south.db import db
3from django.db import models
4from meetings.models import *
5
6class Migration:
7
8 def forwards(self, orm):
9
10 # Adding field 'BaseMeeting.minutes'
11 db.add_column('meetings_basemeeting', 'minutes', orm['meetings.basemeeting:minutes'])
12
13
14
15 def backwards(self, orm):
16
17 # Deleting field 'BaseMeeting.minutes'
18 db.delete_column('meetings_basemeeting', 'minutes')
19
20
21
22 models = {
23 'auth.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': {'unique_together': "(('content_type', 'codename'),)"},
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 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
37 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
38 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
39 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
40 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
41 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
42 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
43 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
44 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
45 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
46 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
47 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
48 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
49 },
50 'contenttypes.contenttype': {
51 'Meta': {'unique_together': "(('app_label', 'model'),)", 'db_table': "'django_content_type'"},
52 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
53 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
54 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
55 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
56 },
57 'meetings.agendaitem': {
58 'created_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
59 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
60 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
61 'log': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
62 'meeting': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'agenda'", 'to': "orm['meetings.BaseMeeting']"}),
63 'order': ('django.db.models.fields.PositiveIntegerField', [], {}),
64 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']"}),
65 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['meetings.AgendaItem']"}),
66 'title': ('django.db.models.fields.CharField', [], {'max_length': '150'})
67 },
68 'meetings.basemeeting': {
69 'chair': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['userprofiles.UserProfile']", 'null': 'True', 'blank': 'True'}),
70 'channel': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True'}),
71 'date_begin': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
72 'date_created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 12, 25, 17, 7, 54, 656457)', 'db_index': 'True'}),
73 'date_end': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
74 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
75 'logs': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
76 'minutes': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
77 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
78 },
79 'meetings.teammeeting': {
80 'basemeeting_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['meetings.BaseMeeting']", 'unique': 'True', 'primary_key': 'True'}),
81 'teams': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Team']", 'db_index': 'True', 'symmetrical': 'False'})
82 },
83 'teams.continent': {
84 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
85 'name': ('django.db.models.fields.TextField', [], {'max_length': '50'})
86 },
87 'teams.country': {
88 'continents': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Continent']", 'symmetrical': 'False'}),
89 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
90 'name': ('django.db.models.fields.TextField', [], {'max_length': '100'})
91 },
92 'teams.language': {
93 'code': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True'}),
94 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
95 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True'})
96 },
97 'teams.team': {
98 'Meta': {'db_table': "'teams'"},
99 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
100 'admin_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['userprofiles.UserProfile']", 'symmetrical': 'False'}),
101 'approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
102 'approved_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
103 'city': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
104 'contact_profiles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['userprofiles.UserProfile']", 'symmetrical': 'False'}),
105 'countries': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Country']", 'symmetrical': 'False'}),
106 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
107 'expires_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
108 'flickr_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
109 'forum_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
110 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
111 'irc_chan': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}),
112 'languages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['teams.Language']", 'symmetrical': 'False'}),
113 'lp_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True'}),
114 'ml_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
115 'mugshot_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
116 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'null': 'True'}),
117 'owner_profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owner'", 'null': 'True', 'to': "orm['userprofiles.UserProfile']"}),
118 'picasa_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
119 'pixie_id': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
120 'provides_support': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
121 'spr': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
122 'web_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
123 'wiki_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
124 },
125 'userprofiles.userprofile': {
126 'aim': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
127 'blog': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
128 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
129 'flickr': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
130 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
131 'identica': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
132 'irc': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
133 'picasa': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
134 'realname': ('django.db.models.fields.CharField', [], {'max_length': '150', 'blank': 'True'}),
135 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
136 'tz': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '32'}),
137 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}),
138 'xmpp': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'})
139 }
140 }
141
142 complete_apps = ['meetings']
0143
=== modified file 'loco_directory/meetings/models.py'
--- loco_directory/meetings/models.py 2010-12-09 16:31:57 +0000
+++ loco_directory/meetings/models.py 2010-12-25 19:20:10 +0000
@@ -15,6 +15,7 @@
15 date_end = models.DateTimeField(help_text=_('end date and local time of the meeting in UTC'), verbose_name=_('Ends'), db_index=True)15 date_end = models.DateTimeField(help_text=_('end date and local time of the meeting in UTC'), verbose_name=_('Ends'), db_index=True)
16 channel = models.CharField(max_length=150, verbose_name=_('Meeting Channel'), help_text=_('Channel that the meeting will be held in. Include #'), null=True)16 channel = models.CharField(max_length=150, verbose_name=_('Meeting Channel'), help_text=_('Channel that the meeting will be held in. Include #'), null=True)
17 logs = models.URLField(verbose_name=_('Meeting Log'), help_text=_('After the meeting, add a link to the meeting log'), max_length=200, verify_exists=False, blank=True, null=True)17 logs = models.URLField(verbose_name=_('Meeting Log'), help_text=_('After the meeting, add a link to the meeting log'), max_length=200, verify_exists=False, blank=True, null=True)
18 minutes = models.URLField(verbose_name=_('Meeting Minutes'), help_text=_('After the meeting, add a link to the meeting minutes'), max_length=200, verify_exists=False, blank=True, null=True)
18 date_created = models.DateTimeField(help_text=_('the date and time when the event was created'), default=datetime.datetime.now(), db_index=True)19 date_created = models.DateTimeField(help_text=_('the date and time when the event was created'), default=datetime.datetime.now(), db_index=True)
19 chair = models.ForeignKey(UserProfile, verbose_name=_('Meeting Chair'), blank=True, null=True)20 chair = models.ForeignKey(UserProfile, verbose_name=_('Meeting Chair'), blank=True, null=True)
2021
2122
=== modified file 'loco_directory/templates/meetings/team_meeting_detail_basic.inc.html'
--- loco_directory/templates/meetings/team_meeting_detail_basic.inc.html 2010-12-16 13:05:09 +0000
+++ loco_directory/templates/meetings/team_meeting_detail_basic.inc.html 2010-12-25 19:20:10 +0000
@@ -19,13 +19,32 @@
19 <th class="form-item-label" scope="row"><label>{% trans "Organizing Team:" %}</label></th>19 <th class="form-item-label" scope="row"><label>{% trans "Organizing Team:" %}</label></th>
20 <td class="form-item-value">{% for team in team_meeting_object.teams.all %}<a title="{% trans "Get more information about this team" %}" href="{{ team.get_absolute_url }}">{{ team.name }}</a>{% if not forloop.last %},{% endif %}{% endfor %}</td>20 <td class="form-item-value">{% for team in team_meeting_object.teams.all %}<a title="{% trans "Get more information about this team" %}" href="{{ team.get_absolute_url }}">{{ team.name }}</a>{% if not forloop.last %},{% endif %}{% endfor %}</td>
21 </tr>21 </tr>
22{% endif %}22 <tr>
2323 <th class="form-item-label" scope="row"><label>{% trans "Meeting Channel:" %}</label></th>
24{% if team_meeting_object.teams.all %}24 <td class="form-item-value">{{ team_meeting_object.channel }}</td>
25 </tr>
25 <tr>26 <tr>
26 <th class="form-item-label" scope="row"><label>{% trans "Meeting Chair:" %}</label></th>27 <th class="form-item-label" scope="row"><label>{% trans "Meeting Chair:" %}</label></th>
27 <td class="form-item-value">{{ team_meeting_object.chair }}</td>28 <td class="form-item-value">
29 {% if team_meeting_object.chair %}
30 {{ team_meeting_object.chair }}
31 {% else %}
32 {% trans "No Meeting Chair Assigned" %}
33 {% endif %}
34 </td>
28 </tr>35 </tr>
36 {% if team_meeting_object.minutes %}
37 <tr>
38 <th class="form-item-label" scope="row"><label>{% trans "Meeting Minutes:" %}</label></th>
39 <td class="form-item-value"><a href="{{ team_meeting_object.minutes }}">{{ team_meeting_object.minutes }}</a></td>
40 </tr>
41 {% endif %}
42 {% if team_meeting_object.logs %}
43 <tr>
44 <th class="form-item-label" scope="row"><label>{% trans "Meeting Logs:" %}</label></th>
45 <td class="form-item-value"><a href="{{ team_meeting_object.logs }}">{{ team_meeting_object.logs }}</a></td>
46 </tr>
47 {% endif %}
29{% endif %}48{% endif %}
30</table>49</table>
31{% endif %}50{% endif %}

Subscribers

People subscribed via source and target branches