Merge lp:~cjwatson/launchpad/git-repository-description into lp:launchpad

Proposed by Colin Watson
Status: Merged
Merged at revision: 17406
Proposed branch: lp:~cjwatson/launchpad/git-repository-description
Merge into: lp:launchpad
Diff against target: 112 lines (+24/-5)
5 files modified
lib/lp/code/interfaces/gitrepository.py (+4/-0)
lib/lp/code/model/gitnamespace.py (+2/-2)
lib/lp/code/model/gitrepository.py (+6/-3)
lib/lp/code/model/tests/test_gitrepository.py (+8/-0)
lib/lp/code/templates/gitrepository-index.pt (+4/-0)
To merge this branch: bzr merge lp:~cjwatson/launchpad/git-repository-description
Reviewer Review Type Date Requested Status
William Grant code Approve
Review via email: mp+253238@code.launchpad.net

Commit message

Model, export, and render GitRepository.description.

Description of the change

Model, export, and render GitRepository.description.

To post a comment you must log in.
Revision history for this message
William Grant (wgrant) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/lp/code/interfaces/gitrepository.py'
--- lib/lp/code/interfaces/gitrepository.py 2015-03-17 10:42:24 +0000
+++ lib/lp/code/interfaces/gitrepository.py 2015-03-17 16:09:05 +0000
@@ -306,6 +306,10 @@
306 date_last_modified = exported(Datetime(306 date_last_modified = exported(Datetime(
307 title=_("Date last modified"), required=True, readonly=True))307 title=_("Date last modified"), required=True, readonly=True))
308308
309 description = exported(Text(
310 title=_("Description"), required=False, readonly=False,
311 description=_("A short description of this repository.")))
312
309313
310class IGitRepositoryModerate(Interface):314class IGitRepositoryModerate(Interface):
311 """IGitRepository methods that can be called by more than one community."""315 """IGitRepository methods that can be called by more than one community."""
312316
=== modified file 'lib/lp/code/model/gitnamespace.py'
--- lib/lp/code/model/gitnamespace.py 2015-03-03 14:37:54 +0000
+++ lib/lp/code/model/gitnamespace.py 2015-03-17 16:09:05 +0000
@@ -60,7 +60,7 @@
60 """Common code for Git repository namespaces."""60 """Common code for Git repository namespaces."""
6161
62 def createRepository(self, registrant, name, information_type=None,62 def createRepository(self, registrant, name, information_type=None,
63 date_created=DEFAULT):63 date_created=DEFAULT, description=None):
64 """See `IGitNamespace`."""64 """See `IGitNamespace`."""
6565
66 self.validateRegistrant(registrant)66 self.validateRegistrant(registrant)
@@ -73,7 +73,7 @@
7373
74 repository = GitRepository(74 repository = GitRepository(
75 registrant, self.owner, self.target, name, information_type,75 registrant, self.owner, self.target, name, information_type,
76 date_created)76 date_created, description=description)
77 repository._reconcileAccess()77 repository._reconcileAccess()
7878
79 notify(ObjectCreatedEvent(repository))79 notify(ObjectCreatedEvent(repository))
8080
=== modified file 'lib/lp/code/model/gitrepository.py'
--- lib/lp/code/model/gitrepository.py 2015-03-17 10:42:24 +0000
+++ lib/lp/code/model/gitrepository.py 2015-03-17 16:09:05 +0000
@@ -161,18 +161,21 @@
161161
162 name = Unicode(name='name', allow_none=False)162 name = Unicode(name='name', allow_none=False)
163163
164 description = Unicode(name='description', allow_none=True)
165
164 information_type = EnumCol(enum=InformationType, notNull=True)166 information_type = EnumCol(enum=InformationType, notNull=True)
165 owner_default = Bool(name='owner_default', allow_none=False)167 owner_default = Bool(name='owner_default', allow_none=False)
166 target_default = Bool(name='target_default', allow_none=False)168 target_default = Bool(name='target_default', allow_none=False)
167169
168 def __init__(self, registrant, owner, target, name, information_type,170 def __init__(self, registrant, owner, target, name, information_type,
169 date_created):171 date_created, description=None):
170 if not getFeatureFlag(GIT_FEATURE_FLAG):172 if not getFeatureFlag(GIT_FEATURE_FLAG):
171 raise GitFeatureDisabled173 raise GitFeatureDisabled
172 super(GitRepository, self).__init__()174 super(GitRepository, self).__init__()
173 self.registrant = registrant175 self.registrant = registrant
174 self.owner = owner176 self.owner = owner
175 self.name = name177 self.name = name
178 self.description = description
176 self.information_type = information_type179 self.information_type = information_type
177 self.date_created = date_created180 self.date_created = date_created
178 self.date_last_modified = date_created181 self.date_last_modified = date_created
@@ -511,12 +514,12 @@
511 implements(IGitRepositorySet)514 implements(IGitRepositorySet)
512515
513 def new(self, registrant, owner, target, name, information_type=None,516 def new(self, registrant, owner, target, name, information_type=None,
514 date_created=DEFAULT):517 date_created=DEFAULT, description=None):
515 """See `IGitRepositorySet`."""518 """See `IGitRepositorySet`."""
516 namespace = get_git_namespace(target, owner)519 namespace = get_git_namespace(target, owner)
517 return namespace.createRepository(520 return namespace.createRepository(
518 registrant, name, information_type=information_type,521 registrant, name, information_type=information_type,
519 date_created=date_created)522 date_created=date_created, description=description)
520523
521 def getByPath(self, user, path):524 def getByPath(self, user, path):
522 """See `IGitRepositorySet`."""525 """See `IGitRepositorySet`."""
523526
=== modified file 'lib/lp/code/model/tests/test_gitrepository.py'
--- lib/lp/code/model/tests/test_gitrepository.py 2015-03-17 10:47:59 +0000
+++ lib/lp/code/model/tests/test_gitrepository.py 2015-03-17 16:09:05 +0000
@@ -653,6 +653,14 @@
653 self.assertEqual(653 self.assertEqual(
654 InformationType.PRIVATESECURITY, repository.information_type)654 InformationType.PRIVATESECURITY, repository.information_type)
655655
656 def test_attribute_smoketest(self):
657 # Users with launchpad.Moderate can set attributes.
658 project = self.factory.makeProduct()
659 repository = self.factory.makeGitRepository(target=project)
660 with person_logged_in(project.owner):
661 repository.description = u"something"
662 self.assertEqual(u"something", repository.description)
663
656664
657class TestGitRepositorySetOwner(TestCaseWithFactory):665class TestGitRepositorySetOwner(TestCaseWithFactory):
658 """Test `IGitRepository.setOwner`."""666 """Test `IGitRepository.setOwner`."""
659667
=== modified file 'lib/lp/code/templates/gitrepository-index.pt'
--- lib/lp/code/templates/gitrepository-index.pt 2015-03-04 16:49:42 +0000
+++ lib/lp/code/templates/gitrepository-index.pt 2015-03-17 16:09:05 +0000
@@ -32,6 +32,10 @@
3232
33<div metal:fill-slot="main">33<div metal:fill-slot="main">
3434
35 <div id="repository-description" tal:condition="context/description"
36 class="summary"
37 tal:content="structure context/description/fmt:text-to-html" />
38
35 <div class="yui-g first">39 <div class="yui-g first">
36 <div id="repository-management" class="portlet">40 <div id="repository-management" class="portlet">
37 <tal:repository-management41 <tal:repository-management