Exemple #1
0
def get_limited_validator(max_char = 100, min_char = 0):
	message = ''
	if 0 < min_char and 0 < max_char:
		message = get_text('FIELD_OVER') % (min_char, max_char)
	elif 0 < min_char:			
		message = get_text('FIELD_TOO_SHORT') % min_char
	elif 0 < max_char:			
		message = get_text('FIELD_TOO_LONG') % max_char
	return wt_validators.Length(
		min = min_char, max = max_char, message = message)
Exemple #2
0
def author_required(original_func):
	@functools.wraps(original_func)
	def decorated_func(arg, *args, **kargs):
		if not arg.is_logged_in:
			arg.add_flash(get_text('LOGIN_REQUIRED'), 'error')
			arg.redirect('/about')
			return
		try:
			assert 'request_id' in kargs and 'offer_id' in kargs, 'Invalid request'
			uid = arg.current_user.key().id()
			rid = force_int(kargs['request_id'])
			oid = force_int(kargs['offer_id'])
			request = OneToOnesService.get_request(rid)
			assert request, 'No reqeust found'
			offer = OneToOnesService.get_offer(oid)
			assert offer, 'No offer found'
		except AssertionError, e:
			logging.error("# %s" % e)
			arg.render_error(404)
			return
		if request.author_id != uid and offer.author_id != uid:
			logging.error("# No permission to access")
			user = users.get_current_user()
			if user and users.is_current_user_admin():
				logging.info("# But pass with admin permission.")
			else:
				arg.add_flash(get_text('LOGIN_REQUIRED'), 'error')
				arg.redirect('/')
				return 
		original_func(arg, *args, **kargs)
Exemple #3
0
	def decorated_func(arg, *args, **kargs):
		if not arg.is_logged_in:
			logging.warning('# Login required: %s' % arg.__class__.__name__)
			arg.add_flash(get_text('LOGIN_REQUIRED'), 'error')
			arg.redirect('/about')
			return
		original_func(arg, *args, **kargs)
Exemple #4
0
	def decorated_func(arg, *args, **kargs):
		if not arg.is_logged_in:
			arg.add_flash(get_text('LOGIN_REQUIRED'), 'error')
			arg.redirect('/about')
			return
		try:
			assert 'request_id' in kargs and 'offer_id' in kargs, 'Invalid request'
			uid = arg.current_user.key().id()
			rid = force_int(kargs['request_id'])
			oid = force_int(kargs['offer_id'])
			request = OneToOnesService.get_request(rid)
			assert request, 'No reqeust found'
			offer = OneToOnesService.get_offer(oid)
			assert offer, 'No offer found'
		except AssertionError, e:
			logging.error("# %s" % e)
			arg.render_error(404)
			return