def edit_supplier(): _vars = pdf.init() _db = _vars[0] _cfg = _vars[1] log = _Log(_cfg.cfg['GLOBAL']['logfile']) spreadsheet = _Spreadsheet(log, _cfg) data = request.get_json() if 'getOnlyRawFooter' not in data: data['getOnlyRawFooter'] = False update_data = { 'name': data['name'], 'vat_number': data['VAT'], 'siret': data['SIRET'], 'siren': data['SIREN'], 'city': data['city'], 'adress1': data['adress'], 'adress2': data['adress2'], 'postal_code': data['zip'], 'get_only_raw_footer': str(data['getOnlyRawFooter']) } if 'companyTypo' in data: update_data['typology'] = data['companyTypo'] if data['companyType'] != '': update_data['company_type'] = data['companyType'] args = { 'table': ['suppliers'], 'set': update_data, 'where': ['id = ?'], 'data': [data['supplierId']], } res = _db.update(args) if res: spreadsheet.update_supplier_ods_sheet(_db) if 'pdfId' in data: args = { 'table': ['invoices'], 'set': { 'id_supplier': data['supplierId'], }, 'where': ['id = ?'], 'data': [data['pdfId']], } res = _db.update(args) flash(gettext('SUPPLIER_EDITED')) else: return json.dumps({'code': 500, 'ok': 'false'}) return json.dumps({'code': 200, 'ok': 'true'})
def update_typo_database(database, vat_number, typo, log, config): spreadsheet = _Spreadsheet(log, config) mime = mimetypes.guess_type(spreadsheet.referencialSuppplierSpreadsheet)[0] if mime in ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']: spreadsheet.write_typo_excel_sheet(vat_number, typo) else: spreadsheet.write_typo_ods_sheet(vat_number, typo) database.update({ 'table': ['suppliers'], 'set': { 'typology': typo, }, 'where': ['vat_number = ?'], 'data': [vat_number] })
def delete_supplier(supplier_id): _vars = pdf.init() _db = _vars[0] _cfg = _vars[1] log = _Log(_cfg.cfg['GLOBAL']['logfile']) spreadsheet = _Spreadsheet(log, _cfg) res = _db.update({ 'table': ['suppliers'], 'set': { 'status': 'DEL' }, 'where': ['id = ?'], 'data': [supplier_id] }) if res: spreadsheet.update_supplier_ods_sheet(_db) flash(gettext('SUPPLIER_DELETED')) return json.dumps({'text': 'OK', 'code': 200, 'ok': 'true'}) return res
if __name__ == '__main__': ap = argparse.ArgumentParser() ap.add_argument("-c", "--config", required=True, help="path to config file") args = vars(ap.parse_args()) if not os.path.exists(args['config']): sys.exit('Config file couldn\'t be found') configName = _Config(args['config']) Config = _Config(configName.cfg['PROFILE']['cfgpath'] + '/config_' + configName.cfg['PROFILE']['id'] + '.ini') Log = _Log(Config.cfg['GLOBAL']['logfile']) Spreadsheet = _Spreadsheet(Log, Config) dbType = Config.cfg['DATABASE']['databasetype'] dbUser = Config.cfg['DATABASE']['postgresuser'] dbPwd = Config.cfg['DATABASE']['postgrespassword'] dbname = Config.cfg['DATABASE']['postgresdatabase'] dbhost = Config.cfg['DATABASE']['postgreshost'] dbport = Config.cfg['DATABASE']['postgresport'] Database = _Database(Log, dbType, dbname, dbUser, dbPwd, dbhost, dbport, Config.cfg['DATABASE']['databasefile']) # Load the referencials into array before inject it into database # Read MIME type from file #TODO # Add the MIME type into a config file mime = mimetypes.guess_type(Spreadsheet.referencialSuppplierSpreadsheet)[0]
def add_supplier(): _vars = pdf.init() _db = _vars[0] _cfg = _vars[1] log = _Log(_cfg.cfg['GLOBAL']['logfile']) spreadsheet = _Spreadsheet(log, _cfg) data = request.get_json() if 'getOnlyRawFooter' not in data: data['getOnlyRawFooter'] = False add_data = { 'name': data['name'], 'vat_number': data['VAT'], 'siret': data['SIRET'], 'siren': data['SIREN'], 'city': data['city'], 'adress1': data['adress'], 'adress2': data['adress2'], 'postal_code': data['zip'], 'get_only_raw_footer': str(data['getOnlyRawFooter']) } if data['companyType']: add_data['company_type'] = data['companyType'] if 'companyTypo' in data: add_data['typology'] = data['companyTypo'] args = { 'table': 'suppliers', 'columns': add_data, } res = _db.insert(args) if res: spreadsheet.update_supplier_ods_sheet(_db) if 'pdfId' in data: id_supplier = _db.select({ 'select': ['*'], 'table': ['suppliers'], 'where': ['status= ?'], 'data': ['ACTIVE'], 'order_by': ['id DESC'], 'limit': '1' })[0]['id'] args = { 'table': ['invoices'], 'set': { 'id_supplier': id_supplier, }, 'where': ['id = ?'], 'data': [data['pdfId']], } res = _db.update(args) flash(gettext('SUPPLIER_ADDED')) else: return json.dumps({'code': 500, 'ok': 'false'}) return json.dumps({'code': 200, 'ok': 'true'})
required=True, help="path to config file") ap.add_argument("-f", "--file", required=False, help="path to referential file") args = vars(ap.parse_args()) if not os.path.exists(args['config']): sys.exit('Config file couldn\'t be found') config_name = _Config(args['config']) config = _Config(config_name.cfg['PROFILE']['cfgpath'] + '/config_' + config_name.cfg['PROFILE']['id'] + '.ini') log = _Log(config.cfg['GLOBAL']['logfile']) spreadsheet = _Spreadsheet(log, config) db_type = config.cfg['DATABASE']['databasetype'] db_user = config.cfg['DATABASE']['postgresuser'] db_pwd = config.cfg['DATABASE']['postgrespassword'] db_name = config.cfg['DATABASE']['postgresdatabase'] db_host = config.cfg['DATABASE']['postgreshost'] db_port = config.cfg['DATABASE']['postgresport'] database = _Database(log, db_type, db_name, db_user, db_pwd, db_host, db_port, config.cfg['DATABASE']['databasefile']) file = spreadsheet.referencialSuppplierSpreadsheet if args['file']: if os.path.exists(args['file']): file = args['file'] mime = mimetypes.guess_type(file)[0]