Files @ 9c0f5d558789
Branch filter:

Location: kallithea/rhodecode/templates/admin/users/user_edit_my_account.html

Marcin Kuzminski
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
to db repository instance, and then fetched from cache. Also made all current test work.
## -*- 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="field">
	            <div class="label">
	                <label>${_('API key')}</label> ${c.user.api_key}
	            </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",autocomplete="off")}
	                </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="${h.url("/images/icons/hgicon.png")}"/>
                     %elif repo['dbrepo']['repo_type'] =='git':
                       <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/>
                     %else:
                       
                     %endif 		            
		             %if repo['dbrepo']['private']:
		                <img class="icon" alt="${_('private')}" src="${h.url("/images/icons/lock.png")}"/>
		             %else:
		                <img class="icon" alt="${_('public')}" src="${h.url("/images/icons/lock_open.png")}"/>
		             %endif
		                                             
		            ${h.link_to(repo['name'], h.url('summary_home',repo_name=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="${h.url("/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['name'])}" title="${_('edit')}"><img class="icon" alt="${_('private')}" src="${h.url("/images/icons/application_form_edit.png")}"/></a></td>
		            <td>
	                  ${h.form(url('repo_settings_delete', repo_name=repo['name']),method='delete')}
	                    ${h.submit('remove_%s' % 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 = q_filter.value.toLowerCase();
        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>