Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13c78fae58 | ||
|
|
91c0a31800 | ||
|
|
277137c8e6 | ||
|
|
4556a355a2 | ||
|
|
7dafb07438 | ||
|
|
b0f6dc4e16 | ||
|
|
1499b19575 | ||
|
|
877b867cef | ||
|
|
837808bd77 | ||
|
|
10a69f4338 | ||
|
|
7bc603f380 | ||
|
|
6c1cc6fc96 |
@@ -30,7 +30,7 @@ update:
|
|||||||
echo "remember that pymysql was tweaked"
|
echo "remember that pymysql was tweaked"
|
||||||
src:
|
src:
|
||||||
### Use semantic versioning
|
### Use semantic versioning
|
||||||
echo 'Version 2.6.1-stable+timestamp.'`date +%Y.%m.%d.%H.%M.%S` > VERSION
|
echo 'Version 2.6.3-stable+timestamp.'`date +%Y.%m.%d.%H.%M.%S` > VERSION
|
||||||
### rm -f all junk files
|
### rm -f all junk files
|
||||||
make clean
|
make clean
|
||||||
### clean up baisc apps
|
### clean up baisc apps
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Version 2.6.1-stable+timestamp.2013.09.12.17.08.08
|
Version 2.6.3-stable+timestamp.2013.09.15.11.59.21
|
||||||
|
|||||||
@@ -234,4 +234,3 @@ def list_breakpoints():
|
|||||||
session.flash = str(e)
|
session.flash = str(e)
|
||||||
ok = False
|
ok = False
|
||||||
return response.json({'ok': ok, 'breakpoints': breakpoints})
|
return response.json({'ok': ok, 'breakpoints': breakpoints})
|
||||||
|
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ def index():
|
|||||||
if session.authorized:
|
if session.authorized:
|
||||||
redirect(send)
|
redirect(send)
|
||||||
elif request.vars.password:
|
elif request.vars.password:
|
||||||
if verify_password(request.vars.password):
|
if verify_password(request.vars.password[:1024]):
|
||||||
session.authorized = True
|
session.authorized = True
|
||||||
login_record(True)
|
login_record(True)
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ def verify_password(password):
|
|||||||
session.pam_user = None
|
session.pam_user = None
|
||||||
if DEMO_MODE:
|
if DEMO_MODE:
|
||||||
return True
|
return True
|
||||||
elif not 'password' in _config:
|
elif not _config.get('password'):
|
||||||
return False
|
return False
|
||||||
elif _config['password'].startswith('pam_user:'):
|
elif _config['password'].startswith('pam_user:'):
|
||||||
session.pam_user = _config['password'][9:].strip()
|
session.pam_user = _config['password'][9:].strip()
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
theme = web2py
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
theme = night
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
});
|
});
|
||||||
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
||||||
doc.on('click', "input.datetime", function () {
|
doc.on('click', "input.datetime", function () {
|
||||||
var tformat = $(this).data('w2p_datetime_format')
|
var tformat = $(this).data('w2p_datetime_format');
|
||||||
var active = $(this).data('w2p_datetime');
|
var active = $(this).data('w2p_datetime');
|
||||||
var format = (typeof tformat != 'undefined') ? tformat : datetime_format;
|
var format = (typeof tformat != 'undefined') ? tformat : datetime_format;
|
||||||
if(active === undefined) {
|
if(active === undefined) {
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
});
|
});
|
||||||
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
||||||
doc.on('click', "input.date", function () {
|
doc.on('click', "input.date", function () {
|
||||||
var tformat = $(this).data('w2p_date_format')
|
var tformat = $(this).data('w2p_date_format');
|
||||||
var active = $(this).data('w2p_date');
|
var active = $(this).data('w2p_date');
|
||||||
var format = (typeof tformat != 'undefined') ? tformat : date_format;
|
var format = (typeof tformat != 'undefined') ? tformat : date_format;
|
||||||
if(active === undefined) {
|
if(active === undefined) {
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
def hello1():
|
def hello1():
|
||||||
""" simple page without template """
|
""" simple page without template """
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@
|
|||||||
});
|
});
|
||||||
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
||||||
doc.on('click', "input.datetime", function () {
|
doc.on('click', "input.datetime", function () {
|
||||||
var tformat = $(this).data('w2p_datetime_format')
|
var tformat = $(this).data('w2p_datetime_format');
|
||||||
var active = $(this).data('w2p_datetime');
|
var active = $(this).data('w2p_datetime');
|
||||||
var format = (typeof tformat != 'undefined') ? tformat : datetime_format;
|
var format = (typeof tformat != 'undefined') ? tformat : datetime_format;
|
||||||
if(active === undefined) {
|
if(active === undefined) {
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
});
|
});
|
||||||
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
||||||
doc.on('click', "input.date", function () {
|
doc.on('click', "input.date", function () {
|
||||||
var tformat = $(this).data('w2p_date_format')
|
var tformat = $(this).data('w2p_date_format');
|
||||||
var active = $(this).data('w2p_date');
|
var active = $(this).data('w2p_date');
|
||||||
var format = (typeof tformat != 'undefined') ? tformat : date_format;
|
var format = (typeof tformat != 'undefined') ? tformat : date_format;
|
||||||
if(active === undefined) {
|
if(active === undefined) {
|
||||||
|
|||||||
@@ -179,7 +179,7 @@
|
|||||||
});
|
});
|
||||||
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
var datetime_format = (typeof w2p_ajax_datetime_format != 'undefined') ? w2p_ajax_datetime_format : "%Y-%m-%d %H:%M:%S";
|
||||||
doc.on('click', "input.datetime", function () {
|
doc.on('click', "input.datetime", function () {
|
||||||
var tformat = $(this).data('w2p_datetime_format')
|
var tformat = $(this).data('w2p_datetime_format');
|
||||||
var active = $(this).data('w2p_datetime');
|
var active = $(this).data('w2p_datetime');
|
||||||
var format = (typeof tformat != 'undefined') ? tformat : datetime_format;
|
var format = (typeof tformat != 'undefined') ? tformat : datetime_format;
|
||||||
if(active === undefined) {
|
if(active === undefined) {
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
});
|
});
|
||||||
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
var date_format = (typeof w2p_ajax_date_format != 'undefined') ? w2p_ajax_date_format : "%Y-%m-%d";
|
||||||
doc.on('click', "input.date", function () {
|
doc.on('click', "input.date", function () {
|
||||||
var tformat = $(this).data('w2p_date_format')
|
var tformat = $(this).data('w2p_date_format');
|
||||||
var active = $(this).data('w2p_date');
|
var active = $(this).data('w2p_date');
|
||||||
var format = (typeof tformat != 'undefined') ? tformat : date_format;
|
var format = (typeof tformat != 'undefined') ? tformat : date_format;
|
||||||
if(active === undefined) {
|
if(active === undefined) {
|
||||||
|
|||||||
+3
-7
@@ -234,12 +234,6 @@ except ImportError:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
simplejson = None
|
simplejson = None
|
||||||
|
|
||||||
try:
|
|
||||||
from gluon import validators
|
|
||||||
have_validators = True
|
|
||||||
except (ImportError, SyntaxError):
|
|
||||||
have_validators = False
|
|
||||||
|
|
||||||
LOGGER = logging.getLogger("web2py.dal")
|
LOGGER = logging.getLogger("web2py.dal")
|
||||||
DEFAULT = lambda:0
|
DEFAULT = lambda:0
|
||||||
|
|
||||||
@@ -6872,7 +6866,9 @@ def sqlhtml_validators(field):
|
|||||||
fieldtype
|
fieldtype
|
||||||
"""
|
"""
|
||||||
db = field.db
|
db = field.db
|
||||||
if not have_validators:
|
try:
|
||||||
|
from gluon import validators
|
||||||
|
except ImportError:
|
||||||
return []
|
return []
|
||||||
field_type, field_length = field.type, field.length
|
field_type, field_length = field.type, field.length
|
||||||
if isinstance(field_type, SQLCustomType):
|
if isinstance(field_type, SQLCustomType):
|
||||||
|
|||||||
+1
-1
@@ -2414,9 +2414,9 @@ class Auth(object):
|
|||||||
next = cas.logout_url(next)
|
next = cas.logout_url(next)
|
||||||
|
|
||||||
current.session.auth = None
|
current.session.auth = None
|
||||||
current.session.flash = self.messages.logged_out
|
|
||||||
if self.settings.renew_session_onlogout:
|
if self.settings.renew_session_onlogout:
|
||||||
current.session.renew(clear_session=not self.settings.keep_session_onlogout)
|
current.session.renew(clear_session=not self.settings.keep_session_onlogout)
|
||||||
|
current.session.flash = self.messages.logged_out
|
||||||
if not next is None:
|
if not next is None:
|
||||||
redirect(next)
|
redirect(next)
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -2890,7 +2890,8 @@ class CRYPT(object):
|
|||||||
key=None,
|
key=None,
|
||||||
digest_alg='pbkdf2(1000,20,sha512)',
|
digest_alg='pbkdf2(1000,20,sha512)',
|
||||||
min_length=0,
|
min_length=0,
|
||||||
error_message='too short', salt=True):
|
error_message='too short', salt=True,
|
||||||
|
max_length=1024):
|
||||||
"""
|
"""
|
||||||
important, digest_alg='md5' is not the default hashing algorithm for
|
important, digest_alg='md5' is not the default hashing algorithm for
|
||||||
web2py. This is only an example of usage of this function.
|
web2py. This is only an example of usage of this function.
|
||||||
@@ -2901,10 +2902,12 @@ class CRYPT(object):
|
|||||||
self.key = key
|
self.key = key
|
||||||
self.digest_alg = digest_alg
|
self.digest_alg = digest_alg
|
||||||
self.min_length = min_length
|
self.min_length = min_length
|
||||||
|
self.max_length = max_length
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
self.salt = salt
|
self.salt = salt
|
||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
|
value = value and value[:self.max_length]
|
||||||
if len(value) < self.min_length:
|
if len(value) < self.min_length:
|
||||||
return ('', translate(self.error_message))
|
return ('', translate(self.error_message))
|
||||||
return (LazyCrypt(self, value), None)
|
return (LazyCrypt(self, value), None)
|
||||||
|
|||||||
Reference in New Issue
Block a user