Пример #1
0
    def info(self):
        """ return information about current proadmin scheme
		"""
        if not self.is_admin():
            raise AuthorizationError()

        import ProAdmin
        from collections import OrderedDict
        info = OrderedDict()

        # application info
        app = ProAdmin.application()
        app_info = OrderedDict()
        app_info['name'] = app.name
        app_info['guid'] = app.guid
        app_info['api'] = app.scheme.get_option('api_guid')
        info['application'] = app_info

        # scheme info
        scheme = ProAdmin.scheme()
        scheme_info = OrderedDict()
        scheme_info['type'] = scheme.type
        if scheme.is_remote():
            from proadmin_remote_settings import RemoteSettings
            settings = RemoteSettings.get_remote_settings()
            scheme_info['host'] = settings.server
            scheme_info['login'] = settings.login
        info['scheme'] = scheme_info

        return json.dumps(info, indent=4)
Пример #2
0
    def is_remote(self):
        if getattr(self._local, 'is_remote', None) is None:
            from proadmin_remote_settings import RemoteSettings
            is_remote = bool(RemoteSettings.get_remote_settings())

            self._local.is_remote = is_remote

            if not is_remote:
                import ProAdmin
                ProAdmin.unregister_default_scheme()

        return self._local.is_remote
Пример #3
0
    def set_local_scheme(self):
        """ set local scheme
		"""
        if not self.is_admin():
            raise AuthorizationError()

        from proadmin_remote_settings import RemoteSettings
        try:
            if RemoteSettings.get_remote_settings(): RemoteSettings.delete()
        except:
            pass

        import ProAdmin
        ProAdmin.unregister_default_scheme()
Пример #4
0
    def set_remote_settings(self, server, user, password):
        """ set another proadmin settings
		"""
        import ProAdmin
        from proadmin_remote_settings import RemoteSettings

        if not self.is_admin():
            raise AuthorizationError()

        if self.is_proadmin(): return

        remote = RemoteSettings.get_remote_settings()
        if remote and not password: password = remote.password

        RemoteSettings(user, password, server).save()
        ProAdmin.logoff()
        ProAdmin.unregister_default_scheme()
Пример #5
0
    def proadmin_internal_url(self, page=''):
        remote = RemoteSettings.get_remote_settings()
        host = remote.server

        if self.is_ip(host):
            host += '/' + ProAdmin.PROADMIN_APPLICATION_GUID

        # check protocol
        if '://' not in host:
            host = SSOUrl.current_protocol() + '://' + host

        # check page
        if '/' in page[:1]:
            page = page[1:]

        host = '%(host)s%(page)s' % {
            'host': host,
            'page': '/' + page if page else '',
        }

        return self(host)
Пример #6
0
	# get back url
	back_url = get_logout_back_url()

	user = ProAdmin.current_user()
	if not user:
		response.redirect( '/login?back_url=%s' % back_url )

	self.cont_login.text_login.value = user.name

	if not ProAdmin.application().rules( user, 'a' ):
		self.menu_settings.visible = '0'
		#self.menu_macros.visible = '0'

	list_html = "<div class='top_start_container'></div>"
	if RemoteSettings.get_remote_settings():
		# define current protocol
		protocol = SSOUrl.current_protocol() or 'http'

		list_html += "<div class='first_block block_start_container'><div class='center_align_block switch-to'>"+lang.get("switch_to", "Switch to")+"</div></div>"
		apps = ProAdmin.get_registred_applications()
		current_app_host = ProAdmin.hosts()
		for a in apps:
			if "b0a274f0-22bc-44be-be48-da6ec9180268" != apps[a]["guid"] and current_app_host != apps[a]["hosts"]:
				app_host = apps[a]["hosts"][0] if "hosts" in apps[a] else ""

				# add protocol to application url
				if app_host:
					app_host = protocol + '://' + app_host

				app_img = ""
Пример #7
0
from proadmin_remote_settings import RemoteSettings
from proadmin_utils import Utils

class SilentException( Exception ):
	pass

try:
	# there are no remote settings in ProAdmin application
	if Utils.is_proadmin():
		raise SilentException()

	# check user rights
	if not Utils.is_admin():
		self.remotesettings_form.visible = '0'
		raise SilentException()

	# setup form fields
	try:
		remote = RemoteSettings.get_remote_settings()
	except:
		remote = None

	if remote:
		self.remotesettings_form.server.value = remote.server
		self.remotesettings_form.login.value = remote.login
		self.remotesettings_form.password.value = '*'*8

except SilentException:
	pass