Files
@ 12ceeda33339
Branch filter:
Location: kallithea/rhodecode/templates/base/root.html
12ceeda33339
5.0 KiB
text/html
#404 API extensions for showing permission for users
- added permissions to get_user function
- added last_login to get_user and get_users function
- modified custom JSON encoder to handle non standard python types, like set, OrderedDict, datetime, date
- added permissions to get_user function
- added last_login to get_user and get_users function
- modified custom JSON encoder to handle non standard python types, like set, OrderedDict, datetime, date
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | ## -*- 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" />
## CSS ###
<%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')}"/>
## EXTRA FOR CSS
${self.css_extra()}
</%def>
<%def name="css_extra()">
</%def>
${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
## JAVASCRIPT ##
<%def name="js()">
<script type="text/javascript" src="${h.url('/js/yui.2.9.js')}"></script>
<!--[if lt IE 9]>
<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" src="${h.url('/js/rhodecode.js')}"></script>
## EXTRA FOR JS
${self.js_extra()}
<script type="text/javascript">
var follow_base_url = "${h.url('toggle_following')}";
var stop_follow_text = "${_('Stop following this repository')}";
var start_follow_text = "${_('Start following this repository')}";
var onSuccessFollow = function(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_follow_text);
if(f_cnt){
var cnt = Number(f_cnt.innerHTML)+1;
f_cnt.innerHTML = cnt;
}
}
else{
f.setAttribute('class','follow');
f.setAttribute('title',start_follow_text);
if(f_cnt){
var cnt = Number(f_cnt.innerHTML)+1;
f_cnt.innerHTML = cnt;
}
}
}
var toggleFollowingUser = function(target,fallows_user_id,token,user_id){
args = 'follows_user_id='+fallows_user_id;
args+= '&auth_token='+token;
if(user_id != undefined){
args+="&user_id="+user_id;
}
YUC.asyncRequest('POST',follow_base_url,{
success:function(o){
onSuccessFollow(target);
}
},args);
return false;
}
var toggleFollowingRepo = function(target,fallows_repo_id,token,user_id){
args = 'follows_repo_id='+fallows_repo_id;
args+= '&auth_token='+token;
if(user_id != undefined){
args+="&user_id="+user_id;
}
YUC.asyncRequest('POST',follow_base_url,{
success:function(o){
onSuccessFollow(target);
}
},args);
return false;
}
YUE.onDOMReady(function(){
tooltip_activate();
show_more_event();
YUE.on('quick_login_link','click',function(e){
// make sure we don't redirect
YUE.preventDefault(e);
if(YUD.hasClass('quick_login_link','enabled')){
YUD.setStyle('quick_login','display','none');
YUD.removeClass('quick_login_link','enabled');
}
else{
YUD.setStyle('quick_login','display','');
YUD.addClass('quick_login_link','enabled');
var usr = YUD.get('username');
if(usr){
usr.focus();
}
}
});
})
</script>
</%def>
<%def name="js_extra()"></%def>
${self.js()}
</head>
<body id="body">
${next.body()}
</body>
</html>
|