You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by tv...@apache.org on 2012/12/14 16:03:30 UTC
[50/50] git commit: [#5282] Add twitter handle to metadata form
[#5282] Add twitter handle to metadata form
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/eef1aca9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/eef1aca9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/eef1aca9
Branch: refs/heads/ph/4655
Commit: eef1aca99d6fb94b34f22f479d0fbc0a396cd912
Parents: 919f6b0
Author: Patrick Lenz <pl...@geek.net>
Authored: Tue Dec 4 20:50:34 2012 +0000
Committer: Patrick Lenz <pl...@geek.net>
Committed: Tue Dec 4 20:50:34 2012 +0000
----------------------------------------------------------------------
Allura/allura/ext/admin/admin_main.py | 5 +++
.../templates/admin_widgets/metadata_admin.html | 3 ++
Allura/allura/ext/admin/widgets.py | 1 +
Allura/allura/model/project.py | 23 +++++++++++++++
4 files changed, 32 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/eef1aca9/Allura/allura/ext/admin/admin_main.py
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
index ad35414..04f902a 100644
--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -261,6 +261,7 @@ class ProjectAdminController(BaseController):
external_homepage='',
support_page='',
support_page_url='',
+ twitter_handle='',
removal='',
moved_to_url='',
export_controlled=False,
@@ -317,6 +318,10 @@ class ProjectAdminController(BaseController):
h.log_action(log, 'change project support page').info('')
M.AuditLog.log('change project support page to %s', support_page)
c.project.support_page = support_page
+ if twitter_handle != c.project.social_account('Twitter'):
+ h.log_action(log, 'change project twitter handle').info('')
+ M.AuditLog.log('change project twitter handle to %s', twitter_handle)
+ c.project.set_social_account('Twitter', twitter_handle)
if support_page_url != c.project.support_page_url:
h.log_action(log, 'change project support page url').info('')
M.AuditLog.log('change project support page url to %s', support_page_url)
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/eef1aca9/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html b/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html
index b822fd9..5e5db7a 100644
--- a/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html
+++ b/Allura/allura/ext/admin/templates/admin_widgets/metadata_admin.html
@@ -38,6 +38,9 @@
{% if value.support_page == '_url' %} checked{% endif %}>
<label for="support_page_url_cb">URL: </label>
<input type="text" name="support_page_url" value="{{value.support_page_url}}" style="width: 70%">
+ {{ widget.display_label(widget.fields.twitter_handle) }}
+ <br>
+ {{widget.display_field(widget.fields.twitter_handle) }}
{% if value.neighborhood.features['google_analytics'] %}
{{ widget.display_label(widget.fields.tracking_id) }}
<br>
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/eef1aca9/Allura/allura/ext/admin/widgets.py
----------------------------------------------------------------------
diff --git a/Allura/allura/ext/admin/widgets.py b/Allura/allura/ext/admin/widgets.py
index 8800798..2c5f5dd 100644
--- a/Allura/allura/ext/admin/widgets.py
+++ b/Allura/allura/ext/admin/widgets.py
@@ -162,6 +162,7 @@ class MetadataAdmin(ff.AdminForm):
delete_icon = ew.InputField(field_type="hidden", label='Delete Icon')
undelete = ew.InputField(field_type="hidden", label='Undelete')
tracking_id = ew.InputField(field_type="text", label="Analytics Tracking ID")
+ twitter_handle = ew.InputField(field_type="text", label='Twitter Handle')
class AuditLog(ew_core.Widget):
template='jinja:allura.ext.admin:templates/widgets/audit.html'
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/eef1aca9/Allura/allura/model/project.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/project.py b/Allura/allura/model/project.py
index de54e76..dd1f2c7 100644
--- a/Allura/allura/model/project.py
+++ b/Allura/allura/model/project.py
@@ -131,6 +131,7 @@ class Project(MappedClass, ActivityNode, ActivityObject):
external_homepage=FieldProperty(str, if_missing='')
support_page=FieldProperty(str, if_missing='')
support_page_url=FieldProperty(str, if_missing='')
+ socialnetworks=FieldProperty([dict(socialnetwork=str,accounturl=str)])
removal=FieldProperty(str, if_missing='')
moved_to_url=FieldProperty(str, if_missing='')
removal_changed_date = FieldProperty(datetime, if_missing=datetime.utcnow)
@@ -683,6 +684,28 @@ class Project(MappedClass, ActivityNode, ActivityObject):
r = ProjectRole.by_name(role_name, self)
pr.roles.append(r._id)
+ @property
+ def twitter_handle(self):
+ return self.social_account('Twitter').accounturl
+
+ def social_account(self, socialnetwork):
+ try:
+ account = (sn for sn in self.socialnetworks if sn.socialnetwork == socialnetwork).next()
+ except StopIteration:
+ return None
+ else:
+ return account
+
+ def set_social_account(self, socialnetwork, accounturl):
+ account = self.social_account(socialnetwork)
+ if account:
+ account.accounturl = accounturl
+ else:
+ self.socialnetworks.append(dict(
+ socialnetwork=socialnetwork,
+ accounturl=accounturl
+ ))
+
class AppConfig(MappedClass):
"""
Configuration information for an instantiated :class:`Application <allura.app.Application>`