Browse Source

Compare version correctly

Philippe Le Brouster 7 years ago
parent
commit
dec6716d8e
1 changed files with 6 additions and 6 deletions
  1. 6 6
      himports/dolibarrAlchemy.py

+ 6 - 6
himports/dolibarrAlchemy.py

@@ -5,7 +5,7 @@ from sqlalchemy import Column, Integer, ForeignKey, UniqueConstraint
 from sqlalchemy.orm import relationship, sessionmaker
 from sqlalchemy.ext.declarative import declarative_base, DeferredReflection
 from sqlalchemy import create_engine, MetaData
-
+from distutils.version import LooseVersion
 
 class DolibarrSQLAlchemy(object):
 
@@ -53,8 +53,8 @@ class DolibarrSQLAlchemy(object):
             __abstract__ = True
 
             @classmethod
-            def is40(cls):
-                return cls.metadata.info['dolibarr_version'].startswith("4.0")
+            def after40(cls):
+                return LooseVersion(cls.metadata.info['dolibarr_version']) > LooseVersion("4.0")
 
         class Bank(DolibarrBase):
             __tablename__ = "llx_bank"
@@ -307,7 +307,7 @@ class DolibarrSQLAlchemy(object):
                 lazy="subquery",
             )
 
-            if DolibarrBase.is40():
+            if DolibarrBase.after40():
                 fk_code_ventilation = Column(Integer, ForeignKey('llx_accounting_account.rowid'))
 
         class FactureFournDet(DolibarrBase):
@@ -334,7 +334,7 @@ class DolibarrSQLAlchemy(object):
                 lazy="subquery",
             )
 
-            if DolibarrBase.is40():
+            if DolibarrBase.after40():
                 fk_code_ventilation = Column(Integer, ForeignKey('llx_accounting_account.rowid'))
 
         class AccountingAccount(DolibarrBase):
@@ -342,7 +342,7 @@ class DolibarrSQLAlchemy(object):
             __tablename__ = "llx_accountingaccount"
             id = Column("rowid", Integer, primary_key=True)
 
-            if DolibarrBase.is40():
+            if DolibarrBase.after40():
                 __tablename__ = "llx_accounting_account"
 
         self.Bank = Bank