view rhodecode/templates/admin/users/user_edit_my_account.html @ 1045:3fc9183e05dd beta

another major codes rewrite: - created BaseRepo controller for all repo specific controller, and added common data propagation - removed obosete codes, and made optimizations, removed to often calls to RepoModel - fixed found bugs in files controller that generated unhandled 500 errors - cache issues - removed repo_branches global template values - journal fixes - main repo list is fully dict now it's less resource heavy that way
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 15 Feb 2011 01:36:07 +0100
parents 5554aa9c2480
children 90eadff2c2a8
line wrap: on
line source

## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${_('My account')} ${c.rhodecode_user.username} - ${c.rhodecode_name}
</%def>

<%def name="breadcrumbs_links()">
    ${_('My Account')}
</%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 -->
    <div>
    ${h.form(url('admin_settings_my_account_update'),method='put')}
	    <div class="form">
	    
             <div class="field">
                <div class="gravatar_box">
                    <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/></div>
                    <p>
                    <strong>Change your avatar at <a href="http://gravatar.com">gravatar.com</a></strong><br/> 
                    ${_('Using')} ${c.user.email}
                    </p>
                </div>
             </div>   	    
	    
	        <div class="fields">
	             <div class="field">
	                <div class="label">
	                    <label for="username">${_('Username')}:</label>
	                </div>
	                <div class="input">
	                    ${h.text('username',class_="medium")}
	                </div>
	             </div>
	            
	             <div class="field">
	                <div class="label">
	                    <label for="new_password">${_('New password')}:</label>
	                </div>
	                <div class="input">
	                    ${h.password('new_password',class_="medium")}
	                </div>
	             </div>
	            
	             <div class="field">
	                <div class="label">
	                    <label for="name">${_('First Name')}:</label>
	                </div>
	                <div class="input">
	                    ${h.text('name',class_="medium")}
	                </div>
	             </div>
	            
	             <div class="field">
	                <div class="label">
	                    <label for="lastname">${_('Last Name')}:</label>
	                </div>
	                <div class="input">
	                    ${h.text('lastname',class_="medium")}
	                </div>
	             </div>
	            
	             <div class="field">
	                <div class="label">
	                    <label for="email">${_('Email')}:</label>
	                </div>
	                <div class="input">
	                    ${h.text('email',class_="medium")}
	                </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>
</div>    

<div class="box box-right">
    <!-- box / title -->
    <div class="title">
        <h5>${_('My repositories')} 
        <input class="top-right-rounded-corner top-left-rounded-corner bottom-left-rounded-corner bottom-right-rounded-corner" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
        </h5>
         %if h.HasPermissionAny('hg.admin','hg.create.repository')():
         <ul class="links">
           <li>
             <span>${h.link_to(_('ADD REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
           </li>          
         </ul>           
         %endif        
    </div>
    <!-- end box / title -->
    <div class="table">
	    <table>
	    <thead>
            <tr>
            <th class="left">${_('Name')}</th>
            <th class="left">${_('revision')}</th>
            <th colspan="2" class="left">${_('action')}</th>            
	    </thead>
	     <tbody>
	     %if c.user_repos:
		     %for repo in c.user_repos:
		        <tr>
		            <td>
                     %if repo['dbrepo']['repo_type'] =='hg':
                       <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="/images/icons/hgicon.png"/>
                     %elif repo['dbrepo']['repo_type'] =='git':
                       <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="/images/icons/giticon.png"/>
                     %else:
                       
                     %endif 		            
		             %if repo['dbrepo']['private']:
		                <img class="icon" alt="${_('private')}" src="/images/icons/lock.png"/>
		             %else:
		                <img class="icon" alt="${_('public')}" src="/images/icons/lock_open.png"/>
		             %endif
		                                             
		            ${h.link_to(repo['repo'].name, h.url('summary_home',repo_name=repo['repo'].name),class_="repo_name")}
		            %if repo['dbrepo_fork']:
		            	<a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
		            	<img class="icon" alt="${_('public')}"
		            	title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}" 
		            	src="/images/icons/arrow_divide.png"/></a>
		            %endif		            
		            </td> 
		            <td><span class="tooltip" title="${repo['repo'].last_change}">${("r%s:%s") % (h.get_changeset_safe(repo['repo'],'tip').revision,h.short_id(h.get_changeset_safe(repo['repo'],'tip').raw_id))}</span></td>
		            <td><a href="${h.url('repo_settings_home',repo_name=repo['repo'].name)}" title="${_('edit')}"><img class="icon" alt="${_('private')}" src="/images/icons/application_form_edit.png"/></a></td>
		            <td>
	                  ${h.form(url('repo_settings_delete', repo_name=repo['repo'].name),method='delete')}
	                    ${h.submit('remove_%s' % repo['repo'].name,'',class_="delete_icon action_button",onclick="return confirm('Confirm to delete this repository');")}
	                  ${h.end_form()}	            
		            </td>
		        </tr>
		     %endfor
	     %else:
	     	${_('No repositories yet')} 
	     	%if h.HasPermissionAny('hg.admin','hg.create.repository')():
	     		${h.link_to(_('create one now'),h.url('admin_settings_create_repository'))}
	     	%endif
	     %endif
	     </tbody>
	     </table>
    </div>
    
</div>
    <script type="text/javascript">
     var D = YAHOO.util.Dom;
     var E = YAHOO.util.Event;
     var S = YAHOO.util.Selector;
     
     var q_filter = D.get('q_filter');
     var F = YAHOO.namespace('q_filter'); 
     
     E.on(q_filter,'click',function(){
        q_filter.value = '';
     });

     F.filterTimeout = null;
     
     F.updateFilter  = function() { 
        // Reset timeout 
        F.filterTimeout = null;
        
        var obsolete = [];
        var nodes = S.query('div.table tr td a.repo_name');
        var req = D.get('q_filter').value;
        for (n in nodes){
            D.setStyle(nodes[n].parentNode.parentNode,'display','')
        }
        if (req){
            for (n in nodes){
                if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) {
                    obsolete.push(nodes[n]); 
                }
            }
            if(obsolete){
                for (n in obsolete){
                    D.setStyle(obsolete[n].parentNode.parentNode,'display','none');
                }
            }
        }
     }
     
     E.on(q_filter,'keyup',function(e){
         clearTimeout(F.filterTimeout); 
         setTimeout(F.updateFilter,600); 
     });
     
    </script>
</%def>