コード例 #1
0
 def test_decode(self):
     T = languages.TranslatorFactory(self.langpath,
                                     self.http_accept_language)
     messages = Messages(T)
     messages.update({'email_sent': 'Email sent', 'test': "ä"})
     self.assertEqual(to_unicode(messages.email_sent, 'utf-8'),
                      'Email sent')
コード例 #2
0
    def __init__(self, db):
        self.db = db

        settings = self.settings = Storage()

        settings.extra_fields = {}

        settings.oncomment = None

        settings.select_fields = []
        settings.select_attributes = {}
        settings.headers = []
        settings.content = lambda row: row
        settings.view_all_content = lambda total: A(
            current.T('View all %s comments') % total,
            _href='#',
            _class='plugin_comment_cascade_view_all')
        settings.footers = [
            TEXTAREA('',
                     _placeholder=current.T('Write a comment..'),
                     _rows=1,
                     _class='plugin_comment_cascade_create')
        ]
        settings.tooltip = LABEL('X', _class='plugin_comment_cascade_delete')
        settings.limit = 2

        settings.table_comment_name = 'comment_cascade_comment'
        settings.table_comment = None

        messages = self.messages = Messages(current.T)
        messages.record_created = 'Record Created'
        messages.record_deleted = 'Record Deleted'
コード例 #3
0
    def __init__(self, db):
        self.db = db

        settings = self.settings = Storage()

        settings.onmessage = None

        settings.extra_fields = {}

        settings.select_fields = []
        settings.select_attributes = {}

        settings.table_message_name = 'messaging_message'
        settings.table_message = None

        settings.table_thread_name = 'messaging_thread'
        settings.table_thread = None

        settings.status_read = 'read'
        settings.status_unread = 'unread'

        messages = self.messages = Messages(current.T)
        messages.read = 'Already read'
        messages.unread = 'Unread'

        messages.label_status = 'Status'
        messages.label_body_text = 'Body text'
        messages.label_receiver = 'Receiver'
コード例 #4
0
ファイル: plugin_paginator.py プロジェクト: withanage/sqlabs
    def __init__(self, page, paginate, records, **attributes):
        SPAN.__init__(self, **attributes)
        self.attributes['_class'] = 'paginate_info'
        self.page, self.paginate, self.records = (page, paginate, records)

        self.messages = Messages(current.T)
        self.messages.display_without_span = 'Display: <b>%(total)s</b>'
        self.messages.display_with_span = 'Display: <b>%(start)s - %(end)s</b> of <b>%(total)s</b>'
コード例 #5
0
ファイル: plugin_navigation.py プロジェクト: in10tn/pynuke
 def __init__(self, paginates=(10, 25, 50, 100),
              paginate_var='paginate', page_var='page',
              anchor=None, style='text', **attributes):
     SPAN.__init__(self, **attributes)
     self.attributes['_class'] = 'paginate_selector'
     self.paginates, self.paginate_var, self.page_var, self.anchor, self.style = (
         paginates, paginate_var, page_var, anchor, style
     )
     self.paginate = int(current.request.get_vars.get(self.paginate_var, paginates[0]))
     
     self.messages = Messages(current.T)
     self.messages.paginate = 'Paginate: '
     self.messages.option = ''
コード例 #6
0
ファイル: plugin_navigation.py プロジェクト: in10tn/pynuke
 def __init__(self, paginate=10, records=100,
              renderstyle=False, page_var='page',
              anchor="", extra_vars={}, **attributes):
     DIV.__init__(self, **attributes)
     self.attributes['_class'] = 'paginator'
     self.paginate, self.records, self.page_var, self.anchor, self.extra_vars = (
         paginate, records, page_var, anchor, extra_vars
     )
     self.page = int(current.request.get_vars.get(self.page_var) or 1)
     
     self.messages = Messages(current.T)
     self.messages.prev = 'Prev'
     self.messages.next = 'Next'
     
     if renderstyle:
         _url = URL(APP, 'static', 'plugin_paginator/paginator.css')
         if _url not in current.response.files:
             current.response.files.append(_url)
コード例 #7
0
ファイル: plugin_checkout.py プロジェクト: GunioRobot/sqlabs
 def __init__(self, db):
     self.db = db
     
     settings = self.settings = Storage()
     
     settings.extra_fields = {}
     
     settings.table_purchase_order_name = 'checkout_purchase_order'
     settings.table_purchase_order = None
     
     settings.table_line_item_name = 'checkout_line_item'
     settings.table_line_item = None
     
     settings.table_shipping_address_name = 'checkout_shipping_address'
     settings.table_shipping_address = None
     
     settings.price_type = 'integer'
     
     messages = self.messages = Messages(current.T)
コード例 #8
0
 def __init__(self, db):
     self.db = db
     
     settings = self.settings = Storage()
     
     settings.extra_fields = {}
     
     settings.onconfirm = None
     
     settings.table_edge_name = 'friendship_edge'
     settings.table_edge = None
     
     settings.status_requesting = 'requesting'
     settings.status_confirmed = 'confirmed'
     
     messages = self.messages = Messages(current.T)
     messages.requesting = 'Requesting'
     messages.confirmed = 'Confirmed'
     messages.label_status = 'Status'
     messages.label_mutual_friends = 'Confirmed'
コード例 #9
0
    def __init__(self, db=None, hmac_key=None, signature=True):
        self.db = db
        session = current.session
        auth = session.auth
        self.user_groups = auth and auth.user_groups or {}
        now = current.request.now
        # if we have auth info
        #    if not expired it, used it
        #    if expired, clear the session
        # else, only clear auth info in the session
        if auth:
            delta = datetime.timedelta(days=0, seconds=auth.expiration)
            if auth.last_visit and auth.last_visit + delta > now:
                self.user = auth.user
                # this is a trick to speed up sessions to avoid many writes
                if (now - auth.last_visit).seconds > (auth.expiration // 10):
                    auth.last_visit = now
            else:
                self.user = None
                if session.auth:
                    del session.auth
                session.renew(clear_session=True)
        else:
            self.user = None
            if session.auth:
                del session.auth

        settings = self.settings = Settings(self.__class__.default_settings)
        settings.update(
            extra_fields={},
            hmac_key=hmac_key,
        )
        settings.lock_keys = True
        messages = self.messages = Messages(current.T)
        messages.update(self.default_messages)
        messages.lock_keys = True
        if signature is True:
            self.define_signature()
        else:
            self.signature = signature or None
コード例 #10
0
    def __init__(self, db, keyword='_managed_html'):
        self.db, self.keyword = db, keyword

        settings = self.settings = Storage()

        settings.URL = URL

        settings.home_url = '/'
        settings.home_label = 'Home'

        settings.page_crud = ''
        settings.image_crud = ''
        settings.file_crud = ''

        settings.table_content_name = 'managed_html_content'
        settings.table_content = None

        settings.table_image_name = 'managed_html_image'
        settings.table_image = None

        settings.extra_fields = {}

        settings.text_widget = None
        # settings.upload_widget = None

        settings.text_widget_cssfiles = [
        ]  # ex) [URL('static', 'css/base.css')]

        settings.uploadfolder = os.path.join(self.db._adapter.folder, '..',
                                             'uploads')
        settings.upload = lambda filename: URL('download', args=[filename]
                                               )  # TODO

        messages = self.messages = Messages(current.T)

        self.view_mode = LIVE_MODE
コード例 #11
0
    cache.memcache = MemcacheClient(request,
                                    [settings.get_base_session_memcache()])
    from gluon.contrib.memdb import MEMDB
    session.connect(request, response, db=MEMDB(cache.memcache))

####################################################################
# Instantiate Classes from Modules                                 #
# - store instances in current to be accessible from other modules #
####################################################################

from gluon.tools import Mail
mail = Mail()
current.mail = mail

from gluon.storage import Messages
messages = Messages(T)
current.messages = messages

# Import the S3 Framework
if update_check_needed:
    # Reload the Field definitions
    reload(s3base.s3fields)
else:
    import s3 as s3base

# Use session for persistent per-user variables
# - beware of a user having multiple tabs open!
# - don't save callables or class instances as these can't be pickled
if not session.s3:
    session.s3 = Storage()
コード例 #12
0
    cache.memcache = MemcacheClient(request,
                                    [settings.get_base_session_memcache()])
    from gluon.contrib.memdb import MEMDB
    session.connect(request, response, db=MEMDB(cache.memcache))

####################################################################
# Instantiate Classes from Modules                                 #
# - store instances in current to be accessible from other modules #
####################################################################

from gluon.tools import Mail
mail = Mail()
current.mail = mail

from gluon.storage import Messages
messages = Messages(T)
current.messages = messages

ERROR = Messages(T)
current.ERROR = ERROR

# Import the S3 Framework
if update_check_needed:
    # Reload the Field definitions
    reload(s3base.s3fields)
else:
    import s3 as s3base

# Set up logger (before any module attempts to use it!)
import s3log
s3log.S3Log.setup()
コード例 #13
0
ファイル: test_languages.py プロジェクト: BuhtigithuB/web2py
 def test_decode(self):
     T = languages.translator(self.langpath, self.http_accept_language)
     messages = Messages(T)
     messages.update({'email_sent':'Email sent', 'test': "ä"})
     self.assertEqual(to_unicode(messages.email_sent, 'utf-8'), 'Email sent')
コード例 #14
0
ファイル: 00_db.py プロジェクト: sahana/eden
    from gluon.contrib.memdb import MEMDB
    session.connect(request, response, db=MEMDB(cache.memcache))
#else:
## Default to filesystem
# pass

####################################################################
# Instantiate Classes from Modules                                 #
# - store instances in current to be accessible from other modules #
####################################################################

from gluon.tools import Mail
current.mail = mail = Mail()

from gluon.storage import Messages
current.messages = messages = Messages(T)

current.ERROR = ERROR = Messages(T)

# Import the S3 Framework
import s3 as s3base  # Shortcut for use, primarily, from views

# Set up logger (before any module attempts to use it!)
import s3log
s3log.S3Log.setup()

# Keep top-level scope cleaner by accessing these from s3base
#from s3 import AuthS3, S3Audit, S3Calendar, S3GIS, S3Msg, S3Sync, S3XML

# AAA
current.auth = auth = s3base.AuthS3()
コード例 #15
0
ファイル: openid_auth.py プロジェクト: Flinou/UPMC-PSTL
 def _define_messages(self):
     messages = Messages(current.T)
     messages.label_alt_login_username = '******'
     messages.label_add_alt_login_username = '******'
     messages.submit_button = 'Sign in'
     messages.submit_button_add = 'Add'
     messages.a_delete = 'Delete'
     messages.comment_openid_signin = 'What is OpenID?'
     messages.comment_openid_help_title = 'Start using your OpenID'
     messages.comment_openid_help_url = 'http://openid.net/get-an-openid/start-using-your-openid/'
     messages.openid_fail_discover = 'Failed to discover OpenID service. Check your OpenID or "More about OpenID"?'
     messages.flash_openid_expired = 'OpenID expired. Please login or authenticate OpenID again. Sorry for the inconvenient.'
     messages.flash_openid_associated = 'OpenID associated'
     messages.flash_associate_openid = 'Please login or register an account for this OpenID.'
     messages.p_openid_not_registered = "This Open ID haven't be registered. " \
         + "Please login to associate with it or register an account for it."
     messages.flash_openid_authenticated = 'OpenID authenticated successfully.'
     messages.flash_openid_fail_authentication = 'OpenID authentication failed. (Error message: %s)'
     messages.flash_openid_canceled = 'OpenID authentication canceled by user.'
     messages.flash_openid_need_setup = 'OpenID authentication needs to be setup by the user with the provider first.'
     messages.h_openid_login = '******'
     messages.h_openid_list = 'OpenID List'
     return messages
コード例 #16
0
 def _define_messages(self):
     messages = Messages(self.environment.T)
     messages.label_alt_login_username = '******'
     messages.label_add_alt_login_username = '******'
     messages.submit_button = 'Sign in'
     messages.submit_button_add = 'Add'
     messages.a_delete = 'Delete'
     messages.comment_openid_signin = 'What is OpenID?'
     messages.comment_openid_help_title = 'Start using your OpenID'
     messages.comment_openid_help_url = 'http://openid.net/get-an-openid/start-using-your-openid/'
     messages.openid_fail_discover = 'Failed to discover OpenID service. Check your OpenID or "More about OpenID"?'
     messages.flash_openid_expired = 'OpenID expired. Please login or authenticate OpenID again. Sorry for the inconvenient.'
     messages.flash_openid_associated = 'OpenID associated'
     messages.flash_associate_openid = 'Please login or register an account for this OpenID.'
     messages.p_openid_not_registered = "This Open ID haven't be registered. " \
             + "Please login to associate with it or register an account for it."
     messages.flash_openid_authenticated = 'OpenID authenticated successfully.'
     messages.flash_openid_fail_authentication = 'OpenID authentication failed. (Error message: %s)'
     messages.flash_openid_canceled = 'OpenID authentication canceled by user.'
     messages.flash_openid_need_setup = 'OpenID authentication needs to be setup by the user with the provider first.'
     messages.h_openid_login = '******'
     messages.h_openid_list = 'OpenID List'
     return messages
コード例 #17
0
    def __init__(self, api):
        """
      auth=Auth(globals(), db)

      - environment is there for legacy but unused (awful)
      - db has to be the database where to create tables for authentication

      """
        controller = 'default'
        cas_provider = None

        self.db = None
        self.environment = current
        request = current.request
        session = current.session
        auth = session.auth
        if auth and auth.last_visit and auth.last_visit + \
                 datetime.timedelta(days=0, seconds=auth.expiration) > request.now:
            self.user = auth.user
            # this is a trick to speed up sessions
            if (request.now - auth.last_visit).seconds > (auth.expiration /
                                                          10):
                auth.last_visit = request.now
        else:
            self.user = None
            session.auth = None
        settings = self.settings = Settings()

        # ## what happens after login?

        # ## what happens after registration?

        settings.hideerror = False
        settings.cas_domains = [request.env.http_host]
        settings.cas_provider = cas_provider
        settings.extra_fields = {}
        settings.actions_disabled = []
        settings.reset_password_requires_verification = False
        settings.registration_requires_verification = False
        settings.registration_requires_approval = True
        settings.alternate_requires_registration = False
        settings.create_user_groups = False

        settings.controller = controller
        settings.login_url = self.url('user', args='login')
        settings.logged_url = self.url('user', args='profile')
        settings.download_url = self.url('download')
        settings.mailer = None
        settings.login_captcha = None
        settings.register_captcha = None
        settings.retrieve_username_captcha = None
        settings.retrieve_password_captcha = None
        settings.captcha = None
        settings.expiration = 3600  # one hour
        settings.long_expiration = 3600 * 30 * 24  # one month
        settings.remember_me_form = False
        settings.allow_basic_login = False
        settings.allow_basic_login_only = False
        settings.on_failed_authorization = \
           self.url('user',args='not_authorized')

        settings.on_failed_authentication = lambda x: redirect(x)

        settings.formstyle = 'table3cols'
        settings.label_separator = ': '

        # ## table names to be used

        settings.password_field = 'password'
        settings.table_user_name = 'auth_user'
        settings.table_group_name = 'auth_group'
        settings.table_membership_name = 'auth_membership'
        settings.table_permission_name = 'auth_permission'
        settings.table_event_name = 'auth_event'
        settings.table_cas_name = 'auth_cas'

        # ## if none, they will be created

        settings.table_user = None
        settings.table_group = None
        settings.table_membership = None
        settings.table_permission = None
        settings.table_event = None
        settings.table_cas = None

        # ##

        settings.showid = False

        # ## these should be functions or lambdas

        settings.login_next = self.url('index')
        settings.login_onvalidation = []
        settings.login_onaccept = []
        settings.login_methods = [self]
        settings.login_form = self
        settings.login_email_validate = True
        settings.login_userfield = "username"

        settings.logout_next = self.url('index')
        settings.logout_onlogout = lambda x: None

        settings.register_next = self.url('index')
        settings.register_onvalidation = []
        settings.register_onaccept = []
        settings.register_fields = None

        settings.verify_email_next = self.url('user', args='login')
        settings.verify_email_onaccept = []

        settings.profile_next = self.url('index')
        settings.profile_onvalidation = []
        settings.profile_onaccept = []
        settings.profile_fields = None
        settings.retrieve_username_next = self.url('index')
        settings.retrieve_password_next = self.url('index')
        settings.request_reset_password_next = self.url('user', args='login')
        settings.reset_password_next = self.url('user', args='login')

        settings.change_password_next = self.url('index')
        settings.change_password_onvalidation = []
        settings.change_password_onaccept = []

        settings.retrieve_password_onvalidation = []
        settings.reset_password_onvalidation = []

        settings.hmac_key = None
        settings.lock_keys = True

        # ## these are messages that can be customized
        messages = self.messages = Messages(current.T)
        messages.login_button = 'Login'
        messages.register_button = 'Register'
        messages.password_reset_button = 'Request reset password'
        messages.password_change_button = 'Change password'
        messages.profile_save_button = 'Save profile'
        messages.submit_button = 'Submit'
        messages.verify_password = '******'
        messages.delete_label = 'Check to delete:'
        messages.function_disabled = 'Function disabled'
        messages.access_denied = 'Insufficient privileges'
        messages.registration_verifying = 'Registration needs verification'
        messages.registration_pending = 'Registration is pending approval'
        messages.login_disabled = 'Login disabled by administrator'
        messages.logged_in = 'Logged in'
        messages.email_sent = 'Email sent'
        messages.unable_to_send_email = 'Unable to send email'
        messages.email_verified = 'Email verified'
        messages.logged_out = 'Logged out'
        messages.registration_successful = 'Registration successful'
        messages.invalid_email = 'Invalid email'
        messages.unable_send_email = 'Unable to send email'
        messages.invalid_login = '******'
        messages.invalid_user = '******'
        messages.invalid_password = '******'
        messages.is_empty = "Cannot be empty"
        messages.mismatched_password = "******"
        messages.verify_email = 'A user wishes to join Syndicate.\nDetails:\n   Username: %(username)s\n   Email: %(email)s'
        messages.verify_email_subject = 'Email verification'
        messages.username_sent = 'Your username was emailed to you'
        messages.new_password_sent = 'A new password was emailed to you'
        messages.password_changed = 'Password changed'
        messages.retrieve_username = '******'
        messages.retrieve_username_subject = 'Username retrieve'
        messages.retrieve_password = '******'
        messages.retrieve_password_subject = 'Password retrieve'
        messages.reset_password = \
           'Click on the link http://...reset_password/%(key)s to reset your password'
        messages.reset_password_subject = 'Password reset'
        messages.invalid_reset_password = '******'
        messages.profile_updated = 'Profile updated'
        messages.new_password = '******'
        messages.old_password = '******'
        messages.group_description = \
           'Group uniquely assigned to user %(id)s'

        messages.register_log = 'User %(id)s Registered'
        messages.login_log = 'User %(id)s Logged-in'
        messages.login_failed_log = None
        messages.logout_log = 'User %(id)s Logged-out'
        messages.profile_log = 'User %(id)s Profile updated'
        messages.verify_email_log = 'User %(id)s Verification email sent'
        messages.retrieve_username_log = 'User %(id)s Username retrieved'
        messages.retrieve_password_log = 'User %(id)s Password retrieved'
        messages.reset_password_log = 'User %(id)s Password reset'
        messages.change_password_log = 'User %(id)s Password changed'
        messages.add_group_log = 'Group %(group_id)s created'
        messages.del_group_log = 'Group %(group_id)s deleted'
        messages.add_membership_log = None
        messages.del_membership_log = None
        messages.has_membership_log = None
        messages.add_permission_log = None
        messages.del_permission_log = None
        messages.has_permission_log = None
        messages.impersonate_log = 'User %(id)s is impersonating %(other_id)s'

        messages.label_first_name = 'First name'
        messages.label_last_name = 'Last name'
        messages.label_username = '******'
        messages.label_email = 'E-mail'
        messages.label_password = '******'
        messages.label_registration_key = 'Registration key'
        messages.label_reset_password_key = 'Reset Password key'
        messages.label_registration_id = 'Registration identifier'
        messages.label_role = 'Role'
        messages.label_description = 'Description'
        messages.label_user_id = 'User ID'
        messages.label_group_id = 'Group ID'
        messages.label_name = 'Name'
        messages.label_table_name = 'Table name'
        messages.label_record_id = 'Record ID'
        messages.label_time_stamp = 'Timestamp'
        messages.label_client_ip = 'Client IP'
        messages.label_origin = 'Origin'
        messages.label_remember_me = "Remember me (for 30 days)"
        messages['T'] = current.T
        messages.verify_password_comment = 'please input your password again'
        messages.lock_keys = True

        self.user = None
        self.api = api
        self.maint_email = api.config.MD_MAIL_SUPPORT_ADDRESS

        # disable stuff for now
        settings.actions_disabled.append('retrieve_username')
        settings.actions_disabled.append('retrieve_password')
        settings.actions_disabled.append('request_reset_password')
        settings.actions_disabled.append('profile')
        settings.actions_disabled.append('change_password')