Mercurial > kallithea
diff pylons_app/templates/admin/repos/repo_edit.html @ 362:558eb7c5028f rhodecode-0.0.0.8.0
version bump to 0.8
hg app 0.8 new template.
Add yui flot and graph into summary page.
+ various tweeks and patches into look of application
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 24 Jul 2010 02:17:48 +0200 |
parents | cec5cbc956c0 |
children | 0f35fa0f4eb8 |
line wrap: on
line diff
--- a/pylons_app/templates/admin/repos/repo_edit.html Sat Jul 24 00:53:43 2010 +0200 +++ b/pylons_app/templates/admin/repos/repo_edit.html Sat Jul 24 02:17:48 2010 +0200 @@ -4,245 +4,271 @@ <%def name="title()"> ${_('Repositories administration')} </%def> -<%def name="breadcrumbs()"> - ${h.link_to(u'Admin',h.url('admin_home'))} - / - ${_('Repos')} + +<%def name="breadcrumbs_links()"> + ${h.link_to(_('Admin'),h.url('admin_home'))} + » + ${h.link_to(_('Repositories'),h.url('repos'))} + » + ${_('edit')} "${c.repo_name}" </%def> + <%def name="page_nav()"> ${self.menu('admin')} - ${self.submenu('repos')} </%def> + <%def name="main()"> - <div> - <h2>${_('Repositories')} - ${_('edit')} "${c.repo_name}"</h2> - ${h.form(url('repo', repo_name=c.repo_info.repo_name),method='put')} - <table> - <tr> - <td>${_('Name')}</td> - <td>${h.text('repo_name',size="28")}</td> - <td>${self.get_form_error('repo_name')}</td> - </tr> - <tr> - <td>${_('Description')}</td> - <td>${h.textarea('description',cols=32,rows=5)}</td> - <td>${self.get_form_error('description')}</td> - </tr> - <tr> - <td>${_('Private')}</td> - <td>${h.checkbox('private',value="True")}</td> - <td>${self.get_form_error('private')}</td> - </tr> - <tr> - <td>${_('Owner')}</td> - <td class='ac'> - <div class="perm_ac"> - ${h.text('user',class_='yui-ac-input')} - <div id="owner_container"></div> - </div> - </td> - <td>${self.get_form_error('user')}</td> - </tr> - <tr> - <td>${_('Permissions')}</td> - <td> - <table> - <tr> - <td>${_('none')}</td> - <td>${_('read')}</td> - <td>${_('write')}</td> - <td>${_('admin')}</td> - <td>${_('user')}</td> - </tr> - - %for r2p in c.repo_info.repo2perm: - %if r2p.user.username =='default' and c.repo_info.private: - <tr> - <td colspan="4"> - <span style="font-size: 0.8em">${_('disabled for private repository')}</span></td> - <td>${r2p.user.username}</td> - </tr> - %else: - <tr id="id${id(r2p.user.username)}"> - <td>${h.radio('perm_%s' % r2p.user.username,'repository.none')}</td> - <td>${h.radio('perm_%s' % r2p.user.username,'repository.read')}</td> - <td>${h.radio('perm_%s' % r2p.user.username,'repository.write')}</td> - <td>${h.radio('perm_%s' % r2p.user.username,'repository.admin')}</td> - <td>${r2p.user.username}</td> - <td> - %if r2p.user.username !='default': - <span class="delete_icon action_button" onclick="ajaxAction(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')"> - <script type="text/javascript"> - function ajaxAction(user_id,field_id){ - var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}"; - var callback = { success:function(o){ - var tr = YAHOO.util.Dom.get(String(field_id)); - tr.parentNode.removeChild(tr);}}; - var postData = '_method=delete&user_id='+user_id; - var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);}; - </script> - </span> - %endif - </td> - </tr> - %endif - %endfor - <% - if not hasattr(c,'form_errors'): - d = 'display:none;' - else: - d='' - %> +<div class="box"> + <!-- box / title --> + <div class="title"> + ${self.breadcrumbs()} + </div> + ${h.form(url('repo', repo_name=c.repo_info.repo_name),method='put')} + <div class="form"> + <!-- fields --> + <div class="fields"> + <div class="field"> + <div class="label"> + <label for="repo_name">${_('Name')}:</label> + </div> + <div class="input input-medium"> + ${h.text('repo_name')} + </div> + </div> + + <div class="field"> + <div class="label label-textarea"> + <label for="description">${_('Description')}:</label> + </div> + <div class="textarea text-area editor"> + ${h.textarea('description',cols=23,rows=5)} + </div> + </div> + + <div class="field"> + <div class="label label-checkbox"> + <label for="private">${_('Private')}:</label> + </div> + <div class="checkboxes"> + ${h.checkbox('private',value="True")} + </div> + </div> + + <div class="field"> + <div class="label label-checkbox"> + <label for="user">${_('Owner')}:</label> + </div> + <div class="input input-small ac"> + <div class="perm_ac"> + ${h.text('user',class_='yui-ac-input')} + <div id="owner_container"></div> + </div> + </div> + </div> + + <div class="field"> + <div class="label"> + <label for="input">${_('Permissions')}:</label> + </div> + <div class="input"> + <table id="permissions_manage"> + <tr> + <td>${_('none')}</td> + <td>${_('read')}</td> + <td>${_('write')}</td> + <td>${_('admin')}</td> + <td>${_('user')}</td> + <td></td> + </tr> + + %for r2p in c.repo_info.repo2perm: + %if r2p.user.username =='default' and c.repo_info.private: + <tr> + <td colspan="6"> + <span class="private_repo_msg"> + ${_('disabled for private repository')} + </span> + </td> + <td>${r2p.user.username}</td> + </tr> + %else: + <tr id="id${id(r2p.user.username)}"> + <td>${h.radio('perm_%s' % r2p.user.username,'repository.none')}</td> + <td>${h.radio('perm_%s' % r2p.user.username,'repository.read')}</td> + <td>${h.radio('perm_%s' % r2p.user.username,'repository.write')}</td> + <td>${h.radio('perm_%s' % r2p.user.username,'repository.admin')}</td> + <td>${r2p.user.username}</td> + <td> + %if r2p.user.username !='default': + <span class="delete_icon action_button" onclick="ajaxAction(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')"> + <script type="text/javascript"> + function ajaxAction(user_id,field_id){ + var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}"; + var callback = { success:function(o){ + var tr = YAHOO.util.Dom.get(String(field_id)); + tr.parentNode.removeChild(tr);}}; + var postData = '_method=delete&user_id='+user_id; + var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);}; + </script> + </span> + %endif + </td> + </tr> + %endif + %endfor - <tr id="add_perm_input" style="${d}"> - <td>${h.radio('perm_new_user','repository.none')}</td> - <td>${h.radio('perm_new_user','repository.read')}</td> - <td>${h.radio('perm_new_user','repository.write')}</td> - <td>${h.radio('perm_new_user','repository.admin')}</td> - <td class='ac'> - <div class="perm_ac" id="perm_ac"> - ${h.text('perm_new_user_name',class_='yui-ac-input')} - <div id="perm_container"></div> - </div> - </td> - <td>${self.get_form_error('perm_new_user_name')}</td> - </tr> - <tr> - <td colspan="4"> - <span id="add_perm" class="add_icon" style="cursor: pointer;"> - ${_('Add another user')} - </span> - </td> - </tr> - </table> - </td> - - </tr> - <tr> - <td></td> - <td>${h.submit('update','update')}</td> - </tr> - - </table> - ${h.end_form()} + <tr id="add_perm_input" > + <td>${h.radio('perm_new_user','repository.none')}</td> + <td>${h.radio('perm_new_user','repository.read')}</td> + <td>${h.radio('perm_new_user','repository.write')}</td> + <td>${h.radio('perm_new_user','repository.admin')}</td> + <td class='ac'> + <div class="perm_ac" id="perm_ac"> + ${h.text('perm_new_user_name',class_='yui-ac-input')} + <div id="perm_container"></div> + </div> + </td> + <td></td> + </tr> + <tr> + <td colspan="6"> + <span id="add_perm" class="add_icon" style="cursor: pointer;"> + ${_('Add another user')} + </span> + </td> + </tr> + </table> + </div> + + <div class="buttons"> + ${h.submit('save','save',class_="ui-button ui-widget ui-state-default ui-corner-all")} + </div> + </div> + </div> + </div> + ${h.end_form()} <script type="text/javascript"> - YAHOO.util.Event.onDOMReady(function(){ - var D = YAHOO.util.Dom; - YAHOO.util.Event.addListener('add_perm','click',function(){ - D.setStyle('add_perm_input','display',''); - D.setStyle('add_perm','opacity','0.6'); - D.setStyle('add_perm','cursor','default'); - }); + YAHOO.util.Event.onDOMReady(function(){ + var D = YAHOO.util.Dom; + if(!D.hasClass('perm_new_user_name','error')){ + D.setStyle('add_perm_input','display','none'); + } + YAHOO.util.Event.addListener('add_perm','click',function(){ + D.setStyle('add_perm_input','display',''); + D.setStyle('add_perm','opacity','0.6'); + D.setStyle('add_perm','cursor','default'); + }); }); </script> - <script type="text/javascript"> - YAHOO.example.FnMultipleFields = function(){ - var myContacts = ${c.users_array|n} - - // Define a custom search function for the DataSource - var matchNames = function(sQuery) { - // Case insensitive matching - var query = sQuery.toLowerCase(), - contact, - i=0, - l=myContacts.length, - matches = []; - - // Match against each name of each contact - for(; i<l; i++) { - contact = myContacts[i]; - if((contact.fname.toLowerCase().indexOf(query) > -1) || - (contact.lname.toLowerCase().indexOf(query) > -1) || - (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) { - matches[matches.length] = contact; - } - } - - return matches; - }; - - // Use a FunctionDataSource - var oDS = new YAHOO.util.FunctionDataSource(matchNames); - oDS.responseSchema = { - fields: ["id", "fname", "lname", "nname"] - } - - // Instantiate AutoComplete for perms - var oAC_perms = new YAHOO.widget.AutoComplete("perm_new_user_name", "perm_container", oDS); - oAC_perms.useShadow = false; - oAC_perms.resultTypeList = false; - - // Instantiate AutoComplete for owner - var oAC_owner = new YAHOO.widget.AutoComplete("user", "owner_container", oDS); - oAC_owner.useShadow = false; - oAC_owner.resultTypeList = false; - - - // Custom formatter to highlight the matching letters - var custom_formatter = function(oResultData, sQuery, sResultMatch) { - var query = sQuery.toLowerCase(), - fname = oResultData.fname, - lname = oResultData.lname, - nname = oResultData.nname || "", // Guard against null value - query = sQuery.toLowerCase(), - fnameMatchIndex = fname.toLowerCase().indexOf(query), - lnameMatchIndex = lname.toLowerCase().indexOf(query), - nnameMatchIndex = nname.toLowerCase().indexOf(query), - displayfname, displaylname, displaynname; - - if(fnameMatchIndex > -1) { - displayfname = highlightMatch(fname, query, fnameMatchIndex); - } - else { - displayfname = fname; - } - - if(lnameMatchIndex > -1) { - displaylname = highlightMatch(lname, query, lnameMatchIndex); - } - else { - displaylname = lname; - } - - if(nnameMatchIndex > -1) { - displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")"; - } - else { - displaynname = nname ? "(" + nname + ")" : ""; - } - - return displayfname + " " + displaylname + " " + displaynname; - - }; - oAC_perms.formatResult = custom_formatter; - oAC_owner.formatResult = custom_formatter; - - // Helper function for the formatter - var highlightMatch = function(full, snippet, matchindex) { - return full.substring(0, matchindex) + - "<span class='match'>" + - full.substr(matchindex, snippet.length) + - "</span>" + - full.substring(matchindex + snippet.length); - }; - - var myHandler = function(sType, aArgs) { - var myAC = aArgs[0]; // reference back to the AC instance - var elLI = aArgs[1]; // reference to the selected LI element - var oData = aArgs[2]; // object literal of selected item's result data - myAC.getInputEl().value = oData.nname; - }; + <script type="text/javascript"> + YAHOO.example.FnMultipleFields = function(){ + var myContacts = ${c.users_array|n} + + // Define a custom search function for the DataSource + var matchNames = function(sQuery) { + // Case insensitive matching + var query = sQuery.toLowerCase(), + contact, + i=0, + l=myContacts.length, + matches = []; + + // Match against each name of each contact + for(; i<l; i++) { + contact = myContacts[i]; + if((contact.fname.toLowerCase().indexOf(query) > -1) || + (contact.lname.toLowerCase().indexOf(query) > -1) || + (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) { + matches[matches.length] = contact; + } + } + + return matches; + }; + + // Use a FunctionDataSource + var oDS = new YAHOO.util.FunctionDataSource(matchNames); + oDS.responseSchema = { + fields: ["id", "fname", "lname", "nname"] + } + + // Instantiate AutoComplete for perms + var oAC_perms = new YAHOO.widget.AutoComplete("perm_new_user_name", "perm_container", oDS); + oAC_perms.useShadow = false; + oAC_perms.resultTypeList = false; + + // Instantiate AutoComplete for owner + var oAC_owner = new YAHOO.widget.AutoComplete("user", "owner_container", oDS); + oAC_owner.useShadow = false; + oAC_owner.resultTypeList = false; + + + // Custom formatter to highlight the matching letters + var custom_formatter = function(oResultData, sQuery, sResultMatch) { + var query = sQuery.toLowerCase(), + fname = oResultData.fname, + lname = oResultData.lname, + nname = oResultData.nname || "", // Guard against null value + query = sQuery.toLowerCase(), + fnameMatchIndex = fname.toLowerCase().indexOf(query), + lnameMatchIndex = lname.toLowerCase().indexOf(query), + nnameMatchIndex = nname.toLowerCase().indexOf(query), + displayfname, displaylname, displaynname; + + if(fnameMatchIndex > -1) { + displayfname = highlightMatch(fname, query, fnameMatchIndex); + } + else { + displayfname = fname; + } + + if(lnameMatchIndex > -1) { + displaylname = highlightMatch(lname, query, lnameMatchIndex); + } + else { + displaylname = lname; + } + + if(nnameMatchIndex > -1) { + displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")"; + } + else { + displaynname = nname ? "(" + nname + ")" : ""; + } + + return displayfname + " " + displaylname + " " + displaynname; + + }; + oAC_perms.formatResult = custom_formatter; + oAC_owner.formatResult = custom_formatter; + + // Helper function for the formatter + var highlightMatch = function(full, snippet, matchindex) { + return full.substring(0, matchindex) + + "<span class='match'>" + + full.substr(matchindex, snippet.length) + + "</span>" + + full.substring(matchindex + snippet.length); + }; + + var myHandler = function(sType, aArgs) { + var myAC = aArgs[0]; // reference back to the AC instance + var elLI = aArgs[1]; // reference to the selected LI element + var oData = aArgs[2]; // object literal of selected item's result data + myAC.getInputEl().value = oData.nname; + }; - oAC_perms.itemSelectEvent.subscribe(myHandler); - oAC_owner.itemSelectEvent.subscribe(myHandler); - - return { - oDS: oDS, - oAC_perms: oAC_perms, - oAC_owner: oAC_owner, - }; - }(); - - </script> - </div> -</%def> + oAC_perms.itemSelectEvent.subscribe(myHandler); + oAC_owner.itemSelectEvent.subscribe(myHandler); + + return { + oDS: oDS, + oAC_perms: oAC_perms, + oAC_owner: oAC_owner, + }; + }(); + + </script> + +</div> +</%def> \ No newline at end of file