##// END OF EJS Templates
Fixing a small error in the repo settings screen...
Ankit Solanki -
r1441:b596a0e6 beta
parent child Browse files
Show More
@@ -1,197 +1,197 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Settings')} - ${c.rhodecode_name}
5 ${c.repo_name} ${_('Settings')} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
12 &raquo;
12 &raquo;
13 ${_('Settings')}
13 ${_('Settings')}
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('settings')}
17 ${self.menu('settings')}
18 </%def>
18 </%def>
19 <%def name="main()">
19 <%def name="main()">
20 <div class="box">
20 <div class="box">
21 <!-- box / title -->
21 <!-- box / title -->
22 <div class="title">
22 <div class="title">
23 ${self.breadcrumbs()}
23 ${self.breadcrumbs()}
24 </div>
24 </div>
25 ${h.form(url('repo_settings_update', repo_name=c.repo_info.repo_name),method='put')}
25 ${h.form(url('repo_settings_update', repo_name=c.repo_info.repo_name),method='put')}
26 <div class="form">
26 <div class="form">
27 <!-- fields -->
27 <!-- fields -->
28 <div class="fields">
28 <div class="fields">
29 <div class="field">
29 <div class="field">
30 <div class="label">
30 <div class="label">
31 <label for="repo_name">${_('Name')}:</label>
31 <label for="repo_name">${_('Name')}:</label>
32 </div>
32 </div>
33 <div class="input input-medium">
33 <div class="input input-medium">
34 ${h.text('repo_name',class_="small")}
34 ${h.text('repo_name',class_="small")}
35 </div>
35 </div>
36 </div>
36 </div>
37
37
38 <div class="field">
38 <div class="field">
39 <div class="label label-textarea">
39 <div class="label label-textarea">
40 <label for="description">${_('Description')}:</label>
40 <label for="description">${_('Description')}:</label>
41 </div>
41 </div>
42 <div class="textarea text-area editor">
42 <div class="textarea text-area editor">
43 ${h.textarea('description',cols=23,rows=5)}
43 ${h.textarea('description',cols=23,rows=5)}
44 </div>
44 </div>
45 </div>
45 </div>
46
46
47 <div class="field">
47 <div class="field">
48 <div class="label label-checkbox">
48 <div class="label label-checkbox">
49 <label for="private">${_('Private')}:</label>
49 <label for="private">${_('Private')}:</label>
50 </div>
50 </div>
51 <div class="checkboxes">
51 <div class="checkboxes">
52 ${h.checkbox('private',value="True")}
52 ${h.checkbox('private',value="True")}
53 </div>
53 </div>
54 </div>
54 </div>
55
55
56 <div class="field">
56 <div class="field">
57 <div class="label">
57 <div class="label">
58 <label for="">${_('Permissions')}:</label>
58 <label for="">${_('Permissions')}:</label>
59 </div>
59 </div>
60 <div class="input">
60 <div class="input">
61 <%include file="../admin/repos/repo_edit_perms.html"/>
61 <%include file="../admin/repos/repo_edit_perms.html"/>
62 </div>
62 </div>
63
63
64 <div class="buttons">
64 <div class="buttons">
65 ${h.submit('update','Update',class_="ui-button")}
65 ${h.submit('update','Update',class_="ui-button")}
66 ${h.reset('reset','Reset',class_="ui-button")}
66 ${h.reset('reset','Reset',class_="ui-button")}
67 </div>
67 </div>
68 </div>
68 </div>
69 </div>
69 </div>
70 ${h.end_form()}
70 ${h.end_form()}
71 <script type="text/javascript">
71 <script type="text/javascript">
72 YAHOO.util.Event.onDOMReady(function(){
72 YAHOO.util.Event.onDOMReady(function(){
73 var D = YAHOO.util.Dom;
73 var D = YAHOO.util.Dom;
74 if(!D.hasClass('perm_new_user_name','error')){
74 if(!D.hasClass('perm_new_member_name','error')){
75 D.setStyle('add_perm_input','display','none');
75 D.setStyle('add_perm_input','display','none');
76 }
76 }
77 YAHOO.util.Event.addListener('add_perm','click',function(){
77 YAHOO.util.Event.addListener('add_perm','click',function(){
78 D.setStyle('add_perm_input','display','');
78 D.setStyle('add_perm_input','display','');
79 D.setStyle('add_perm','opacity','0.6');
79 D.setStyle('add_perm','opacity','0.6');
80 D.setStyle('add_perm','cursor','default');
80 D.setStyle('add_perm','cursor','default');
81 });
81 });
82 });
82 });
83 </script>
83 </script>
84 <script type="text/javascript">
84 <script type="text/javascript">
85 YAHOO.example.FnMultipleFields = function(){
85 YAHOO.example.FnMultipleFields = function(){
86 var myContacts = ${c.users_array|n}
86 var myContacts = ${c.users_array|n}
87
87
88 // Define a custom search function for the DataSource
88 // Define a custom search function for the DataSource
89 var matchNames = function(sQuery) {
89 var matchNames = function(sQuery) {
90 // Case insensitive matching
90 // Case insensitive matching
91 var query = sQuery.toLowerCase(),
91 var query = sQuery.toLowerCase(),
92 contact,
92 contact,
93 i=0,
93 i=0,
94 l=myContacts.length,
94 l=myContacts.length,
95 matches = [];
95 matches = [];
96
96
97 // Match against each name of each contact
97 // Match against each name of each contact
98 for(; i<l; i++) {
98 for(; i<l; i++) {
99 contact = myContacts[i];
99 contact = myContacts[i];
100 if((contact.fname.toLowerCase().indexOf(query) > -1) ||
100 if((contact.fname.toLowerCase().indexOf(query) > -1) ||
101 (contact.lname.toLowerCase().indexOf(query) > -1) ||
101 (contact.lname.toLowerCase().indexOf(query) > -1) ||
102 (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) {
102 (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) {
103 matches[matches.length] = contact;
103 matches[matches.length] = contact;
104 }
104 }
105 }
105 }
106
106
107 return matches;
107 return matches;
108 };
108 };
109
109
110 // Use a FunctionDataSource
110 // Use a FunctionDataSource
111 var oDS = new YAHOO.util.FunctionDataSource(matchNames);
111 var oDS = new YAHOO.util.FunctionDataSource(matchNames);
112 oDS.responseSchema = {
112 oDS.responseSchema = {
113 fields: ["id", "fname", "lname", "nname"]
113 fields: ["id", "fname", "lname", "nname"]
114 }
114 }
115
115
116 // Instantiate AutoComplete for perms
116 // Instantiate AutoComplete for perms
117 var oAC_perms = new YAHOO.widget.AutoComplete("perm_new_user_name", "perm_container", oDS);
117 var oAC_perms = new YAHOO.widget.AutoComplete("perm_new_member_name", "perm_container", oDS);
118 oAC_perms.useShadow = false;
118 oAC_perms.useShadow = false;
119 oAC_perms.resultTypeList = false;
119 oAC_perms.resultTypeList = false;
120
120
121 // Instantiate AutoComplete for owner
121 // Instantiate AutoComplete for owner
122 var oAC_owner = new YAHOO.widget.AutoComplete("user", "owner_container", oDS);
122 var oAC_owner = new YAHOO.widget.AutoComplete("user", "owner_container", oDS);
123 oAC_owner.useShadow = false;
123 oAC_owner.useShadow = false;
124 oAC_owner.resultTypeList = false;
124 oAC_owner.resultTypeList = false;
125
125
126
126
127 // Custom formatter to highlight the matching letters
127 // Custom formatter to highlight the matching letters
128 var custom_formatter = function(oResultData, sQuery, sResultMatch) {
128 var custom_formatter = function(oResultData, sQuery, sResultMatch) {
129 var query = sQuery.toLowerCase(),
129 var query = sQuery.toLowerCase(),
130 fname = oResultData.fname,
130 fname = oResultData.fname,
131 lname = oResultData.lname,
131 lname = oResultData.lname,
132 nname = oResultData.nname || "", // Guard against null value
132 nname = oResultData.nname || "", // Guard against null value
133 query = sQuery.toLowerCase(),
133 query = sQuery.toLowerCase(),
134 fnameMatchIndex = fname.toLowerCase().indexOf(query),
134 fnameMatchIndex = fname.toLowerCase().indexOf(query),
135 lnameMatchIndex = lname.toLowerCase().indexOf(query),
135 lnameMatchIndex = lname.toLowerCase().indexOf(query),
136 nnameMatchIndex = nname.toLowerCase().indexOf(query),
136 nnameMatchIndex = nname.toLowerCase().indexOf(query),
137 displayfname, displaylname, displaynname;
137 displayfname, displaylname, displaynname;
138
138
139 if(fnameMatchIndex > -1) {
139 if(fnameMatchIndex > -1) {
140 displayfname = highlightMatch(fname, query, fnameMatchIndex);
140 displayfname = highlightMatch(fname, query, fnameMatchIndex);
141 }
141 }
142 else {
142 else {
143 displayfname = fname;
143 displayfname = fname;
144 }
144 }
145
145
146 if(lnameMatchIndex > -1) {
146 if(lnameMatchIndex > -1) {
147 displaylname = highlightMatch(lname, query, lnameMatchIndex);
147 displaylname = highlightMatch(lname, query, lnameMatchIndex);
148 }
148 }
149 else {
149 else {
150 displaylname = lname;
150 displaylname = lname;
151 }
151 }
152
152
153 if(nnameMatchIndex > -1) {
153 if(nnameMatchIndex > -1) {
154 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
154 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
155 }
155 }
156 else {
156 else {
157 displaynname = nname ? "(" + nname + ")" : "";
157 displaynname = nname ? "(" + nname + ")" : "";
158 }
158 }
159
159
160 return displayfname + " " + displaylname + " " + displaynname;
160 return displayfname + " " + displaylname + " " + displaynname;
161
161
162 };
162 };
163 oAC_perms.formatResult = custom_formatter;
163 oAC_perms.formatResult = custom_formatter;
164 oAC_owner.formatResult = custom_formatter;
164 oAC_owner.formatResult = custom_formatter;
165
165
166 // Helper function for the formatter
166 // Helper function for the formatter
167 var highlightMatch = function(full, snippet, matchindex) {
167 var highlightMatch = function(full, snippet, matchindex) {
168 return full.substring(0, matchindex) +
168 return full.substring(0, matchindex) +
169 "<span class='match'>" +
169 "<span class='match'>" +
170 full.substr(matchindex, snippet.length) +
170 full.substr(matchindex, snippet.length) +
171 "</span>" +
171 "</span>" +
172 full.substring(matchindex + snippet.length);
172 full.substring(matchindex + snippet.length);
173 };
173 };
174
174
175 var myHandler = function(sType, aArgs) {
175 var myHandler = function(sType, aArgs) {
176 var myAC = aArgs[0]; // reference back to the AC instance
176 var myAC = aArgs[0]; // reference back to the AC instance
177 var elLI = aArgs[1]; // reference to the selected LI element
177 var elLI = aArgs[1]; // reference to the selected LI element
178 var oData = aArgs[2]; // object literal of selected item's result data
178 var oData = aArgs[2]; // object literal of selected item's result data
179 myAC.getInputEl().value = oData.nname;
179 myAC.getInputEl().value = oData.nname;
180 };
180 };
181
181
182 oAC_perms.itemSelectEvent.subscribe(myHandler);
182 oAC_perms.itemSelectEvent.subscribe(myHandler);
183 //oAC_owner.itemSelectEvent.subscribe(myHandler);
183 //oAC_owner.itemSelectEvent.subscribe(myHandler);
184
184
185 return {
185 return {
186 oDS: oDS,
186 oDS: oDS,
187 oAC_perms: oAC_perms,
187 oAC_perms: oAC_perms,
188 oAC_owner: oAC_owner,
188 oAC_owner: oAC_owner,
189 };
189 };
190 }();
190 }();
191
191
192 </script>
192 </script>
193 </div>
193 </div>
194 </div>
194 </div>
195 </%def>
195 </%def>
196
196
197
197
General Comments 0
You need to be logged in to leave comments. Login now