changeset 1157:41241617a7a3 beta

rewrote templates, all small pages will inherit from root for easier changes and controll
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 18 Mar 2011 23:44:27 +0100
parents c9a9e0b3baf8
children f63cc1cbce27
files rhodecode/templates/base/base.html rhodecode/templates/base/root.html rhodecode/templates/login.html rhodecode/templates/password_reset.html rhodecode/templates/register.html
diffstat 5 files changed, 405 insertions(+), 406 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/templates/base/base.html	Fri Mar 18 22:24:42 2011 +0100
+++ b/rhodecode/templates/base/base.html	Fri Mar 18 23:44:27 2011 +0100
@@ -1,119 +1,105 @@
 ## -*- coding: utf-8 -*-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-    <title>${next.title()}</title>
-    <link rel="icon" href="${h.url('/images/icons/database_gear.png')}" type="image/png" />
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-    <meta name="robots" content="index, nofollow"/>
-    <!-- stylesheets -->
-    ${self.css()}
-    <!-- scripts -->
-    ${self.js()}
-	%if c.ga_code:
-	<script type="text/javascript">
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', '${c.ga_code}']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	</script>
-	%endif
-</head>
-<body>
-    <!-- header -->
-    <div id="header">
-        <!-- user -->
-        <ul id="logged-user">
-	            <li class="first">
-	                <div class="gravatar">
-	                    <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,20)}" />
-	                </div>
-		            <div class="account">
-		            %if c.rhodecode_user.username == 'default':
-		                <a href="${h.url('public_journal')}">${_('Public journal')}</a>   
-                    %else:                        		            
-		            	${h.link_to(c.rhodecode_user.username,h.url('admin_settings_my_account'),title='%s %s'%(c.rhodecode_user.name,c.rhodecode_user.lastname))}
-		            %endif
-		            </div>	
-	            </li>
-	            <li>
-	               <a href="${h.url('home')}">${_('Home')}</a>
-	            </li>
-	            %if c.rhodecode_user.username != 'default':
-                <li>
-                   <a href="${h.url('journal')}">${_('Journal')}</a> 
-                   ##(${c.unread_journal})</a>
-                </li>
-                %endif
-                %if c.rhodecode_user.username == 'default':
-                    <li class="last highlight">${h.link_to(u'Login',h.url('login_home'))}</li>
-                %else:
-                    <li class="last highlight">${h.link_to(u'Log Out',h.url('logout_home'))}</li>
-                %endif
+<%inherit file="root.html"/>
+
+<!-- HEADER -->
+<div id="header">
+    <!-- user -->
+    <ul id="logged-user">
+         <li class="first">
+             <div class="gravatar">
+                 <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,20)}" />
+             </div>
+          <div class="account">
+          %if c.rhodecode_user.username == 'default':
+              <a href="${h.url('public_journal')}">${_('Public journal')}</a>   
+          %else:                        		            
+          	${h.link_to(c.rhodecode_user.username,h.url('admin_settings_my_account'),title='%s %s'%(c.rhodecode_user.name,c.rhodecode_user.lastname))}
+          %endif
+          </div>	
+         </li>
+         <li>
+            <a href="${h.url('home')}">${_('Home')}</a>
+         </li>
+         %if c.rhodecode_user.username != 'default':
+            <li>
+               <a href="${h.url('journal')}">${_('Journal')}</a> 
+               ##(${c.unread_journal}
+            </li>
+            %endif
+            %if c.rhodecode_user.username == 'default':
+                <li class="last highlight">${h.link_to(u'Login',h.url('login_home'))}</li>
+            %else:
+                <li class="last highlight">${h.link_to(u'Log Out',h.url('logout_home'))}</li>
+            %endif
+    </ul>
+    <!-- end user -->
+    <div id="header-inner" class="title top-left-rounded-corner top-right-rounded-corner">
+        <div id="logo">
+            <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1>
+        </div>
+        <!-- MENU -->
+        ${self.page_nav()}
+        <!-- END MENU -->
+        ${self.body()}
+    </div>
+</div>     
+<!-- END HEADER -->
+    
+<!-- CONTENT -->
+<div id="content"> 
+    <div class="flash_msg">
+        <% messages = h.flash.pop_messages() %>
+        % if messages:
+        <ul id="flash-messages">
+            % for message in messages:
+            <li class="${message.category}_msg">${message}</li>
+            % endfor
         </ul>
-        <!-- end user -->
-        <div id="header-inner" class="title top-left-rounded-corner top-right-rounded-corner">
-            <!-- logo -->
-            <div id="logo">
-                <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1>
-            </div>
-            <!-- end logo -->
-            <!-- menu -->
-            ${self.page_nav()}
-            <!-- quick -->
-        </div>
-    </div>     
-    <!-- end header -->
-    
-	<!-- CONTENT -->
-	<div id="content"> 
-        <div class="flash_msg">
-            <% messages = h.flash.pop_messages() %>
-            % if messages:
-            <ul id="flash-messages">
-                % for message in messages:
-                <li class="${message.category}_msg">${message}</li>
-                % endfor
-            </ul>
-            % endif
-        </div>	    
-	    <div id="main"> 
-	        ${next.main()}
-	    </div>
-	</div> 
-    <!-- END CONTENT -->
+        % endif
+    </div>	    
+    <div id="main"> 
+        ${next.main()}
+    </div>
+</div> 
+<!-- END CONTENT -->
 
-	<!-- footer -->
-	<div id="footer">
-	   <div id="footer-inner" class="title bottom-left-rounded-corner bottom-right-rounded-corner">
-	       <div>
-	           <p class="footer-link">${h.link_to(_('Submit a bug'),h.url('bugtracker'))}</p>
-		       <p class="footer-link">${h.link_to(_('GPL license'),h.url('gpl_license'))}</p>
-		       <p class="footer-link-right"><a href="${h.url('rhodecode_official')}">RhodeCode</a> ${c.rhodecode_version} &copy; 2010-2011 by Marcin Kuzminski</p>
-	       </div>
-	   </div>
-        <script type="text/javascript">
-        function tooltip_activate(){
-        ${h.tooltip.activate()}
-        }
-        tooltip_activate();
-        </script>
-	</div>
-	<!-- end footer -->
-</body>
+<!-- FOOTER -->
+<div id="footer">
+   <div id="footer-inner" class="title bottom-left-rounded-corner bottom-right-rounded-corner">
+       <div>
+           <p class="footer-link">
+                <a href="${h.url('bugtracker')}">${_('Submit a bug')}</a>
+           </p>
+	       <p class="footer-link">
+	           <a href="${h.url('gpl_license')}">${_('GPL license')}</a>
+	       </p>
+	       <p class="footer-link-right">
+	           <a href="${h.url('rhodecode_official')}">RhodeCode</a> 
+	           ${c.rhodecode_version} &copy; 2010-${h.datetime.today().year} by Marcin Kuzminski
+	       </p>
+       </div>
+   </div>
+   <script type="text/javascript">
+   function tooltip_activate(){
+	    ${h.tooltip.activate()}
+   }
+   tooltip_activate();
+   </script>
+</div>
+<!-- END FOOTER -->
 
-</html>
+### MAKO DEFS ###
+<%def name="page_nav()">
+    ${self.menu()}
+</%def>
 
-### MAKO DEFS ### 
-<%def name="page_nav()">
-	${self.menu()}
+<%def name="breadcrumbs()">
+    <div class="breadcrumbs">
+    ${self.breadcrumbs_links()}
+    </div>
 </%def>
 
+
 <%def name="menu(current=None)">
 		<% 
 		def is_current(selected):
@@ -314,89 +300,4 @@
 				%endif
 			</ul>
 		%endif    
-</%def>
-
-
-<%def name="css()">
-<link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen" />
-<link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css')}"  />
-<link rel="stylesheet" type="text/css" href="${h.url('/css/diff.css')}"  />
-</%def>
-
-<%def name="js()">
-##<script type="text/javascript" src="${h.url('/js/yui/utilities/utilities.js')}"></script>
-##<script type="text/javascript" src="${h.url('/js/yui/container/container.js')}"></script>
-##<script type="text/javascript" src="${h.url('/js/yui/datasource/datasource.js')}"></script>
-##<script type="text/javascript" src="${h.url('/js/yui/autocomplete/autocomplete.js')}"></script>
-##<script type="text/javascript" src="${h.url('/js/yui/selector/selector-min.js')}"></script>
-
-<script type="text/javascript" src="${h.url('/js/yui2a.js')}"></script>
-<!--[if IE]><script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script><![endif]-->
-<script type="text/javascript" src="${h.url('/js/yui.flot.js')}"></script>
-
-<script type="text/javascript">
-var base_url  = "${h.url('toggle_following')}";
-var YUC = YAHOO.util.Connect;
-var YUD = YAHOO.util.Dom;
-var YUE = YAHOO.util.Event;
-
-function onSuccess(target){
-	
-	var f = YUD.get(target.id);
-	var f_cnt = YUD.get('current_followers_count');
-	
-    if(f.getAttribute('class')=='follow'){
-        f.setAttribute('class','following');
-        f.setAttribute('title',"${_('Stop following this repository')}");
-        
-        if(f_cnt){
-            var cnt = Number(f_cnt.innerHTML)+1;
-            f_cnt.innerHTML = cnt;
-        }
-        
-    }
-    else{
-        f.setAttribute('class','follow');
-        f.setAttribute('title',"${_('Start following this repository')}");
-        if(f_cnt){
-            var cnt = Number(f_cnt.innerHTML)+1;
-            f_cnt.innerHTML = cnt;
-        }      
-    }
-}
-
-function toggleFollowingUser(target,fallows_user_id,token,user_id){
-    args = 'follows_user_id='+fallows_user_id;
-    args+= '&amp;auth_token='+token;
-    if(user_id != undefined){
-    	args+="&amp;user_id="+user_id;
-    }
-    YUC.asyncRequest('POST',base_url,{
-        success:function(o){
-        	onSuccess(target);
-        }
-    },args); return false;
-}
-
-function toggleFollowingRepo(target,fallows_repo_id,token,user_id){
-
-    args = 'follows_repo_id='+fallows_repo_id;
-    args+= '&amp;auth_token='+token;
-    if(user_id != undefined){
-        args+="&amp;user_id="+user_id;
-    }    
-    YUC.asyncRequest('POST',base_url,{
-        success:function(o){
-        	onSuccess(target);
-        }
-    },args); return false;
-}    
-</script>
-
-</%def>
-
-<%def name="breadcrumbs()">
-    <div class="breadcrumbs">
-    ${self.breadcrumbs_links()}
-    </div>
 </%def>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/templates/base/root.html	Fri Mar 18 23:44:27 2011 +0100
@@ -0,0 +1,126 @@
+## -*- coding: utf-8 -*-
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <title>${self.title()}</title>
+        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+        <meta name="robots" content="index, nofollow"/>
+        <link rel="icon" href="${h.url("/images/icons/database_gear.png")}" type="image/png" />
+            
+        <!-- stylesheets -->
+        ${self.css()}
+        
+        %if c.ga_code:
+        <!-- Analytics -->
+	     <script type="text/javascript">
+	      var _gaq = _gaq || [];
+	      _gaq.push(['_setAccount', '${c.ga_code}']);
+	      _gaq.push(['_trackPageview']);
+	    
+	      (function() {
+	        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	      })();
+	     </script>
+	    %endif
+        
+        <!-- scripts -->
+        ${self.js()}
+
+    </head>
+    
+    <body id="body">
+        ${next.body()}
+    </body>
+    
+</html>
+
+<%def name="css()">
+    <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen" />
+	<link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css')}"  />
+    <link rel="stylesheet" type="text/css" href="${h.url('/css/diff.css')}"  />
+</%def>
+
+<%def name="js()">
+	<script type="text/javascript">
+	  if (typeof console == "undefined" || typeof console.log == "undefined")
+	    console = { log: function() {} }
+	</script>
+    
+ % if False:
+	<script type="text/javascript" src="${h.url('/js/yui/utilities/utilities.js')}"></script>
+	<script type="text/javascript" src="${h.url('/js/yui/container/container.js')}"></script>
+	<script type="text/javascript" src="${h.url('/js/yui/datasource/datasource.js')}"></script>
+	<script type="text/javascript" src="${h.url('/js/yui/autocomplete/autocomplete.js')}"></script>
+    <script type="text/javascript" src="${h.url('/js/yui/selector/selector-min.js')}"></script>
+ % else:
+	<script type="text/javascript" src="${h.url('/js/yui2a.js')}"></script>
+	<!--[if IE]>
+	<script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script>
+	<![endif]-->
+	<script type="text/javascript" src="${h.url('/js/yui.flot.js')}"></script>
+ % endif
+ 
+	<script type="text/javascript">
+		var YUC = YAHOO.util.Connect;
+		var YUD = YAHOO.util.Dom;
+		var YUE = YAHOO.util.Event;
+	</script>
+
+	<script type="text/javascript">
+	var base_url  = "${h.url('toggle_following')}";
+	function onSuccess(target){
+	    
+	    var f = YUD.get(target.id);
+	    var f_cnt = YUD.get('current_followers_count');
+	    
+	    if(f.getAttribute('class')=='follow'){
+	        f.setAttribute('class','following');
+	        f.setAttribute('title',"${_('Stop following this repository')}");
+	        
+	        if(f_cnt){
+	            var cnt = Number(f_cnt.innerHTML)+1;
+	            f_cnt.innerHTML = cnt;
+	        }
+	        
+	    }
+	    else{
+	        f.setAttribute('class','follow');
+	        f.setAttribute('title',"${_('Start following this repository')}");
+	        if(f_cnt){
+	            var cnt = Number(f_cnt.innerHTML)+1;
+	            f_cnt.innerHTML = cnt;
+	        }      
+	    }
+	}
+	
+	function toggleFollowingUser(target,fallows_user_id,token,user_id){
+	    args = 'follows_user_id='+fallows_user_id;
+	    args+= '&amp;auth_token='+token;
+	    if(user_id != undefined){
+	        args+="&amp;user_id="+user_id;
+	    }
+	    YUC.asyncRequest('POST',base_url,{
+	        success:function(o){
+	            onSuccess(target);
+	        }
+	    },args); return false;
+	}
+	
+	function toggleFollowingRepo(target,fallows_repo_id,token,user_id){
+	
+	    args = 'follows_repo_id='+fallows_repo_id;
+	    args+= '&amp;auth_token='+token;
+	    if(user_id != undefined){
+	        args+="&amp;user_id="+user_id;
+	    }    
+	    YUC.asyncRequest('POST',base_url,{
+	        success:function(o){
+	            onSuccess(target);
+	        }
+	    },args); return false;
+	}    
+	</script>
+
+</%def>
\ No newline at end of file
--- a/rhodecode/templates/login.html	Fri Mar 18 22:24:42 2011 +0100
+++ b/rhodecode/templates/login.html	Fri Mar 18 23:44:27 2011 +0100
@@ -1,82 +1,72 @@
 ## -*- coding: utf-8 -*-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-    <head>
-        <title>${_('Sign In')} - ${c.rhodecode_name}</title>
-        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-        <link rel="icon" href="${h.url("/images/icons/database_gear.png")}" type="image/png" />
-        <meta name="robots" content="index, nofollow"/>
-            
-        <!-- stylesheets -->
-        <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen" />
+<%inherit file="base/root.html"/>
+
+<%def name="title()">
+    ${_('Sign In')} - ${c.rhodecode_name}
+</%def>
 
-    </head>
-    <body>
-        <div id="login">
-        <div class="flash_msg">
-            <% messages = h.flash.pop_messages() %>
-            % if messages:
-            <ul id="flash-messages">
-                % for message in messages:
-                <li class="${message.category}_msg">${message}</li>
-                % endfor
-            </ul>
-            % endif
-        </div>          
-            <!-- login -->
-            <div class="title top-left-rounded-corner top-right-rounded-corner">
-                <h5>${_('Sign In to')} ${c.rhodecode_name}</h5>
-            </div>
-            <div class="inner">            
-                ${h.form(h.url.current(came_from=c.came_from))}
-                <div class="form">
-                    <!-- fields -->
+<div id="login">
+<div class="flash_msg">
+    <% messages = h.flash.pop_messages() %>
+    % if messages:
+    <ul id="flash-messages">
+        % for message in messages:
+        <li class="${message.category}_msg">${message}</li>
+        % endfor
+    </ul>
+    % endif
+</div>          
+    <!-- login -->
+    <div class="title top-left-rounded-corner top-right-rounded-corner">
+        <h5>${_('Sign In to')} ${c.rhodecode_name}</h5>
+    </div>
+    <div class="inner">            
+        ${h.form(h.url.current(came_from=c.came_from))}
+        <div class="form">
+            <!-- fields -->
 
-                    <div class="fields">
-                        <div class="field">
-                            <div class="label">
-                                <label for="username">${_('Username')}:</label>
-                            </div>
-                            <div class="input">
-                                ${h.text('username',class_='focus',size=40)}
-                            </div>
-                            
-                        </div>                     
-                        <div class="field">
-                            <div class="label">
-                                <label for="password">${_('Password')}:</label>
-                            </div>
-                            <div class="input">
-                                ${h.password('password',class_='focus',size=40)}
-                            </div>
-                            
-                        </div>
-                        ##<div class="field">
-                        ##    <div class="checkbox">
-                        ##        <input type="checkbox" id="remember" name="remember" />
-                        ##        <label for="remember">Remember me</label>
-                        ##    </div>
-                        ##</div>
-                        <div class="buttons">
-                            ${h.submit('sign_in','Sign In',class_="ui-button")}
-                        </div>
+            <div class="fields">
+                <div class="field">
+                    <div class="label">
+                        <label for="username">${_('Username')}:</label>
+                    </div>
+                    <div class="input">
+                        ${h.text('username',class_='focus',size=40)}
+                    </div>
+                    
+                </div>                     
+                <div class="field">
+                    <div class="label">
+                        <label for="password">${_('Password')}:</label>
+                    </div>
+                    <div class="input">
+                        ${h.password('password',class_='focus',size=40)}
                     </div>
-                    <!-- end fields -->
-                    <!-- links -->
-                    <div class="links">
-                        ${h.link_to(_('Forgot your password ?'),h.url('reset_password'))}
-                        %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
-	                         / 
-	                        ${h.link_to(_("Don't have an account ?"),h.url('register'))}
-                        %endif
-                    </div>
+                    
+                </div>
+                ##<div class="field">
+                ##    <div class="checkbox">
+                ##        <input type="checkbox" id="remember" name="remember" />
+                ##        <label for="remember">Remember me</label>
+                ##    </div>
+                ##</div>
+                <div class="buttons">
+                    ${h.submit('sign_in','Sign In',class_="ui-button")}
+                </div>
+            </div>
+            <!-- end fields -->
+            <!-- links -->
+            <div class="links">
+                ${h.link_to(_('Forgot your password ?'),h.url('reset_password'))}
+                %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
+                  / 
+                 ${h.link_to(_("Don't have an account ?"),h.url('register'))}
+                %endif
+            </div>
 
-                    <!-- end links -->
-                </div>
-                ${h.end_form()}
-            </div>
-            <!-- end login -->
+            <!-- end links -->
         </div>
-    </body>
-</html>
-
+        ${h.end_form()}
+    </div>
+    <!-- end login -->
+</div>
\ No newline at end of file
--- a/rhodecode/templates/password_reset.html	Fri Mar 18 22:24:42 2011 +0100
+++ b/rhodecode/templates/password_reset.html	Fri Mar 18 23:44:27 2011 +0100
@@ -1,48 +1,39 @@
 ## -*- coding: utf-8 -*-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-    <head>
-        <title>${_('Reset You password')} - ${c.rhodecode_name}</title>
-        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-        <link rel="icon" href="${h.url("/images/hgicon.png")}" type="image/png" />
-        <meta name="robots" content="index, nofollow"/>
-            
-        <!-- stylesheets -->
-        <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen" />
+<%inherit file="base/root.html"/>
+
+<%def name="title()">
+    ${_('Reset You password')} - ${c.rhodecode_name}
+</%def>
 
-    </head>
-    <body>
-		<div id="register">
-			
-			<div class="title top-left-rounded-corner top-right-rounded-corner">
-				<h5>${_('Reset You password to')} ${c.rhodecode_name}</h5>
-			</div>
-			<div class="inner">
-			    ${h.form(url('password_reset'))}
-			    <div class="form">
-			        <!-- fields -->
-			        <div class="fields">
-			            
-			             <div class="field">
-			                <div class="label">
-			                    <label for="email">${_('Email address')}:</label>
-			                </div>
-			                <div class="input">
-			                    ${h.text('email')}
-			                </div>
-			             </div>
-			                        
-			            <div class="buttons">
-				            <div class="nohighlight">
-				              ${h.submit('send','Reset my password',class_="ui-button")}
-							  	<div class="activation_msg">${_('Your new password will be send to matching email address')}</div>
-				            </div>
-			            </div>             
-			    	</div>
-			    </div>
-			    ${h.end_form()}
-			</div>    
+<div id="register">
+	
+	<div class="title top-left-rounded-corner top-right-rounded-corner">
+		<h5>${_('Reset You password to')} ${c.rhodecode_name}</h5>
+	</div>
+	<div class="inner">
+	    ${h.form(url('password_reset'))}
+	    <div class="form">
+	        <!-- fields -->
+	        <div class="fields">
+	            
+	             <div class="field">
+	                <div class="label">
+	                    <label for="email">${_('Email address')}:</label>
+	                </div>
+	                <div class="input">
+	                    ${h.text('email')}
+	                </div>
+	             </div>
+	                        
+	            <div class="buttons">
+		            <div class="nohighlight">
+		              ${h.submit('send','Reset my password',class_="ui-button")}
+					  	<div class="activation_msg">${_('Your new password will be send to matching email address')}</div>
+		            </div>
+	            </div>             
+	    	</div>
 	    </div>
-    </body>
-</html>
+	    ${h.end_form()}
+	</div>    
+   </div>
 
--- a/rhodecode/templates/register.html	Fri Mar 18 22:24:42 2011 +0100
+++ b/rhodecode/templates/register.html	Fri Mar 18 23:44:27 2011 +0100
@@ -1,96 +1,87 @@
 ## -*- coding: utf-8 -*-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-    <head>
-        <title>${_('Sign Up')} - ${c.rhodecode_name}</title>
-        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-        <link rel="icon" href="${h.url("/images/hgicon.png")}" type="image/png" />
-        <meta name="robots" content="index, nofollow"/>
-            
-        <!-- stylesheets -->
-        <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen" />
+<%inherit file="base/root.html"/>
 
-    </head>
-    <body>
-		<div id="register">
-			
-			<div class="title top-left-rounded-corner top-right-rounded-corner">
-				<h5>${_('Sign Up to')} ${c.rhodecode_name}</h5>
-			</div>
-			<div class="inner">
-			    ${h.form(url('register'))}
-			    <div class="form">
-			        <!-- fields -->
-			        <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="password">${_('Password')}:</label>
-			                </div>
-			                <div class="input">
-			                    ${h.password('password',class_="medium")}
-			                </div>
-			             </div>
-                         
-                         <div class="field">
-                            <div class="label">
-                                <label for="password">${_('Re-enter password')}:</label>
-                            </div>
-                            <div class="input">
-                                ${h.password('password_confirmation',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">
-				            <div class="nohighlight">
-				              ${h.submit('sign_up','Sign Up',class_="ui-button")}
-				              %if c.auto_active:
-							  	<div class="activation_msg">${_('Your account will be activated right after registration')}</div>
-							  %else:
-							  	<div class="activation_msg">${_('Your account must wait for activation by administrator')}</div>
-							  %endif
-				            </div>
-			            </div>             
-			    	</div>
-			    </div>
-			    ${h.end_form()}
-			</div>    
+<%def name="title()">
+    ${_('Sign Up')} - ${c.rhodecode_name}
+</%def>
+    
+<div id="register">
+	
+	<div class="title top-left-rounded-corner top-right-rounded-corner">
+		<h5>${_('Sign Up to')} ${c.rhodecode_name}</h5>
+	</div>
+	<div class="inner">
+	    ${h.form(url('register'))}
+	    <div class="form">
+	        <!-- fields -->
+	        <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="password">${_('Password')}:</label>
+	                </div>
+	                <div class="input">
+	                    ${h.password('password',class_="medium")}
+	                </div>
+	             </div>
+                       
+                       <div class="field">
+                          <div class="label">
+                              <label for="password">${_('Re-enter password')}:</label>
+                          </div>
+                          <div class="input">
+                              ${h.password('password_confirmation',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">
+		            <div class="nohighlight">
+		              ${h.submit('sign_up','Sign Up',class_="ui-button")}
+		              %if c.auto_active:
+					  	<div class="activation_msg">${_('Your account will be activated right after registration')}</div>
+					  %else:
+					  	<div class="activation_msg">${_('Your account must wait for activation by administrator')}</div>
+					  %endif
+		            </div>
+	            </div>             
+	    	</div>
 	    </div>
-    </body>
-</html>
+	    ${h.end_form()}
+	</div>    
+ </div>