Show More
@@ -40,6 +40,7 b' from rhodecode.lib.base import BaseRepoC' | |||||
40 | from rhodecode.model.db import Repository, RepoGroup, UserFollowing, User |
|
40 | from rhodecode.model.db import Repository, RepoGroup, UserFollowing, User | |
41 | from rhodecode.model.repo import RepoModel |
|
41 | from rhodecode.model.repo import RepoModel | |
42 | from rhodecode.model.forms import RepoForkForm |
|
42 | from rhodecode.model.forms import RepoForkForm | |
|
43 | from rhodecode.model.scm import ScmModel | |||
43 |
|
44 | |||
44 | log = logging.getLogger(__name__) |
|
45 | log = logging.getLogger(__name__) | |
45 |
|
46 | |||
@@ -53,6 +54,8 b' class ForksController(BaseRepoController' | |||||
53 | def __load_defaults(self): |
|
54 | def __load_defaults(self): | |
54 | c.repo_groups = RepoGroup.groups_choices() |
|
55 | c.repo_groups = RepoGroup.groups_choices() | |
55 | c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups) |
|
56 | c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups) | |
|
57 | choices, c.landing_revs = ScmModel().get_repo_landing_revs() | |||
|
58 | c.landing_revs_choices = choices | |||
56 |
|
59 | |||
57 | def __load_data(self, repo_name=None): |
|
60 | def __load_data(self, repo_name=None): | |
58 | """ |
|
61 | """ | |
@@ -142,7 +145,6 b' class ForksController(BaseRepoController' | |||||
142 | force_defaults=False |
|
145 | force_defaults=False | |
143 | ) |
|
146 | ) | |
144 |
|
147 | |||
145 |
|
||||
146 | @NotAnonymous() |
|
148 | @NotAnonymous() | |
147 | @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', |
|
149 | @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', | |
148 | 'repository.admin') |
|
150 | 'repository.admin') | |
@@ -150,7 +152,8 b' class ForksController(BaseRepoController' | |||||
150 | self.__load_defaults() |
|
152 | self.__load_defaults() | |
151 | c.repo_info = Repository.get_by_repo_name(repo_name) |
|
153 | c.repo_info = Repository.get_by_repo_name(repo_name) | |
152 | _form = RepoForkForm(old_data={'repo_type': c.repo_info.repo_type}, |
|
154 | _form = RepoForkForm(old_data={'repo_type': c.repo_info.repo_type}, | |
153 |
repo_groups=c.repo_groups_choices, |
|
155 | repo_groups=c.repo_groups_choices, | |
|
156 | landing_revs=c.landing_revs_choices)() | |||
154 | form_result = {} |
|
157 | form_result = {} | |
155 | try: |
|
158 | try: | |
156 | form_result = _form.to_python(dict(request.POST)) |
|
159 | form_result = _form.to_python(dict(request.POST)) |
@@ -194,7 +194,7 b' def RepoForm(edit=False, old_data={}, su' | |||||
194 |
|
194 | |||
195 |
|
195 | |||
196 | def RepoForkForm(edit=False, old_data={}, supported_backends=BACKENDS.keys(), |
|
196 | def RepoForkForm(edit=False, old_data={}, supported_backends=BACKENDS.keys(), | |
197 | repo_groups=[]): |
|
197 | repo_groups=[], landing_revs=[]): | |
198 | class _RepoForkForm(formencode.Schema): |
|
198 | class _RepoForkForm(formencode.Schema): | |
199 | allow_extra_fields = True |
|
199 | allow_extra_fields = True | |
200 | filter_extra_fields = False |
|
200 | filter_extra_fields = False | |
@@ -208,6 +208,7 b' def RepoForkForm(edit=False, old_data={}' | |||||
208 | update_after_clone = v.StringBoolean(if_missing=False) |
|
208 | update_after_clone = v.StringBoolean(if_missing=False) | |
209 | fork_parent_id = v.UnicodeString() |
|
209 | fork_parent_id = v.UnicodeString() | |
210 | chained_validators = [v.ValidForkName(edit, old_data)] |
|
210 | chained_validators = [v.ValidForkName(edit, old_data)] | |
|
211 | landing_rev = v.OneOf(landing_revs, hideList=True) | |||
211 |
|
212 | |||
212 | return _RepoForkForm |
|
213 | return _RepoForkForm | |
213 |
|
214 |
@@ -30,7 +30,7 b'' | |||||
30 | </div> |
|
30 | </div> | |
31 | <div class="input"> |
|
31 | <div class="input"> | |
32 | ${h.select('repo_group',request.GET.get('parent_group'),c.repo_groups,class_="medium")} |
|
32 | ${h.select('repo_group',request.GET.get('parent_group'),c.repo_groups,class_="medium")} | |
33 | <span class="help-block">${_('Optional select a group to put this repository into.')}</span> |
|
33 | <span class="help-block">${_('Optionaly select a group to put this repository into.')}</span> | |
34 | </div> |
|
34 | </div> | |
35 | </div> |
|
35 | </div> | |
36 | <div class="field"> |
|
36 | <div class="field"> |
@@ -36,12 +36,22 b'' | |||||
36 | ${h.hidden('fork_parent_id',c.repo_info.repo_id)} |
|
36 | ${h.hidden('fork_parent_id',c.repo_info.repo_id)} | |
37 | </div> |
|
37 | </div> | |
38 | </div> |
|
38 | </div> | |
|
39 | <div class="field"> | |||
|
40 | <div class="label"> | |||
|
41 | <label for="landing_rev">${_('Landing revision')}:</label> | |||
|
42 | </div> | |||
|
43 | <div class="input"> | |||
|
44 | ${h.select('landing_rev','',c.landing_revs,class_="medium")} | |||
|
45 | <span class="help-block">${_('Default revision for files page, downloads, whoosh and readme')}</span> | |||
|
46 | </div> | |||
|
47 | </div> | |||
39 | <div class="field"> |
|
48 | <div class="field"> | |
40 | <div class="label"> |
|
49 | <div class="label"> | |
41 | <label for="repo_group">${_('Repository group')}:</label> |
|
50 | <label for="repo_group">${_('Repository group')}:</label> | |
42 | </div> |
|
51 | </div> | |
43 | <div class="input"> |
|
52 | <div class="input"> | |
44 | ${h.select('repo_group','',c.repo_groups,class_="medium")} |
|
53 | ${h.select('repo_group','',c.repo_groups,class_="medium")} | |
|
54 | <span class="help-block">${_('Optionaly select a group to put this repository into.')}</span> | |||
45 | </div> |
|
55 | </div> | |
46 | </div> |
|
56 | </div> | |
47 | <div class="field"> |
|
57 | <div class="field"> | |
@@ -50,6 +60,7 b'' | |||||
50 | </div> |
|
60 | </div> | |
51 | <div class="textarea text-area editor"> |
|
61 | <div class="textarea text-area editor"> | |
52 | ${h.textarea('description',cols=23,rows=5)} |
|
62 | ${h.textarea('description',cols=23,rows=5)} | |
|
63 | <span class="help-block">${_('Keep it short and to the point. Use a README file for longer descriptions.')}</span> | |||
53 | </div> |
|
64 | </div> | |
54 | </div> |
|
65 | </div> | |
55 | <div class="field"> |
|
66 | <div class="field"> | |
@@ -58,6 +69,7 b'' | |||||
58 | </div> |
|
69 | </div> | |
59 | <div class="checkboxes"> |
|
70 | <div class="checkboxes"> | |
60 | ${h.checkbox('private',value="True")} |
|
71 | ${h.checkbox('private',value="True")} | |
|
72 | <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span> | |||
61 | </div> |
|
73 | </div> | |
62 | </div> |
|
74 | </div> | |
63 | <div class="field"> |
|
75 | <div class="field"> | |
@@ -66,6 +78,7 b'' | |||||
66 | </div> |
|
78 | </div> | |
67 | <div class="checkboxes"> |
|
79 | <div class="checkboxes"> | |
68 | ${h.checkbox('copy_permissions',value="True", checked="checked")} |
|
80 | ${h.checkbox('copy_permissions',value="True", checked="checked")} | |
|
81 | <span class="help-block">${_('Copy permissions from forked repository')}</span> | |||
69 | </div> |
|
82 | </div> | |
70 | </div> |
|
83 | </div> | |
71 | <div class="field"> |
|
84 | <div class="field"> | |
@@ -74,6 +87,7 b'' | |||||
74 | </div> |
|
87 | </div> | |
75 | <div class="checkboxes"> |
|
88 | <div class="checkboxes"> | |
76 | ${h.checkbox('update_after_clone',value="True")} |
|
89 | ${h.checkbox('update_after_clone',value="True")} | |
|
90 | <span class="help-block">${_('Checkout source after making a clone')}</span> | |||
77 | </div> |
|
91 | </div> | |
78 | </div> |
|
92 | </div> | |
79 | <div class="buttons"> |
|
93 | <div class="buttons"> |
General Comments 0
You need to be logged in to leave comments.
Login now