B
    b	                 @   sP   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 G dd deZdS )	    )models)gettext_lazy)AbstractCloud)AdminRuntimeWarning)choicesc                   s   e Zd ZejeddddejddZejedddddZ	ejedddddZ
ejed	ddddZejed
ddddZejedddddZejedejejdddZejedddddZG dd dZ fddZ  ZS )
ParallelDbZparallelDb_field_database2   FZoracle)
max_lengthnullblankr   defaultZparallelDb_field_ip_address)r	   r
   r   ZparallelDb_field_portZparallelDb_field_database_nameZparallelDb_field_userZparallelDb_field_passwordZparallelDb_field_serviceTypeT)r   r   r
   r   ZparallelDb_field_duplicatePunchr   )r
   r   r   c               @   s   e Zd ZdZedZeZdS )zParallelDb.MetabaseZparallel_databaseN)__name__
__module____qualname__Z	app_label_Zverbose_nameZverbose_name_plural r   r   7G:\easytimepro\master/mysite/base\models\parallel_db.pyMeta   s   r   c          
      s   t jj| jjd }|r.| jjr.tt	dyPddl
m} | j| j| j| j| j| j| jd}||ddd}|r|tt	dW n. tk
r } ztt	dW d d }~X Y nX tt | j|| d S )	N)Z
company_idZparallelDb_testConnection_existr   )	test_conn)database
ip_addressportdatabase_namepassworduserservice_typeT)testZis_parallel_dbZdbMigrate_testConnection_fail)r   ZobjectsfilterZcompanyidexists_stateZaddingr   r   Zmysite.base.views.intergrationr   r   r   r   r   r   r   r   	Exceptionsupersave)selfargskwargsobjr   Zparamsmsge)	__class__r   r   r$      s$    
zParallelDb.save)r   r   r   r   Z	CharFieldr   r   ZDATABASE_TYPEr   r   r   r   r   r   ZSmallIntegerFieldZSERVICE_TYPEZSERVICE_NAMEr   ZIntegerFieldZduplicate_punchr   r$   __classcell__r   r   )r+   r   r      s   r   N)Z	django.dbr   Zdjango.utils.translationr   r   Z!mysite.admin.abstract_cloud_modelr   Zmysite.admin.exceptionsr   Zmysite.iclockr   r   r   r   r   r   <module>   s
   