##// END OF EJS Templates
templates: UX, moved repo group select next to the name as it's very relavant to each other.
marcink -
r3380:cc6995e4 default
parent child Browse files
Show More
@@ -1,45 +1,45 b''
1 .. _set-repo-perms:
1 .. _set-repo-perms:
2
2
3 Setting Repository Permissions
3 Setting Repository Permissions
4 ------------------------------
4 ------------------------------
5
5
6 To set the permissions on an individual |repo|, use the following steps:
6 To set the permissions on an individual |repo|, use the following steps:
7
7
8 1. Open :menuselection:`Admin --> Repositories` and select
8 1. Open :menuselection:`Admin --> Repositories` and select
9 :guilabel:`edit` beside the |repo| you wish to configure.
9 :guilabel:`edit` beside the |repo| you wish to configure.
10 2. On the |repo| settings page you will see a number of tabs. Exploring these
10 2. On the |repo| settings page you will see a number of tabs. Exploring these
11 you will find the following main configuration options for a |repo|.
11 you will find the following main configuration options for a |repo|.
12 3. Once you make changes, select :guilabel:`Save`
12 3. Once you make changes, select :guilabel:`Save`
13
13
14 * :guilabel:`Repository group`: Lets you to add a |repo| to a |repo| group.
14 * :guilabel:`Repository group`: Lets you to add a |repo| to a |repo| group.
15 * :guilabel:`Owner`: Lets you change the |repo| owner. Useful when users are
15 * :guilabel:`Owner`: Lets you change the |repo| owner. Useful when users are
16 moving roles within an organisation.
16 moving roles within an organisation.
17 * :guilabel:`Enable automatic locking`: For more information,
17 * :guilabel:`Enable automatic locking`: For more information,
18 see :ref:`repo-locking`
18 see :ref:`repo-locking`
19 * :guilabel:`User Access`: On the permissions tab you can add users,
19 * :guilabel:`User Access`: On the permissions tab you can add users,
20 or user groups, and set the permissions each has for that |repo|.
20 or user groups, and set the permissions each has for that |repo|.
21 * :guilabel:`Invalidate repository cache`: On the Caches tab you can delete
21 * :guilabel:`Invalidate repository cache`: On the Caches tab you can delete
22 the |repo| cache, sometimes needed when mirroring.
22 the |repo| cache, sometimes needed when mirroring.
23
23
24 .. _set-repo-group-perms:
24 .. _set-repo-group-perms:
25
25
26 Setting Repository Group Permissions
26 Setting Repository Group Permissions
27 ------------------------------------
27 ------------------------------------
28
28
29 To set the permissions on a Repository Group, use the following steps:
29 To set the permissions on a Repository Group, use the following steps:
30
30
31 1. Open :menuselection:`Admin --> Repository groups` and select
31 1. Open :menuselection:`Admin --> Repository groups` and select
32 :guilabel:`edit` beside the |repo| you wish to configure.
32 :guilabel:`edit` beside the |repo| you wish to configure.
33 2. On the |repo| group settings page you will see a number of tabs. Exploring
33 2. On the |repo| group settings page you will see a number of tabs. Exploring
34 these you will find the following main configuration options:
34 these you will find the following main configuration options:
35
35
36 * :guilabel:`Owner`: Lets you change the group owner. Useful when users are
36 * :guilabel:`Owner`: Lets you change the group owner. Useful when users are
37 moving roles within an organisation.
37 moving roles within an organisation.
38 * :guilabel:`Group parent`: Lets you add the |repo| group as a sub-group
38 * :guilabel:`Repository group`: Lets you add the |repo| group as a sub-group
39 of a larger group, i.e. :guilabel:`QA-Repos >> QA-Repos-Berlin`
39 of a larger group, i.e. :guilabel:`QA-Repos >> QA-Repos-Berlin`
40 * :guilabel:`Enable automatic locking`: For more information,
40 * :guilabel:`Enable automatic locking`: For more information,
41 see :ref:`repo-locking`
41 see :ref:`repo-locking`
42 * :guilabel:`User Access`: On the permissions tab you can add users,
42 * :guilabel:`User Access`: On the permissions tab you can add users,
43 or user groups, and set the permissions each has for that |repo| group.
43 or user groups, and set the permissions each has for that |repo| group.
44 * :guilabel:`Add Child Group`: Allows you to add sub-repository-groups
44 * :guilabel:`Add Child Group`: Allows you to add sub-repository-groups
45 that will all share the same permissions.
45 that will all share the same permissions.
@@ -1,106 +1,106 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.mako"/>
2 <%inherit file="/base/base.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Add repository group')}
5 ${_('Add repository group')}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10
10
11 <%def name="breadcrumbs_links()">
11 <%def name="breadcrumbs_links()">
12 ${h.link_to(_('Admin'),h.route_path('admin_home'))}
12 ${h.link_to(_('Admin'),h.route_path('admin_home'))}
13 &raquo;
13 &raquo;
14 ${h.link_to(_('Repository groups'),h.route_path('repo_groups'))}
14 ${h.link_to(_('Repository groups'),h.route_path('repo_groups'))}
15 &raquo;
15 &raquo;
16 ${_('Add Repository Group')}
16 ${_('Add Repository Group')}
17 </%def>
17 </%def>
18
18
19 <%def name="menu_bar_nav()">
19 <%def name="menu_bar_nav()">
20 ${self.menu_items(active='admin')}
20 ${self.menu_items(active='admin')}
21 </%def>
21 </%def>
22
22
23 <%def name="main()">
23 <%def name="main()">
24 <div class="box">
24 <div class="box">
25 <!-- box / title -->
25 <!-- box / title -->
26 <div class="title">
26 <div class="title">
27 ${self.breadcrumbs()}
27 ${self.breadcrumbs()}
28 </div>
28 </div>
29 <!-- end box / title -->
29 <!-- end box / title -->
30 ${h.secure_form(h.route_path('repo_group_create'), request=request)}
30 ${h.secure_form(h.route_path('repo_group_create'), request=request)}
31 <div class="form">
31 <div class="form">
32 <!-- fields -->
32 <!-- fields -->
33 <div class="fields">
33 <div class="fields">
34 <div class="field">
34 <div class="field">
35 <div class="label">
35 <div class="label">
36 <label for="group_name">${_('Group Name')}:</label>
36 <label for="group_name">${_('Group name')}:</label>
37 </div>
37 </div>
38 <div class="input">
38 <div class="input">
39 ${h.text('group_name', class_="medium")}
39 ${h.text('group_name', class_="medium")}
40 </div>
40 </div>
41 </div>
41 </div>
42
42
43 <div class="field">
43 <div class="field">
44 <div class="label">
45 <label for="group_parent_id">${_('Repository group')}:</label>
46 </div>
47 <div class="select">
48 ${h.select('group_parent_id',request.GET.get('parent_group'),c.repo_groups,class_="medium")}
49 </div>
50 </div>
51
52 <div class="field">
44 <div class="label">
53 <div class="label">
45 <label for="group_description">${_('Description')}:</label>
54 <label for="group_description">${_('Description')}:</label>
46 </div>
55 </div>
47 <div class="textarea editor">
56 <div class="textarea editor">
48 ${h.textarea('group_description',cols=23,rows=5,class_="medium")}
57 ${h.textarea('group_description',cols=23,rows=5,class_="medium")}
49 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
58 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
50 <span class="help-block">${_('Plain text format with support of {metatags}').format(metatags=metatags_url)|n}</span>
59 <span class="help-block">${_('Plain text format with support of {metatags}').format(metatags=metatags_url)|n}</span>
51 <span id="meta-tags-desc" style="display: none">
60 <span id="meta-tags-desc" style="display: none">
52 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
61 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
53 ${dt.metatags_help()}
62 ${dt.metatags_help()}
54 </span>
63 </span>
55 </div>
64 </div>
56 </div>
65 </div>
57
66
58 <div class="field">
59 <div class="label">
60 <label for="group_parent_id">${_('Group Parent')}:</label>
61 </div>
62 <div class="select">
63 ${h.select('group_parent_id',request.GET.get('parent_group'),c.repo_groups,class_="medium")}
64 </div>
65 </div>
66
67 <div id="copy_perms" class="field">
67 <div id="copy_perms" class="field">
68 <div class="label label-checkbox">
68 <div class="label label-checkbox">
69 <label for="group_copy_permissions">${_('Copy Parent Group Permissions')}:</label>
69 <label for="group_copy_permissions">${_('Copy Parent Group Permissions')}:</label>
70 </div>
70 </div>
71 <div class="checkboxes">
71 <div class="checkboxes">
72 ${h.checkbox('group_copy_permissions', value="True", checked="checked")}
72 ${h.checkbox('group_copy_permissions', value="True", checked="checked")}
73 <span class="help-block">${_('Copy permission settings from parent repository group.')}</span>
73 <span class="help-block">${_('Copy permission settings from parent repository group.')}</span>
74 </div>
74 </div>
75 </div>
75 </div>
76
76
77 <div class="buttons">
77 <div class="buttons">
78 ${h.submit('save',_('Save'),class_="btn")}
78 ${h.submit('save',_('Save'),class_="btn")}
79 </div>
79 </div>
80 </div>
80 </div>
81 </div>
81 </div>
82 ${h.end_form()}
82 ${h.end_form()}
83 </div>
83 </div>
84 <script>
84 <script>
85 $(document).ready(function(){
85 $(document).ready(function(){
86 var setCopyPermsOption = function(group_val){
86 var setCopyPermsOption = function(group_val){
87 if(group_val !== "-1"){
87 if(group_val !== "-1"){
88 $('#copy_perms').show()
88 $('#copy_perms').show()
89 }
89 }
90 else{
90 else{
91 $('#copy_perms').hide();
91 $('#copy_perms').hide();
92 }
92 }
93 };
93 };
94 $("#group_parent_id").select2({
94 $("#group_parent_id").select2({
95 'containerCssClass': "drop-menu",
95 'containerCssClass': "drop-menu",
96 'dropdownCssClass': "drop-menu-dropdown",
96 'dropdownCssClass': "drop-menu-dropdown",
97 'dropdownAutoWidth': true
97 'dropdownAutoWidth': true
98 });
98 });
99 setCopyPermsOption($('#group_parent_id').val());
99 setCopyPermsOption($('#group_parent_id').val());
100 $("#group_parent_id").on("change", function(e) {
100 $("#group_parent_id").on("change", function(e) {
101 setCopyPermsOption(e.val)
101 setCopyPermsOption(e.val)
102 });
102 });
103 $('#group_name').focus();
103 $('#group_name').focus();
104 })
104 })
105 </script>
105 </script>
106 </%def>
106 </%def>
@@ -1,95 +1,95 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%namespace name="base" file="/base/base.mako"/>
2 <%namespace name="base" file="/base/base.mako"/>
3
3
4 <div class="panel panel-default">
4 <div class="panel panel-default">
5 <div class="panel-heading">
5 <div class="panel-heading">
6 <h3 class="panel-title">${_('Settings for Repository Group: %s') % c.repo_group.name}</h3>
6 <h3 class="panel-title">${_('Settings for Repository Group: %s') % c.repo_group.name}</h3>
7 </div>
7 </div>
8 <div class="panel-body">
8 <div class="panel-body">
9 ${h.secure_form(h.route_path('edit_repo_group', repo_group_name=c.repo_group.group_name), request=request)}
9 ${h.secure_form(h.route_path('edit_repo_group', repo_group_name=c.repo_group.group_name), request=request)}
10 <div class="form">
10 <div class="form">
11 <!-- fields -->
11 <!-- fields -->
12 <div class="fields">
12 <div class="fields">
13 <div class="field">
13 <div class="field">
14 <div class="label">
14 <div class="label">
15 <label for="group_name">${_('Group Name')}:</label>
15 <label for="group_name">${_('Group name')}:</label>
16 </div>
16 </div>
17 <div class="input">
17 <div class="input">
18 ${c.form['repo_group_name'].render(css_class='medium', oid='group_name')|n}
18 ${c.form['repo_group_name'].render(css_class='medium', oid='group_name')|n}
19 ${c.form.render_error(request, c.form['repo_group_name'])|n}
19 ${c.form.render_error(request, c.form['repo_group_name'])|n}
20 </div>
20 </div>
21 </div>
21 </div>
22
22
23 <div class="field">
23 <div class="field">
24 <div class="label">
24 <div class="label">
25 <label for="repo_group">${_('Group parent')}:</label>
25 <label for="repo_group">${_('Repository group')}:</label>
26 </div>
26 </div>
27 <div class="select">
27 <div class="select">
28 ${c.form['repo_group'].render(css_class='medium', oid='repo_group')|n}
28 ${c.form['repo_group'].render(css_class='medium', oid='repo_group')|n}
29 ${c.form.render_error(request, c.form['repo_group'])|n}
29 ${c.form.render_error(request, c.form['repo_group'])|n}
30
30
31 <p class="help-block">${_('Optional select a parent group to move this repository group into.')}</p>
31 <p class="help-block">${_('Optional select a parent group to move this repository group into.')}</p>
32 </div>
32 </div>
33 </div>
33 </div>
34
34
35 <div class="field badged-field">
35 <div class="field badged-field">
36 <div class="label">
36 <div class="label">
37 <label for="repo_group_owner">${_('Owner')}:</label>
37 <label for="repo_group_owner">${_('Owner')}:</label>
38 </div>
38 </div>
39 <div class="input">
39 <div class="input">
40 <div class="badge-input-container">
40 <div class="badge-input-container">
41 <div class="user-badge">
41 <div class="user-badge">
42 ${base.gravatar_with_user(c.repo_group.user.email, show_disabled=not c.repo_group.user.active)}
42 ${base.gravatar_with_user(c.repo_group.user.email, show_disabled=not c.repo_group.user.active)}
43 </div>
43 </div>
44 <div class="badge-input-wrap">
44 <div class="badge-input-wrap">
45 ${c.form['repo_group_owner'].render(css_class='medium', oid='repo_group_owner')|n}
45 ${c.form['repo_group_owner'].render(css_class='medium', oid='repo_group_owner')|n}
46 </div>
46 </div>
47 </div>
47 </div>
48 ${c.form.render_error(request, c.form['repo_group_owner'])|n}
48 ${c.form.render_error(request, c.form['repo_group_owner'])|n}
49 <p class="help-block">${_('Change owner of this repository group.')}</p>
49 <p class="help-block">${_('Change owner of this repository group.')}</p>
50 </div>
50 </div>
51 </div>
51 </div>
52
52
53 <div class="field">
53 <div class="field">
54 <div class="label label-textarea">
54 <div class="label label-textarea">
55 <label for="repo_group_description">${_('Description')}:</label>
55 <label for="repo_group_description">${_('Description')}:</label>
56 </div>
56 </div>
57 <div class="textarea text-area editor">
57 <div class="textarea text-area editor">
58 ${c.form['repo_group_description'].render(css_class='medium', oid='repo_group_description')|n}
58 ${c.form['repo_group_description'].render(css_class='medium', oid='repo_group_description')|n}
59 ${c.form.render_error(request, c.form['repo_group_description'])|n}
59 ${c.form.render_error(request, c.form['repo_group_description'])|n}
60
60
61 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
61 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
62 <span class="help-block">${_('Plain text format with support of {metatags}').format(metatags=metatags_url)|n}</span>
62 <span class="help-block">${_('Plain text format with support of {metatags}').format(metatags=metatags_url)|n}</span>
63 <span id="meta-tags-desc" style="display: none">
63 <span id="meta-tags-desc" style="display: none">
64 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
64 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
65 ${dt.metatags_help()}
65 ${dt.metatags_help()}
66 </span>
66 </span>
67 </div>
67 </div>
68 </div>
68 </div>
69
69
70 <div class="field">
70 <div class="field">
71 <div class="label label-checkbox">
71 <div class="label label-checkbox">
72 <label for="repo_group_enable_locking">${_('Enable Repository Locking')}:</label>
72 <label for="repo_group_enable_locking">${_('Enable Repository Locking')}:</label>
73 </div>
73 </div>
74 <div class="checkboxes">
74 <div class="checkboxes">
75 ${c.form['repo_group_enable_locking'].render(css_class='medium', oid='repo_group_enable_locking')|n}
75 ${c.form['repo_group_enable_locking'].render(css_class='medium', oid='repo_group_enable_locking')|n}
76 ${c.form.render_error(request, c.form['repo_group_enable_locking'])|n}
76 ${c.form.render_error(request, c.form['repo_group_enable_locking'])|n}
77
77
78 <span class="help-block">${_('Repository locking will be enabled on all subgroups and repositories inside this repository group. Pulling from a repository locks it, and it is unlocked by pushing back by the same user.')}</span>
78 <span class="help-block">${_('Repository locking will be enabled on all subgroups and repositories inside this repository group. Pulling from a repository locks it, and it is unlocked by pushing back by the same user.')}</span>
79 </div>
79 </div>
80 </div>
80 </div>
81
81
82 <div class="buttons">
82 <div class="buttons">
83 ${h.submit('save',_('Save'),class_="btn")}
83 ${h.submit('save',_('Save'),class_="btn")}
84 ${h.reset('reset',_('Reset'),class_="btn")}
84 ${h.reset('reset',_('Reset'),class_="btn")}
85 </div>
85 </div>
86 </div>
86 </div>
87 </div>
87 </div>
88 ${h.end_form()}
88 ${h.end_form()}
89 </div>
89 </div>
90 </div>
90 </div>
91 <script>
91 <script>
92 $(document).ready(function(){
92 $(document).ready(function(){
93 UsersAutoComplete('repo_group_owner', '${c.rhodecode_user.user_id}');
93 UsersAutoComplete('repo_group_owner', '${c.rhodecode_user.user_id}');
94 })
94 })
95 </script>
95 </script>
@@ -1,164 +1,164 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3 ${h.secure_form(h.route_path('repo_create'), request=request)}
3 ${h.secure_form(h.route_path('repo_create'), request=request)}
4 <div class="form">
4 <div class="form">
5 <!-- fields -->
5 <!-- fields -->
6 <div class="fields">
6 <div class="fields">
7 <div class="field">
7 <div class="field">
8 <div class="label">
8 <div class="label">
9 <label for="repo_name">${_('Name')}:</label>
9 <label for="repo_name">${_('Repository name')}:</label>
10 </div>
10 </div>
11 <div class="input">
11 <div class="input">
12 ${h.text('repo_name', class_="medium")}
12 ${h.text('repo_name', class_="medium")}
13 <div class="info-block">
13 <div class="info-block">
14 <a id="remote_clone_toggle" href="#"><i class="icon-download-alt"></i> ${_('Import Existing Repository ?')}</a>
14 <a id="remote_clone_toggle" href="#"><i class="icon-download-alt"></i> ${_('Import Existing Repository ?')}</a>
15 </div>
15 </div>
16 %if not c.rhodecode_user.is_admin:
16 %if not c.rhodecode_user.is_admin:
17 ${h.hidden('user_created',True)}
17 ${h.hidden('user_created',True)}
18 %endif
18 %endif
19 </div>
19 </div>
20 </div>
20 </div>
21 <div id="remote_clone" class="field" style="display: none;">
21 <div id="remote_clone" class="field" style="display: none;">
22 <div class="label">
22 <div class="label">
23 <label for="clone_uri">${_('Clone from')}:</label>
23 <label for="clone_uri">${_('Clone from')}:</label>
24 </div>
24 </div>
25 <div class="input">
25 <div class="input">
26 ${h.text('clone_uri', class_="medium")}
26 ${h.text('clone_uri', class_="medium")}
27 <span class="help-block">
27 <span class="help-block">
28 <pre>
28 <pre>
29 - The repository must be accessible over http:// or https://
29 - The repository must be accessible over http:// or https://
30 - For Git projects it's recommended appending .git to the end of clone url.
30 - For Git projects it's recommended appending .git to the end of clone url.
31 - Make sure to select proper repository type from the below selector before importing it.
31 - Make sure to select proper repository type from the below selector before importing it.
32 - If your HTTP[S] repository is not publicly accessible,
32 - If your HTTP[S] repository is not publicly accessible,
33 add authentication information to the URL: https://username:password@server.company.com/repo-name.
33 add authentication information to the URL: https://username:password@server.company.com/repo-name.
34 - The Git LFS/Mercurial Largefiles objects will not be imported.
34 - The Git LFS/Mercurial Largefiles objects will not be imported.
35 - For very large repositories, it's recommended to manually copy them into the
35 - For very large repositories, it's recommended to manually copy them into the
36 RhodeCode <a href="${h.route_path('admin_settings_vcs', _anchor='vcs-storage-options')}">storage location</a> and run <a href="${h.route_path('admin_settings_mapping')}">Remap and Rescan</a>.
36 RhodeCode <a href="${h.route_path('admin_settings_vcs', _anchor='vcs-storage-options')}">storage location</a> and run <a href="${h.route_path('admin_settings_mapping')}">Remap and Rescan</a>.
37 </pre>
37 </pre>
38 </span>
38 </span>
39 </div>
39 </div>
40 </div>
40 </div>
41 <div class="field">
41 <div class="field">
42 <div class="label">
42 <div class="label">
43 <label for="repo_type">${_('Type')}:</label>
43 <label for="repo_type">${_('Type')}:</label>
44 </div>
44 </div>
45 <div class="select">
45 <div class="select">
46 ${h.select('repo_type','hg',c.backends)}
46 ${h.select('repo_type','hg',c.backends)}
47 <span class="help-block">${_('Set the type of repository to create.')}</span>
47 <span class="help-block">${_('Set the type of repository to create.')}</span>
48 </div>
48 </div>
49 </div>
49 </div>
50 <div class="field">
50 <div class="field">
51 <div class="label">
52 <label for="repo_description">${_('Description')}:</label>
53 </div>
54 <div class="textarea editor">
55 ${h.textarea('repo_description')}
56 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
57 <span class="help-block">${_('Plain text format with support of {metatags}. Add a README file for longer descriptions').format(metatags=metatags_url)|n}</span>
58 <span id="meta-tags-desc" style="display: none">
59 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
60 ${dt.metatags_help()}
61 </span>
62 </div>
63 </div>
64 <div class="field">
65 <div class="label">
51 <div class="label">
66 <label for="repo_group">${_('Repository Group')}:</label>
52 <label for="repo_group">${_('Repository group')}:</label>
67 </div>
53 </div>
68 <div class="select">
54 <div class="select">
69 ${h.select('repo_group',request.GET.get('parent_group'),c.repo_groups,class_="medium")}
55 ${h.select('repo_group',request.GET.get('parent_group'),c.repo_groups,class_="medium")}
70 % if c.personal_repo_group:
56 % if c.personal_repo_group:
71 <a class="btn" href="#" id="select_my_group" data-personal-group-id="${c.personal_repo_group.group_id}">
57 <a class="btn" href="#" id="select_my_group" data-personal-group-id="${c.personal_repo_group.group_id}">
72 ${_('Select my personal group (%(repo_group_name)s)') % {'repo_group_name': c.personal_repo_group.group_name}}
58 ${_('Select my personal group (%(repo_group_name)s)') % {'repo_group_name': c.personal_repo_group.group_name}}
73 </a>
59 </a>
74 % endif
60 % endif
75 <span class="help-block">${_('Optionally select a group to put this repository into.')}</span>
61 <span class="help-block">${_('Optionally select a group to put this repository into.')}</span>
76 </div>
62 </div>
77 </div>
63 </div>
78 <div class="field">
64 <div class="field">
79 <div class="label">
65 <div class="label">
66 <label for="repo_description">${_('Description')}:</label>
67 </div>
68 <div class="textarea editor">
69 ${h.textarea('repo_description',cols=23,rows=5,class_="medium")}
70 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
71 <span class="help-block">${_('Plain text format with support of {metatags}. Add a README file for longer descriptions').format(metatags=metatags_url)|n}</span>
72 <span id="meta-tags-desc" style="display: none">
73 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
74 ${dt.metatags_help()}
75 </span>
76 </div>
77 </div>
78 <div class="field">
79 <div class="label">
80 <label for="repo_landing_rev">${_('Landing commit')}:</label>
80 <label for="repo_landing_rev">${_('Landing commit')}:</label>
81 </div>
81 </div>
82 <div class="select">
82 <div class="select">
83 ${h.select('repo_landing_rev','',c.landing_revs,class_="medium")}
83 ${h.select('repo_landing_rev','',c.landing_revs,class_="medium")}
84 <span class="help-block">${_('The default commit for file pages, downloads, full text search index, and README generation.')}</span>
84 <span class="help-block">${_('The default commit for file pages, downloads, full text search index, and README generation.')}</span>
85 </div>
85 </div>
86 </div>
86 </div>
87 <div id="copy_perms" class="field">
87 <div id="copy_perms" class="field">
88 <div class="label label-checkbox">
88 <div class="label label-checkbox">
89 <label for="repo_copy_permissions">${_('Copy Parent Group Permissions')}:</label>
89 <label for="repo_copy_permissions">${_('Copy Parent Group Permissions')}:</label>
90 </div>
90 </div>
91 <div class="checkboxes">
91 <div class="checkboxes">
92 ${h.checkbox('repo_copy_permissions', value="True", checked="checked")}
92 ${h.checkbox('repo_copy_permissions', value="True", checked="checked")}
93 <span class="help-block">${_('Copy permission set from the parent repository group.')}</span>
93 <span class="help-block">${_('Copy permission set from the parent repository group.')}</span>
94 </div>
94 </div>
95 </div>
95 </div>
96 <div class="field">
96 <div class="field">
97 <div class="label label-checkbox">
97 <div class="label label-checkbox">
98 <label for="repo_private">${_('Private Repository')}:</label>
98 <label for="repo_private">${_('Private Repository')}:</label>
99 </div>
99 </div>
100 <div class="checkboxes">
100 <div class="checkboxes">
101 ${h.checkbox('repo_private',value="True")}
101 ${h.checkbox('repo_private',value="True")}
102 <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
102 <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
103 </div>
103 </div>
104 </div>
104 </div>
105 <div class="buttons">
105 <div class="buttons">
106 ${h.submit('save',_('Save'),class_="btn")}
106 ${h.submit('save',_('Save'),class_="btn")}
107 </div>
107 </div>
108 </div>
108 </div>
109 </div>
109 </div>
110 <script>
110 <script>
111 $(document).ready(function(){
111 $(document).ready(function(){
112 var setCopyPermsOption = function(group_val){
112 var setCopyPermsOption = function(group_val){
113 if(group_val != "-1"){
113 if(group_val != "-1"){
114 $('#copy_perms').show()
114 $('#copy_perms').show()
115 }
115 }
116 else{
116 else{
117 $('#copy_perms').hide();
117 $('#copy_perms').hide();
118 }
118 }
119 };
119 };
120
120
121 $('#remote_clone_toggle').on('click', function(e){
121 $('#remote_clone_toggle').on('click', function(e){
122 $('#remote_clone').show();
122 $('#remote_clone').show();
123 e.preventDefault();
123 e.preventDefault();
124 });
124 });
125
125
126 if($('#remote_clone input').hasClass('error')){
126 if($('#remote_clone input').hasClass('error')){
127 $('#remote_clone').show();
127 $('#remote_clone').show();
128 }
128 }
129 if($('#remote_clone input').val()){
129 if($('#remote_clone input').val()){
130 $('#remote_clone').show();
130 $('#remote_clone').show();
131 }
131 }
132
132
133 $("#repo_group").select2({
133 $("#repo_group").select2({
134 'containerCssClass': "drop-menu",
134 'containerCssClass': "drop-menu",
135 'dropdownCssClass': "drop-menu-dropdown",
135 'dropdownCssClass': "drop-menu-dropdown",
136 'dropdownAutoWidth': true,
136 'dropdownAutoWidth': true,
137 'width': "resolve"
137 'width': "resolve"
138 });
138 });
139
139
140 setCopyPermsOption($('#repo_group').val());
140 setCopyPermsOption($('#repo_group').val());
141 $("#repo_group").on("change", function(e) {
141 $("#repo_group").on("change", function(e) {
142 setCopyPermsOption(e.val)
142 setCopyPermsOption(e.val)
143 });
143 });
144
144
145 $("#repo_type").select2({
145 $("#repo_type").select2({
146 'containerCssClass': "drop-menu",
146 'containerCssClass': "drop-menu",
147 'dropdownCssClass': "drop-menu-dropdown",
147 'dropdownCssClass': "drop-menu-dropdown",
148 'minimumResultsForSearch': -1,
148 'minimumResultsForSearch': -1,
149 });
149 });
150 $("#repo_landing_rev").select2({
150 $("#repo_landing_rev").select2({
151 'containerCssClass': "drop-menu",
151 'containerCssClass': "drop-menu",
152 'dropdownCssClass': "drop-menu-dropdown",
152 'dropdownCssClass': "drop-menu-dropdown",
153 'minimumResultsForSearch': -1,
153 'minimumResultsForSearch': -1,
154 });
154 });
155 $('#repo_name').focus();
155 $('#repo_name').focus();
156
156
157 $('#select_my_group').on('click', function(e){
157 $('#select_my_group').on('click', function(e){
158 e.preventDefault();
158 e.preventDefault();
159 $("#repo_group").val($(this).data('personalGroupId')).trigger("change");
159 $("#repo_group").val($(this).data('personalGroupId')).trigger("change");
160 })
160 })
161
161
162 })
162 })
163 </script>
163 </script>
164 ${h.end_form()}
164 ${h.end_form()}
@@ -1,134 +1,131 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.mako"/>
2 <%inherit file="/base/base.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Fork repository %s') % c.repo_name}
5 ${_('Fork repository %s') % c.repo_name}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10
10
11 <%def name="breadcrumbs_links()">
11 <%def name="breadcrumbs_links()"></%def>
12 ${_('New Fork')}
13 </%def>
14
12
15 <%def name="menu_bar_nav()">
13 <%def name="menu_bar_nav()">
16 ${self.menu_items(active='repositories')}
14 ${self.menu_items(active='repositories')}
17 </%def>
15 </%def>
18
16
19 <%def name="menu_bar_subnav()">
17 <%def name="menu_bar_subnav()">
20 ${self.repo_menu(active='options')}
18 ${self.repo_menu(active='options')}
21 </%def>
19 </%def>
22
20
23 <%def name="main()">
21 <%def name="main()">
24 <div class="box">
22 <div class="box">
25 <div class="title">
23 <div class="title">
26 ${self.repo_page_title(c.rhodecode_db_repo)}
24 ${self.repo_page_title(c.rhodecode_db_repo)}
27 ${self.breadcrumbs()}
28 </div>
25 </div>
29
26
30 ${h.secure_form(h.route_path('repo_fork_create',repo_name=c.rhodecode_db_repo.repo_name), request=request)}
27 ${h.secure_form(h.route_path('repo_fork_create',repo_name=c.rhodecode_db_repo.repo_name), request=request)}
31 <div class="form">
28 <div class="form">
32 <!-- fields -->
29 <!-- fields -->
33 <div class="fields">
30 <div class="fields">
34
31
35 <div class="field">
32 <div class="field">
36 <div class="label">
33 <div class="label">
37 <label for="repo_name">${_('Fork name')}:</label>
34 <label for="repo_name">${_('Fork name')}:</label>
38 </div>
35 </div>
39 <div class="input">
36 <div class="input">
40 ${h.text('repo_name', class_="medium")}
37 ${h.text('repo_name', class_="medium")}
41 ${h.hidden('repo_type',c.rhodecode_db_repo.repo_type)}
38 ${h.hidden('repo_type',c.rhodecode_db_repo.repo_type)}
42 ${h.hidden('fork_parent_id',c.rhodecode_db_repo.repo_id)}
39 ${h.hidden('fork_parent_id',c.rhodecode_db_repo.repo_id)}
43 </div>
40 </div>
44 </div>
41 </div>
45
42
46 <div class="field">
43 <div class="field">
47 <div class="label label-textarea">
48 <label for="description">${_('Description')}:</label>
49 </div>
50 <div class="textarea-repo textarea text-area editor">
51 ${h.textarea('description')}
52 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
53 <span class="help-block">${_('Plain text format with support of {metatags}. Add a README file for longer descriptions').format(metatags=metatags_url)|n}</span>
54 <span id="meta-tags-desc" style="display: none">
55 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
56 ${dt.metatags_help()}
57 </span>
58 </div>
59 </div>
60
61 <div class="field">
62 <div class="label">
44 <div class="label">
63 <label for="repo_group">${_('Repository group')}:</label>
45 <label for="repo_group">${_('Repository group')}:</label>
64 </div>
46 </div>
65 <div class="select">
47 <div class="select">
66 ${h.select('repo_group','',c.repo_groups,class_="medium")}
48 ${h.select('repo_group','',c.repo_groups,class_="medium")}
67 % if c.personal_repo_group:
49 % if c.personal_repo_group:
68 <a class="btn" href="#" id="select_my_group" data-personal-group-id="${c.personal_repo_group.group_id}">
50 <a class="btn" href="#" id="select_my_group" data-personal-group-id="${c.personal_repo_group.group_id}">
69 ${_('Select my personal group (%(repo_group_name)s)') % {'repo_group_name': c.personal_repo_group.group_name}}
51 ${_('Select my personal group (%(repo_group_name)s)') % {'repo_group_name': c.personal_repo_group.group_name}}
70 </a>
52 </a>
71 % endif
53 % endif
72 <span class="help-block">${_('Optionally select a group to put this repository into.')}</span>
54 <span class="help-block">${_('Optionally select a group to put this repository into.')}</span>
73 </div>
55 </div>
74 </div>
56 </div>
75
57
76 <div class="field">
58 <div class="field">
59 <div class="label label-textarea">
60 <label for="description">${_('Description')}:</label>
61 </div>
62 <div class="textarea editor">
63 ${h.textarea('description',cols=23,rows=5,class_="medium")}
64 <% metatags_url = h.literal('''<a href="#metatagsShow" onclick="$('#meta-tags-desc').toggle();return false">meta-tags</a>''') %>
65 <span class="help-block">${_('Plain text format with support of {metatags}. Add a README file for longer descriptions').format(metatags=metatags_url)|n}</span>
66 <span id="meta-tags-desc" style="display: none">
67 <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
68 ${dt.metatags_help()}
69 </span>
70 </div>
71 </div>
72
73 <div class="field">
77 <div class="label">
74 <div class="label">
78 <label for="landing_rev">${_('Landing commit')}:</label>
75 <label for="landing_rev">${_('Landing commit')}:</label>
79 </div>
76 </div>
80 <div class="select">
77 <div class="select">
81 ${h.select('landing_rev','',c.landing_revs,class_="medium")}
78 ${h.select('landing_rev','',c.landing_revs,class_="medium")}
82 <span class="help-block">${_('Default commit for files page, downloads, whoosh and readme')}</span>
79 <span class="help-block">${_('The default commit for file pages, downloads, full text search index, and README generation.')}</span>
83 </div>
80 </div>
84 </div>
81 </div>
85
82
86 <div class="field">
83 <div class="field">
87 <div class="label label-checkbox">
84 <div class="label label-checkbox">
88 <label for="private">${_('Copy permissions')}:</label>
85 <label for="private">${_('Copy permissions')}:</label>
89 </div>
86 </div>
90 <div class="checkboxes">
87 <div class="checkboxes">
91 ${h.checkbox('copy_permissions',value="True", checked="checked")}
88 ${h.checkbox('copy_permissions',value="True", checked="checked")}
92 <span class="help-block">${_('Copy permissions from forked repository')}</span>
89 <span class="help-block">${_('Copy permissions from forked repository')}</span>
93 </div>
90 </div>
94 </div>
91 </div>
95
92
96 <div class="field">
93 <div class="field">
97 <div class="label label-checkbox">
94 <div class="label label-checkbox">
98 <label for="private">${_('Private')}:</label>
95 <label for="private">${_('Private')}:</label>
99 </div>
96 </div>
100 <div class="checkboxes">
97 <div class="checkboxes">
101 ${h.checkbox('private',value="True")}
98 ${h.checkbox('private',value="True")}
102 <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
99 <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
103 </div>
100 </div>
104 </div>
101 </div>
105
102
106 <div class="buttons">
103 <div class="buttons">
107 ${h.submit('',_('Fork this Repository'),class_="btn")}
104 ${h.submit('',_('Fork this Repository'),class_="btn")}
108 </div>
105 </div>
109 </div>
106 </div>
110 </div>
107 </div>
111 ${h.end_form()}
108 ${h.end_form()}
112 </div>
109 </div>
113 <script>
110 <script>
114 $(document).ready(function(){
111 $(document).ready(function(){
115 $("#repo_group").select2({
112 $("#repo_group").select2({
116 'dropdownAutoWidth': true,
113 'dropdownAutoWidth': true,
117 'containerCssClass': "drop-menu",
114 'containerCssClass': "drop-menu",
118 'dropdownCssClass': "drop-menu-dropdown",
115 'dropdownCssClass': "drop-menu-dropdown",
119 'width': "resolve"
116 'width': "resolve"
120 });
117 });
121 $("#landing_rev").select2({
118 $("#landing_rev").select2({
122 'containerCssClass': "drop-menu",
119 'containerCssClass': "drop-menu",
123 'dropdownCssClass': "drop-menu-dropdown",
120 'dropdownCssClass': "drop-menu-dropdown",
124 'minimumResultsForSearch': -1
121 'minimumResultsForSearch': -1
125 });
122 });
126 $('#repo_name').focus();
123 $('#repo_name').focus();
127
124
128 $('#select_my_group').on('click', function(e){
125 $('#select_my_group').on('click', function(e){
129 e.preventDefault();
126 e.preventDefault();
130 $("#repo_group").val($(this).data('personalGroupId')).trigger("change");
127 $("#repo_group").val($(this).data('personalGroupId')).trigger("change");
131 })
128 })
132 })
129 })
133 </script>
130 </script>
134 </%def>
131 </%def>
General Comments 0
You need to be logged in to leave comments. Login now