Mercurial > kallithea
view rhodecode/templates/admin/users_groups/users_group_edit.html @ 1865:37b3c3244bbc beta
UI fixes
- added expandable commits messages
- ui fixes, icons/graph
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 09 Jan 2012 03:46:56 +0200 |
parents | b702d0d4b030 |
children | f91d3f9b7230 |
line wrap: on
line source
## -*- coding: utf-8 -*- <%inherit file="/base/base.html"/> <%def name="title()"> ${_('Edit users group')} ${c.users_group.users_group_name} - ${c.rhodecode_name} </%def> <%def name="breadcrumbs_links()"> ${h.link_to(_('Admin'),h.url('admin_home'))} » ${h.link_to(_('UsersGroups'),h.url('users_groups'))} » ${_('edit')} "${c.users_group.users_group_name}" </%def> <%def name="page_nav()"> ${self.menu('admin')} </%def> <%def name="main()"> <div class="box box-left"> <!-- box / title --> <div class="title"> ${self.breadcrumbs()} </div> <!-- end box / title --> ${h.form(url('users_group', id=c.users_group.users_group_id),method='put', id='edit_users_group')} <div class="form"> <!-- fields --> <div class="fields"> <div class="field"> <div class="label"> <label for="users_group_name">${_('Group name')}:</label> </div> <div class="input"> ${h.text('users_group_name',class_='small')} </div> </div> <div class="field"> <div class="label label-checkbox"> <label for="users_group_active">${_('Active')}:</label> </div> <div class="checkboxes"> ${h.checkbox('users_group_active',value=True)} </div> </div> <div class="field"> <div class="label"> <label for="users_group_active">${_('Members')}:</label> </div> <div class="select"> <table> <tr> <td> <div> <div style="float:left"> <div class="text" style="padding: 0px 0px 6px;">${_('Choosen group members')}</div> ${h.select('users_group_members',[x[0] for x in c.group_members],c.group_members,multiple=True,size=8,style="min-width:210px")} <div id="remove_all_elements" style="cursor:pointer;text-align:center"> ${_('Remove all elements')} <img alt="remove" style="vertical-align:text-bottom" src="${h.url('/images/icons/arrow_right.png')}"/> </div> </div> <div style="float:left;width:20px;padding-top:50px"> <img alt="add" id="add_element" style="padding:2px;cursor:pointer" src="${h.url('/images/icons/arrow_left.png')}"/> <br /> <img alt="remove" id="remove_element" style="padding:2px;cursor:pointer" src="${h.url('/images/icons/arrow_right.png')}"/> </div> <div style="float:left"> <div class="text" style="padding: 0px 0px 6px;">${_('Available members')}</div> ${h.select('available_members',[],c.available_members,multiple=True,size=8,style="min-width:210px")} <div id="add_all_elements" style="cursor:pointer;text-align:center"> <img alt="add" style="vertical-align:text-bottom" src="${h.url('/images/icons/arrow_left.png')}"/> ${_('Add all elements')} </div> </div> </div> </td> </tr> </table> </div> </div> <div class="buttons"> ${h.submit('save',_('save'),class_="ui-button")} </div> </div> </div> ${h.end_form()} </div> <script type="text/javascript"> YAHOO.util.Event.onDOMReady(function(){ var D = YAHOO.util.Dom; var E = YAHOO.util.Event; //definition of containers ID's var available_container = 'available_members'; var selected_container = 'users_group_members'; //form containing containers id var form_id = 'edit_users_group'; //temp container for selected storage. var cache = new Array(); var av_cache = new Array(); var c = D.get(selected_container); var ac = D.get(available_container); //get only selected options for further fullfilment for(var i = 0;node =c.options[i];i++){ if(node.selected){ //push selected to my temp storage left overs :) cache.push(node); } } //clear 'selected' select //c.options.length = 0; //fill it with remembered options //for(var i = 0;node = cache[i];i++){ // c.options[i]=new Option(node.text, node.value, false, false); //} //get all available options to cache for(var i = 0;node =ac.options[i];i++){ //push selected to my temp storage left overs :) av_cache.push(node); } //fill available only with those not in choosen ac.options.length=0; tmp_cache = new Array(); for(var i = 0;node = av_cache[i];i++){ var add = true; for(var i2 = 0;node_2 = cache[i2];i2++){ if(node.value == node_2.value){ add=false; break; } } if(add){ tmp_cache.push(new Option(node.text, node.value, false, false)); } } for(var i = 0;node = tmp_cache[i];i++){ ac.options[i] = node; } function prompts_action_callback(e){ var choosen = D.get(selected_container); var available = D.get(available_container); //get checked and unchecked options from field function get_checked(from_field){ //temp container for storage. var sel_cache = new Array(); var oth_cache = new Array(); for(var i = 0;node = from_field.options[i];i++){ if(node.selected){ //push selected fields :) sel_cache.push(node); } else{ oth_cache.push(node) } } return [sel_cache,oth_cache] } //fill the field with given options function fill_with(field,options){ //clear firtst field.options.length=0; for(var i = 0;node = options[i];i++){ field.options[i]=new Option(node.text, node.value, false, false); } } //adds to current field function add_to(field,options){ for(var i = 0;node = options[i];i++){ field.appendChild(new Option(node.text, node.value, false, false)); } } // add action if (this.id=='add_element'){ var c = get_checked(available); add_to(choosen,c[0]); fill_with(available,c[1]); } // remove action if (this.id=='remove_element'){ var c = get_checked(choosen); add_to(available,c[0]); fill_with(choosen,c[1]); } // add all elements if(this.id=='add_all_elements'){ for(var i=0; node = available.options[i];i++){ choosen.appendChild(new Option(node.text, node.value, false, false)); } available.options.length = 0; } //remove all elements if(this.id=='remove_all_elements'){ for(var i=0; node = choosen.options[i];i++){ available.appendChild(new Option(node.text, node.value, false, false)); } choosen.options.length = 0; } } E.addListener(['add_element','remove_element', 'add_all_elements','remove_all_elements'],'click', prompts_action_callback) E.addListener(form_id,'submit',function(){ var choosen = D.get(selected_container); for (var i = 0; i < choosen.options.length; i++) { choosen.options[i].selected = 'selected'; } }) }); </script> <div class="box box-right"> <!-- box / title --> <div class="title"> <h5>${_('Permissions')}</h5> </div> ${h.form(url('users_group_perm', id=c.users_group.users_group_id), method='put')} <div class="form"> <!-- fields --> <div class="fields"> <div class="field"> <div class="label label-checkbox"> <label for="create_repo_perm">${_('Create repositories')}:</label> </div> <div class="checkboxes"> ${h.checkbox('create_repo_perm',value=True)} </div> </div> <div class="buttons"> ${h.submit('save',_('Save'),class_="ui-button")} ${h.reset('reset',_('Reset'),class_="ui-button")} </div> </div> </div> ${h.end_form()} </div> </%def>