changeset 2485:133209bf300c beta

added landing revision into fork create form
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 19 Jun 2012 20:27:53 +0200
parents 69625d679b8a
children 6f537e3da9c4
files rhodecode/controllers/forks.py rhodecode/model/forms.py rhodecode/templates/admin/repos/repo_add_base.html rhodecode/templates/forks/fork.html
diffstat 4 files changed, 22 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/forks.py	Tue Jun 19 20:13:31 2012 +0200
+++ b/rhodecode/controllers/forks.py	Tue Jun 19 20:27:53 2012 +0200
@@ -40,6 +40,7 @@
 from rhodecode.model.db import Repository, RepoGroup, UserFollowing, User
 from rhodecode.model.repo import RepoModel
 from rhodecode.model.forms import RepoForkForm
+from rhodecode.model.scm import ScmModel
 
 log = logging.getLogger(__name__)
 
@@ -53,6 +54,8 @@
     def __load_defaults(self):
         c.repo_groups = RepoGroup.groups_choices()
         c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
+        choices, c.landing_revs = ScmModel().get_repo_landing_revs()
+        c.landing_revs_choices = choices
 
     def __load_data(self, repo_name=None):
         """
@@ -142,7 +145,6 @@
             force_defaults=False
         )
 
-
     @NotAnonymous()
     @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
                                    'repository.admin')
@@ -150,7 +152,8 @@
         self.__load_defaults()
         c.repo_info = Repository.get_by_repo_name(repo_name)
         _form = RepoForkForm(old_data={'repo_type': c.repo_info.repo_type},
-                             repo_groups=c.repo_groups_choices,)()
+                             repo_groups=c.repo_groups_choices,
+                             landing_revs=c.landing_revs_choices)()
         form_result = {}
         try:
             form_result = _form.to_python(dict(request.POST))
--- a/rhodecode/model/forms.py	Tue Jun 19 20:13:31 2012 +0200
+++ b/rhodecode/model/forms.py	Tue Jun 19 20:27:53 2012 +0200
@@ -194,7 +194,7 @@
 
 
 def RepoForkForm(edit=False, old_data={}, supported_backends=BACKENDS.keys(),
-                 repo_groups=[]):
+                 repo_groups=[], landing_revs=[]):
     class _RepoForkForm(formencode.Schema):
         allow_extra_fields = True
         filter_extra_fields = False
@@ -208,6 +208,7 @@
         update_after_clone = v.StringBoolean(if_missing=False)
         fork_parent_id = v.UnicodeString()
         chained_validators = [v.ValidForkName(edit, old_data)]
+        landing_rev = v.OneOf(landing_revs, hideList=True)
 
     return _RepoForkForm
 
--- a/rhodecode/templates/admin/repos/repo_add_base.html	Tue Jun 19 20:13:31 2012 +0200
+++ b/rhodecode/templates/admin/repos/repo_add_base.html	Tue Jun 19 20:27:53 2012 +0200
@@ -30,7 +30,7 @@
              </div>
              <div class="input">
                  ${h.select('repo_group',request.GET.get('parent_group'),c.repo_groups,class_="medium")}
-                 <span class="help-block">${_('Optional select a group to put this repository into.')}</span>
+                 <span class="help-block">${_('Optionaly select a group to put this repository into.')}</span>
              </div>
          </div>
         <div class="field">
--- a/rhodecode/templates/forks/fork.html	Tue Jun 19 20:13:31 2012 +0200
+++ b/rhodecode/templates/forks/fork.html	Tue Jun 19 20:27:53 2012 +0200
@@ -36,12 +36,22 @@
                   ${h.hidden('fork_parent_id',c.repo_info.repo_id)}
               </div>
             </div>
+             <div class="field">
+                <div class="label">
+                    <label for="landing_rev">${_('Landing revision')}:</label>
+                </div>
+                <div class="input">
+                    ${h.select('landing_rev','',c.landing_revs,class_="medium")}
+                    <span class="help-block">${_('Default revision for files page, downloads, whoosh and readme')}</span>
+                </div>
+            </div>            
             <div class="field">
                  <div class="label">
                      <label for="repo_group">${_('Repository group')}:</label>
                  </div>
                  <div class="input">
                      ${h.select('repo_group','',c.repo_groups,class_="medium")}
+                     <span class="help-block">${_('Optionaly select a group to put this repository into.')}</span>
                  </div>
             </div>
             <div class="field">
@@ -50,6 +60,7 @@
                 </div>
                 <div class="textarea text-area editor">
                     ${h.textarea('description',cols=23,rows=5)}
+                    <span class="help-block">${_('Keep it short and to the point. Use a README file for longer descriptions.')}</span>
                 </div>
              </div>
             <div class="field">
@@ -58,6 +69,7 @@
                 </div>
                 <div class="checkboxes">
                     ${h.checkbox('private',value="True")}
+                    <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
                 </div>
             </div>
             <div class="field">
@@ -66,6 +78,7 @@
                 </div>
                 <div class="checkboxes">
                     ${h.checkbox('copy_permissions',value="True", checked="checked")}
+                    <span class="help-block">${_('Copy permissions from forked repository')}</span>
                 </div>
              </div>
             <div class="field">
@@ -74,6 +87,7 @@
                 </div>
                 <div class="checkboxes">
                     ${h.checkbox('update_after_clone',value="True")}
+                    <span class="help-block">${_('Checkout source after making a clone')}</span>
                 </div>
              </div>
 	        <div class="buttons">