def drop(self, gid, sid, rid=None): if rid is None: data = request.form if request.form else json.loads( request.data, encoding='utf-8') else: data = {'ids': [rid]} for rid in data['ids']: status, res = self.conn.execute_dict( render_template(self.sql_path + 'permission.sql', rid=rid, conn=self.conn)) if not status: return internal_server_error( _("Error retrieving the role information.\n{0}").format( res)) if len(res['rows']) == 0: return gone( _("Could not find the role on the database " "server.")) row = res['rows'][0] status, res = self.conn.execute_2darray("DROP ROLE {0};".format( self.qtIdent(self.conn, row['rolname']))) if not status: return internal_server_error( _("Could not drop the role.\n{0}").format(res)) return success_return()
def preferences(trans_id): """ This method is used to get/put explain options from/to preferences Args: trans_id: unique transaction id """ data = None if request.data: data = json.loads(request.data, encoding='utf-8') else: data = request.args or request.form for k, v in data.items(): v = bool(v) if k == 'explain_verbose': blueprint.explain_verbose.set(v) elif k == 'explain_costs': blueprint.explain_costs.set(v) elif k == 'explain_buffers': blueprint.explain_buffers.set(v) elif k == 'explain_timing': blueprint.explain_timing.set(v) return success_return()
def update_cloud_process(sid): """Update Cloud Server Process""" _process = Process.query.filter_by(user_id=current_user.id, server_id=sid).first() _process.acknowledge = None db.session.commit() return success_return()
def save(pid): """ Save a specific preference. """ data = request.form if request.form else json.loads(request.data.decode()) res, msg = Preferences.save(data['mid'], data['cid'], data['id'], data['value']) if not res: return internal_server_error(errormsg=msg) response = success_return() # Set cookie & session for language settings. # This will execute every time as could not find the better way to know # that which preference is getting updated. misc_preference = Preferences.module('miscellaneous') user_languages = misc_preference.preference('user_language') language = 'en' if user_languages: language = user_languages.get() or language setattr(session, 'PGADMIN_LANGUAGE', language) response.set_cookie("PGADMIN_LANGUAGE", language) return response
def drop(self, gid, sid, rid): status, res = self.conn.execute_2darray("DROP ROLE {0};".format( self.role)) if not status: return internal_server_error( _("ERROR: Couldn't drop the user!\n{0}").format(res)) return success_return()
def preferences(trans_id): """ This method is used to get/put explain options from/to preferences Args: trans_id: unique transaction id """ if request.method == 'GET': # Check the transaction and connection status status, error_msg, conn, trans_obj, session_obj = \ check_transaction_status(trans_id) if error_msg == gettext('Transaction ID not found in the session.'): return make_json_response(success=0, errormsg=error_msg, info='DATAGRID_TRANSACTION_REQUIRED', status=404) if status and conn is not None and \ trans_obj is not None and session_obj is not None: # Call the set_auto_commit and set_auto_rollback method of # transaction object trans_obj.set_auto_commit(blueprint.auto_commit.get()) trans_obj.set_auto_rollback(blueprint.auto_rollback.get()) # As we changed the transaction object we need to # restore it and update the session variable. session_obj['command_obj'] = pickle.dumps(trans_obj, -1) update_session_grid_transaction(trans_id, session_obj) return make_json_response( data={ 'explain_verbose': blueprint.explain_verbose.get(), 'explain_costs': blueprint.explain_costs.get(), 'explain_buffers': blueprint.explain_buffers.get(), 'explain_timing': blueprint.explain_timing.get(), 'auto_commit': blueprint.auto_commit.get(), 'auto_rollback': blueprint.auto_rollback.get() } ) else: data = None if request.data: data = json.loads(request.data, encoding='utf-8') else: data = request.args or request.form for k, v in data.items(): v = bool(v) if k == 'explain_verbose': blueprint.explain_verbose.set(v) elif k == 'explain_costs': blueprint.explain_costs.set(v) elif k == 'explain_buffers': blueprint.explain_buffers.set(v) elif k == 'explain_timing': blueprint.explain_timing.set(v) return success_return()
def drop(self, gid, sid, rid): status, res = self.conn.execute_2darray(u"DROP ROLE {0};".format( self.qtIdent(self.conn, self.role))) if not status: return internal_server_error( _("Could not drop the role.\n{0}").format(res)) return success_return()
def drop(self, gid, sid, rid): status, res = self.conn.execute_2darray( "DROP ROLE {0};".format(self.qtIdent(self.conn, self.role)) ) if not status: return internal_server_error( _("Couldn't drop the role.\n{0}").format(res) ) return success_return()
def stop_process(pid): """ User has stopped the process :param pid: Process ID """ try: BatchProcess.stop_process(pid) return success_return() except LookupError as lerr: return gone(errormsg=str(lerr))
def run_now(self, gid, sid, jid): """ This function will set the next run to now, to inform the pgAgent to run the job now. """ status, res = self.conn.execute_void( render_template("/".join([self.template_path, 'run_now.sql']), jid=jid, conn=self.conn)) if not status: return internal_server_error(errormsg=res) return success_return(message=_("Updated the next runtime to now."))
def reset_tree_state(): """Reset the saved tree state.""" data = Setting.query.filter_by(user_id=current_user.id, setting='browser_tree_state').first() try: if data is not None: db.session.delete(data) db.session.commit() except Exception as e: return make_json_response(status=410, success=0, errormsg=str(e)) return success_return()
def save(pid): """ Save a specific preference. """ data = request.form if request.form else json.loads(request.data.decode()) res, msg = Preferences.save(data['mid'], data['cid'], data['id'], data['value']) if not res: return internal_server_error(errormsg=msg) return success_return()
def save(): """ Save a specific preference. """ pref_data = get_data() for data in pref_data: if data['name'] in ['vw_edt_tab_title_placeholder', 'qt_tab_title_placeholder', 'debugger_tab_title_placeholder'] \ and data['value'].isspace(): data['value'] = '' res, msg = Preferences.save( data['mid'], data['category_id'], data['id'], data['value']) sgm.get_nodes(sgm) if not res: return internal_server_error(errormsg=msg) response = success_return() # Set cookie & session for language settings. # This will execute every time as could not find the better way to know # that which preference is getting updated. misc_preference = Preferences.module('misc') user_languages = misc_preference.preference( 'user_language' ) language = 'en' if user_languages: language = user_languages.get() or language domain = dict() if config.COOKIE_DEFAULT_DOMAIN and \ config.COOKIE_DEFAULT_DOMAIN != 'localhost': domain['domain'] = config.COOKIE_DEFAULT_DOMAIN setattr(session, 'PGADMIN_LANGUAGE', language) response.set_cookie("PGADMIN_LANGUAGE", value=language, path=config.COOKIE_DEFAULT_PATH, secure=config.SESSION_COOKIE_SECURE, httponly=config.SESSION_COOKIE_HTTPONLY, samesite=config.SESSION_COOKIE_SAMESITE, **domain) return response
def acknowledge(pid): """ User has acknowledge the process Args: pid: Process ID Returns: Positive status """ try: BatchProcess.acknowledge(pid) return success_return() except LookupError as lerr: return gone(errormsg=str(lerr))
def run_now(self, gid, sid, jid): """ This function will set the next run to now, to inform the pgAgent to run the job now. """ status, res = self.conn.execute_void( render_template( "/".join([self.template_path, 'run_now.sql']), jid=jid, conn=self.conn ) ) if not status: return internal_server_error(errormsg=res) return success_return( message=_("Updated the next runtime to now.") )
def update_cloud_details(pid): """ Update the cloud details and get instance details Args: pid: Process ID Returns: Positive status """ try: process = BatchProcess(id=pid) status, server = process.update_cloud_details() if status and len(server) > 0: return make_json_response(success=1, data={ 'node': { 'sid': server['id'], 'gid': server['servergroup_id'], '_type': 'server', 'icon': 'icon-server-not-connected', 'id': 'server_{}'.format(server['id']), 'label': server['name'], 'status': server['status'], 'cloud_status': server['cloud_status'] } }) elif status and len(server) == 0: return success_return() else: return gone(errormsg=str(server)) except LookupError as lerr: return gone(errormsg=str(lerr))
def save(pid): """ Save a specific preference. """ data = request.form if request.form else json.loads(request.data.decode()) res, msg = Preferences.save( data['mid'], data['category_id'], data['id'], data['value']) if not res: return internal_server_error(errormsg=msg) response = success_return() # Set cookie & session for language settings. # This will execute every time as could not find the better way to know # that which preference is getting updated. misc_preference = Preferences.module('miscellaneous') user_languages = misc_preference.preference( 'user_language' ) language = 'en' if user_languages: language = user_languages.get() or language domain = dict() if config.COOKIE_DEFAULT_DOMAIN and\ config.COOKIE_DEFAULT_DOMAIN != 'localhost': domain['domain'] = config.COOKIE_DEFAULT_DOMAIN setattr(session, 'PGADMIN_LANGUAGE', language) response.set_cookie("PGADMIN_LANGUAGE", value=language, path=config.COOKIE_DEFAULT_PATH, **domain) return response
def save_browser_tree_state(): """Save the browser tree state.""" data = request.form if request.form else request.data.decode('utf-8') old_data = get_setting('browser_tree_state') if old_data and old_data != 'null': if data: data = json.loads(data) old_data = json.loads(old_data) old_data.update(data) new_data = json.dumps(old_data) else: new_data = data try: store_setting('browser_tree_state', new_data) except Exception as e: current_app.logger.exception(e) return internal_server_error(errormsg=str(e)) return success_return()