Merge branch 'latest' of github.com:webnotes/erpnext into latest

Conflicts:
	index.html
	version.num
This commit is contained in:
Anand Doshi 2012-01-18 12:33:16 +05:30
commit a7d632db99
8 changed files with 48 additions and 132 deletions

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
*.comp.js *.comp.js
.DS_Store .DS_Store
server_tools server_tools
user_files
patch.log patch.log
lib lib
versions-local.db versions-local.db

View File

@ -6,7 +6,7 @@ pscript['onload_Event Updates'] = function() {
pscript.home_make_body(); pscript.home_make_body();
pscript.home_make_status(); pscript.home_make_status();
pscript.home_pre_process(); pscript.home_set_banner();
pscript.home_make_widgets(); pscript.home_make_widgets();
} }
@ -30,7 +30,7 @@ pscript.home_make_body = function() {
// ================================== // ==================================
pscript.home_pre_process = function(wrapper) { pscript.home_set_banner = function(wrapper) {
var wrapper = page_body.pages['Event Updates']; var wrapper = page_body.pages['Event Updates'];
var cp = locals['Control Panel']['Control Panel']; var cp = locals['Control Panel']['Control Panel'];

View File

@ -43,14 +43,11 @@ pscript.myc_show_erpnext_message = function() {
// //
pscript.myc_add_user = function() { pscript.myc_add_user = function() {
var fields = [{ var fields = [{
fieldtype: 'Data', fieldtype: 'Data',
fieldname: 'user', fieldname: 'user',
reqd: 1, reqd: 1,
label: 'Email Id of the user to add' label: 'Email Id of the user to add'
}]; },
if(!pscript.is_erpnext_saas) {
fields = fields.concat([
{ {
fieldtype: 'Data', fieldtype: 'Data',
fieldname: 'first_name', fieldname: 'first_name',
@ -67,14 +64,15 @@ pscript.myc_add_user = function() {
fieldname: 'password', fieldname: 'password',
reqd: 1, reqd: 1,
label: 'Password' label: 'Password'
}]); },
{
fieldtype: 'Button',
label: 'Add',
fieldname: 'add'
}];
} }
fields.push({ fields.push();
fieldtype: 'Button',
label: 'Add',
fieldname: 'add'
});
var d = new wn.widgets.Dialog({ var d = new wn.widgets.Dialog({
title: 'Add User', title: 'Add User',

View File

@ -2,102 +2,29 @@ import webnotes
import webnotes.defs import webnotes.defs
from webnotes.utils import cint from webnotes.utils import cint
#
# alias the current user
#
def on_login(login_manager): def on_login(login_manager):
"""
called from login manager, before login
"""
try:
if login_manager.user not in ('Guest', None, ''):
import server_tools.gateway_utils
server_tools.gateway_utils.check_login(login_manager.user)
except ImportError:
pass
# login as
if login_manager.user == 'Administrator':
user = webnotes.form.getvalue('login_as')
if user:
# create if missing (due to some bug)
login_as(user, login_manager)
# alisaing here... so check if the user is disabled
if not webnotes.conn.sql("select ifnull(enabled,0) from tabProfile where name=%s", user)[0][0]:
# throw execption
webnotes.msgprint("Authentication Failed", raise_exception=1)
if hasattr(webnotes.defs, 'validate_ip'):
msg = getattr(webnotes.defs, 'validate_ip')()
if msg: webnotes.msgprint(msg, raise_exception=1)
login_manager.user = user
#
# update account details
#
def update_account_details():
# additional details (if from gateway)
if webnotes.form_dict.get('is_trial'):
webnotes.conn.set_global('is_trial', cint(webnotes.form_dict.get('is_trial')))
if webnotes.form_dict.get('days_to_expiry'):
webnotes.conn.set_global('days_to_expiry', webnotes.form_dict.get('days_to_expiry'))
if webnotes.form_dict.get('first_name'):
from server_tools.gateway_utils import update_user_details
update_user_details()
#
# save (login from)
#
def on_login_post_session(login_manager): def on_login_post_session(login_manager):
# login from """
if webnotes.form_dict.get('login_from'): called after login
webnotes.session['data']['login_from'] = webnotes.form.getvalue('login_from') update login_from and delete parallel sessions
webnotes.session_obj.update() """
# Clear previous sessions i.e. logout previous log-in attempts # Clear previous sessions i.e. logout previous log-in attempts
exception_list = ['demo@webnotestech.com', 'Administrator'] exception_list = ['demo@webnotestech.com', 'Administrator']
if webnotes.session['user'] not in exception_list: if webnotes.session['user'] not in exception_list:
sid_list = webnotes.conn.sql(""" sid_list = webnotes.conn.sql("""
SELECT sid DELETE FROM `tabSessions`
FROM `tabSessions`
WHERE WHERE
user=%s AND user=%s AND
sid!=%s sid!=%s""", \
ORDER BY lastupdate desc""", \
(webnotes.session['user'], webnotes.session['sid']), as_list=1) (webnotes.session['user'], webnotes.session['sid']), as_list=1)
for sid in sid_list:
webnotes.conn.sql("DELETE FROM `tabSessions` WHERE sid=%s", sid[0])
update_account_details()
#
# logout the user from SSO
#
def on_logout(login_manager):
if cint(webnotes.conn.get_value('Control Panel', None, 'sync_with_gateway')):
from server_tools.gateway_utils import logout_sso
logout_sso(user=login_manager.user)
#
# create a profile (if logs in for the first time)
#
def login_as(user, login_manager):
import os
import webnotes
webnotes.session = {'user': user}
ip = os.environ.get('REMOTE_ADDR')
# validate if user is from SSO
if ip == '72.55.168.105' or 1:
# if user does not exist, create it
if not webnotes.conn.sql("select name from tabProfile where name=%s", user):
from webnotes.model.doc import Document
import webnotes
import webnotes.utils.webservice
p = Document('Profile')
p.first_name = webnotes.form_dict.get('first_name')
p.last_name = webnotes.form_dict.get('last_name')
p.email = user
p.name = user
p.enabled = 1
p.owner = user
p.save(1)

View File

@ -12,22 +12,14 @@ body {
background-color: #e2e2e2; background-color: #e2e2e2;
} }
.layout_wrapper { .erpnext-footer {
padding: 13px; margin: 3px auto;
margin: 7px; color: #888;
-moz-box-shadow: 1px 1px 6px #AAA; text-align: center;
-webkit-box-shadow: 1px 1px 6px #AAA;
box-shadow: 1px 1px 6px #AAA;
background-color: #FFF;
} }
#birthday_area { .erpnext-footer a, .erpnext-footer a:hover, .erpnext-footer a:visited {
display: none; color: #666;
padding: 4px;
margin-bottom: 8px;
background-color: #FDD;
padding: 4px;
color: #644;
} }
.module-icons { .module-icons {

View File

@ -13,7 +13,6 @@ if(inList(user_roles,'System Manager')) is_system_manager = 1;
function startup_setup() { function startup_setup() {
pscript.is_erpnext_saas = cint(locals['Control Panel']['Control Panel'].sync_with_gateway) pscript.is_erpnext_saas = cint(locals['Control Panel']['Control Panel'].sync_with_gateway)
if(get_url_arg('embed')) { if(get_url_arg('embed')) {
// hide header, footer // hide header, footer
$dh(page_body.banner_area); $dh(page_body.banner_area);
@ -21,18 +20,18 @@ function startup_setup() {
$dh(page_body.footer); $dh(page_body.footer);
return; return;
} }
if(user=='Guest' && !get_url_arg('akey')) {
if(pscript.is_erpnext_saas) {
window.location.href = 'https://www.erpnext.com';
return;
}
}
// page structure // page structure
// -------------- // --------------
$td(page_body.wntoolbar.body_tab,0,0).innerHTML = '<i><b>erp</b>next</i>'; if(page_body.wntoolbar) {
$y($td(page_body.wntoolbar.body_tab,0,0), {width:'140px', color:'#FFF', paddingLeft:'8px', paddingRight:'8px', fontSize:'14px'}) $td(page_body.wntoolbar.body_tab,0,0).innerHTML = '<i><b>erp</b>next</i>';
$y($td(page_body.wntoolbar.body_tab,0,0), {
width:'140px',
color:'#FFF',
paddingLeft:'8px',
paddingRight:'8px',
fontSize:'14px'
});
}
$dh(page_body.banner_area); $dh(page_body.banner_area);
// sidebar // sidebar
@ -41,7 +40,7 @@ function startup_setup() {
// border to the body // border to the body
// ------------------ // ------------------
$dh(page_body.footer); page_body.footer.innerHTML = '<div class="erpnext-footer">Powered by <a href="https://erpnext.com">ERPNext</a></div>';
// setup toolbar // setup toolbar
pscript.startup_setup_toolbar(); pscript.startup_setup_toolbar();

View File

@ -4,7 +4,6 @@
<title>ERPNext</title> <title>ERPNext</title>
<meta name="author" content=""> <meta name="author" content="">
<script type="text/javascript">window._version_number="49" <script type="text/javascript">window._version_number="49"
wn={} wn={}
wn.provide=function(namespace){var nsl=namespace.split('.');var l=nsl.length;var parent=window;for(var i=0;i<l;i++){var n=nsl[i];if(!parent[n]){parent[n]={}} wn.provide=function(namespace){var nsl=namespace.split('.');var l=nsl.length;var parent=window;for(var i=0;i<l;i++){var n=nsl[i];if(!parent[n]){parent[n]={}}
parent=parent[n];}} parent=parent[n];}}

View File

@ -1 +1 @@
49 49