def close_session(cls): if not Config.getSessionID(): return iface = cls.get_interface('FABLIK_BASE') inputVar = iface.create_variable('RequestCloseSession', session_id=Config.getSessionID()) result = iface.call('closeSession', inputVar) if result.ret_code != 0: message = MESSAGES.get(result.ret_code, result.ret_message) raise Exception(message)
def onRemoveDepartment(self): dep_id = self.treeWraper.getCurrentItem('id') if not dep_id: curr = self._widgets.departmentsTree.currentItem() if not curr: return p = curr.parent() p.removeChild(curr) return yes = self.askQuestion(self.tr('Do you realy want delete this department?')) if not yes: return in_var = self.mgt_interface.create_variable('RequestDeleteDepartment') in_var.session_id = Config.getSessionID() in_var.department_id = dep_id ret = self.mgt_interface.call('deleteDepartment', in_var) if ret.ret_code != 0: self.errorMessage(ret.ret_message) return self.informationMessage(self.tr('Department is deleted from database')) self.syncTree()
def close_cursor(cls, cursor_obj): inputVar = cls.interface.create_variable("RequestCloseCursor") inputVar.session_id = Config.getSessionID() inputVar.cursor_sid = cursor_obj.get_cursor_sid() result = cls.interface.call("closeCursor", inputVar) if result.ret_code != 0: raise Exception(result.ret_message) cursor_obj.closed = True
def load_interfaces(cls, base_iface): inputVar = base_iface.create_variable('RequestGetInterfaces', session_id=Config.getSessionID()) result = base_iface.call('getInterfaces', inputVar) if result.ret_code != 0: message = MESSAGES.get(result.ret_code, result.ret_message) raise Exception(message) if len(result.interface_list) == 0: return for interface in result.interface_list.interface: cls.interfaces[interface.sid] = interface.url
def fetch_cursor(cls, cursor_obj, offset, fetch_count): inputVar = cls.interface.create_variable("RequestGetCursorData") inputVar.session_id = Config.getSessionID() inputVar.cursor_sid = cursor_obj.get_cursor_sid() inputVar.offset = offset inputVar.fetch_count = fetch_count result = cls.interface.call("getCursorData", inputVar) if result.ret_code != 0: raise Exception(result.ret_message) col_descriptions = cursor_obj.get_col_descriptions() return cls.__perform_data(result.row_list, col_descriptions)
def make_cursor(cls, query_sid, **filter_list): inputVar = cls.interface.create_variable("RequestCreateCursor") inputVar.session_id = Config.getSessionID() inputVar.sql_query_sid = query_sid for filter_name in filter_list: filter_var = cls.interface.create_variable("filter") filter_var.name = filter_name filter_var.value = filter_list[filter_name] inputVar.filter_list.filter.append(filter_var) result = cls.interface.call("createCursor", inputVar) if result.ret_code != 0: raise Exception(result.ret_message) return Cursor(result.cursor_sid, result.row_description)
def onApplyDepartment(self): wl = self._widgets dep_id = self.treeWraper.getCurrentItem('id') dep_name = wl.depNameEdit.text() dep_sid = wl.depSIDEdit.text() dep_descr = wl.depDescriptionEdit.text() if dep_name == '': self.errorMessage(self.tr('Departmnent name must be not empty!')) return if dep_sid == '': self.errorMessage(self.tr('Department SID must be not empty')) return if dep_id: in_var = self.mgt_interface.create_variable('RequestUpdateDepartment') in_var.department_id = dep_id else: in_var = self.mgt_interface.create_variable('RequestCreateDepartment') in_var.session_id = Config.getSessionID() in_var.sid = dep_sid in_var.parent_id = self.treeWraper.getCurrentItem('parent_id') in_var.name = dep_name in_var.description = dep_descr if dep_id: method = 'updateDepartment' else: method = 'createDepartment' ret = self.mgt_interface.call(method, in_var) if ret.ret_code != 0: self.errorMessage(ret.ret_message) return self.informationMessage(self.tr('Department is saved in database')) self.syncTree()
def __load_form_by_sid(cls, form_sid, checksum=''): iface = Client.get_interface('FABLIK_BASE') inputVar = iface.create_variable('RequestGetForm') inputVar.session_id = Config.getSessionID() inputVar.form_sid = form_sid inputVar.checksum = checksum result = iface.call('getForm', inputVar) if result.ret_code != 0: raise Exception(result.ret_message) if result.form_source: print 'cache is not found or not valid. Creating...' form_source = base64.decodestring(result.form_source) f = open(os.path.join(cls.__cache_dir, '%s.ffc'%(form_sid)), 'wb') f.write(form_source) f.close() return result.form_permission
def select(cls, query_sid, **filter_list): inputVar = cls.interface.create_variable("RequestExecuteQuery") inputVar.session_id = Config.getSessionID() inputVar.sql_query_sid = query_sid for filter_name in filter_list: filter_var = cls.interface.create_variable("filter") filter_var.name = filter_name filter_var.value = filter_list[filter_name] inputVar.filter_list.filter.append(filter_var) result = cls.interface.call("executeQuery", inputVar) if result.ret_code != 0: raise Exception(result.ret_message) col_descriptions = {} for col_desc in result.row_description.column_description: col_descriptions[col_desc.num] = Column(col_desc.type, col_desc.name) return cls.__perform_data(result.row_list, col_descriptions)
LogManager.info('Menu cache %s is not loaded. Details: %s' %(self.__menu_cache_file,e)) finally: if f is not None: f.close() self.__menu.sort(cmp=my_cmp) md5 = hashlib.md5() for item in self.__menu: item.update_checksum(md5) menu_checksum = md5.hexdigest() iface = Client.get_interface('FABLIK_BASE') inputVar = iface.create_variable('RequestGetMainMenu') inputVar.session_id = Config.getSessionID() inputVar.checksum = menu_checksum inputVar.lang_sid = Config.getLangSid() result = iface.call('getMainMenu', inputVar) if result.ret_code != 0: raise Exception(result.ret_message) if len(result.menu_list) == 0: LogManager.info('Menu cache is valid. Use it') return self.__menu = [] for item in result.menu_list[0]: menuitem = MenuItem(item.id, item.help, item.name, item.form_sid, 0, item.parent_id, item.shortcut)