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