Xׯd<ddlZddlZddlmZddlZddlmZmZdZdZddZ dZ dZ Gd d Z d Z d ZGd de ZGdde ZGdde ZGddejZGddejZdS)N)newLabel) log_error log_debug3c@dtj|ffd S)zCreate a callback that holds a weak reference to the object. When passing a callback for mforms, use this to create a ref to it and prevent circular references that are never freed. ctt||d}|td|zdS|S)NzObject has no callback %s)getattrprint)refcbnamecallbacks ..\modules\wb_admin_utils.pycallzweakcb..call#sE3355&$//   -f4 5 5 5 5 58:: c|SN)r rr s r zweakcb..*s44V+<+<r)weakrefr )objectr rs `@r weakcbrs7k&)) < < < < < < * *#" "$od33%%f&6777**6+>??? 6&d33333 #"rczt|dsd|_|jr||jdSdS)NrF)rGrFremove)rIs r remove_error_page_if_existsrN^sL 6> * *#" + f)*****++rc(eZdZddZdZdZdZdS)WbAdminValidationBasec||_dSr_error_messageself error_messages r __init__zWbAdminValidationBase.__init__f+rcdSrrrVs r validatezWbAdminValidationBase.validatei rc||_dSrrSrUs r set_error_messagez'WbAdminValidationBase.set_error_messagelrYrctd|jz}|tj|tj|d|S)Nz T)rrTrrrrrshow)rVr!s r errorScreenz!WbAdminValidationBase.errorScreenos[:(;;<<&/***v2333 TrN)rQ)__name__ __module__ __qualname__rXr\r_rbrrr rPrPesU,,,,   ,,,rrPz|There is no connection to the MySQL Server. This functionality requires an established connection to a running MySQL server.z?Location of MySQL configuration file (ie: my.cnf) not specifiedc$eZdZfdZdZxZS)WbAdminValidationConnectioncbtt||_dSr)superrXValidationErrorServerNotRunning_ctrl_be)rVctrl_be __class__s r rXz$WbAdminValidationConnection.__init__|s' 8999 rc4|jSr)rkis_sql_connectedr[s r r\z$WbAdminValidationConnection.validates}--///rrcrdrerXr\ __classcell__rms@r rgrg{sG     0000000rrgc$eZdZfdZdZxZS)WbAdminValidationConfigFilecbtt||_dSr)rirXValidationErrorBadConfigFile_instance_inforV instance_informs r rXz$WbAdminValidationConfigFile.__init__s* 5666+rc|jjSr)rwconfig_file_pathr[s r r\z$WbAdminValidationConfigFile.validates"33rrprrs@r rtrtsG,,,,,4444444rrtc$eZdZfdZdZxZS)WbAdminValidationRemoteAccessc t||_|jjr|ddS|jjr|ddS|ddS)NzThere is no SSH connection to the server. To use this functionality, the server where MySQL is located must have an SSH server running and you must provide its login information in the server profile.ra2Remote Administration is disabled. To use this functionality, the server where MySQL is located must have either an SSH server running, or if it is a computer running Windows, must have WMI enabled. Additionally, you must enable remote administration in the server profile and provide login details for it.)rirXrwrr_rrxs r rXz&WbAdminValidationRemoteAccess.__init__s +   ' \  " "$p q q q q q  ) \  " "$n o o o o o  " "$[ \ \ \ \ \rc|jjSr)rw admin_enabledr[s r r\z&WbAdminValidationRemoteAccess.validates"00rrprrs@r r}r}sL \ \ \ \ \1111111rr}ceZdZdZedZedZedZedZedZ edZ dZ d Z dd Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZd S)WbAdminTabBasectj|d||||_||_||_d|_d|_ tj d|_ tj dkrtj d|_ntj|_|jdtj d|_||j dd||jdd||jddd|_d|_d|_g|_dS)NFdarwinT)rBoxrX set_managedset_release_on_addrwrk _main_view _page_active_error_screen_displayednewBox _page_headersysplatformlower _page_bodynewScrollPanel set_padding _page_footerr5_header_contents_body_contents_footer_contents _validations)rVrlry main_views r rXzWbAdminTabBase.__init__sL D%(((  !!!+ #!',$"M%00 <    8 + +"(-"6"6"("7"9"9 ##A&&&"M%00 "E4000 $--- "E4000 $" $ rc|jjSr)reditorr[s r rzWbAdminTabBase.editors %%rc|jSrrkr[s r backendzWbAdminTabBase.backend }rc|jSrrr[s r rlzWbAdminTabBase.ctrl_berrc|jSrrwr[s r ryzWbAdminTabBase.instance_info ""rc|jSrrr[s r server_profilezWbAdminTabBase.server_profilerrc|jSr)rr[s r rzWbAdminTabBase.main_views rcJ|jD]}|s|cSdSr)rr\rV validations r r\zWbAdminTabBase.validates>+ " "J&&(( "!!!! "trc:|j|dSr)rappendrs r add_validationzWbAdminTabBase.add_validations   ,,,,,rNc tj}||dz|d|d|d|d|d|dtj}| tj || tj||dztj|}|||tj|tjtj|}|||tj|tj||dd ddtjtjz||d ddd tjtjztjz||d dd dtjtjztjz|r1||ddddtjtjz|S) Nz Headerr$r%rr& Headerz Imager')rr(r)r*r+r,r-rr.r/r0r1r2r3r4rrr8rr9r;r<r5r6r7r:) rVr=r> descriptionrightViewObjectheaderrBlabel1label2s r create_standard_headerz%WbAdminTabBase.create_standard_headers["" i/000Q"""q!!!!!"%%%2!!!"$$  ((::4@@AAA f./// {X-...''f/000*+++-- $$$fn---,--- 5!Q1f&69I&IJJJ 61aAv'7&:L'LvO_'_``` 61aAv'7&:L'LvO_'_```  Y JJ1aF4DvGW4W X X X rc|jr|j|j||_|jdddd|j|jdddS)N T)rrrMrr5)rVrs r set_headerzWbAdminTabBase.set_header sp   <   $ $T%: ; ; ; & ))"b"a888 d3T4@@@@@rcZ|||||dSr)rr)rVr=r>rs r set_standard_headerz"WbAdminTabBase.set_standard_headers, 33D%MMNNNNNrc|jrXt|jtjr |j|jn|j||_t jdkr#|j |jdddS|j |jdS)NrT) r isinstancerrrrMrrrr5)rV body_contentss r set_body_contentsz WbAdminTabBase.set_body_contentss   '$/6:66 'o$$T%89999o$$&&&+ <    8 + +##D$7tDDDDD##D$788888rcb||d|_dS)NT)rrbr)rVfailedValidations r set_error_screenzWbAdminTabBase.set_error_screen$s1 /;;==>>>'+$$$rc|jr|j|j||_|jd|jdddd|j|jdddS)NFooterrrT)rrrMr)rr5)rVfooters r set_footerzWbAdminTabBase.set_footer(s   <   $ $T%: ; ; ; & &&x000 ))"aR888 d3T4@@@@@rc|jdndS)NFT)rr[s r ui_createdzWbAdminTabBase.ui_created1s+3uu=rc*|jrdS|jsdSdS)NTF)rrr[s r needs_to_create_uiz!WbAdminTabBase.needs_to_create_ui4s'  ' 4" 4urcdSrr)rVfailed_validations r validation_failed_notificationz-WbAdminTabBase.validation_failed_notification=r]rcdSrrr[s r "validation_successful_notificationz1WbAdminTabBase.validation_successful_notification@r]rcdSrrr[s r create_uizWbAdminTabBase.create_uiCr]rcdSrrr[s r update_uizWbAdminTabBase.update_uiFr]rc|jSrrr[s r page_activezWbAdminTabBase.page_activeIs   rcd|_ ||}|r+||||nk|rC|d|_|| n| nN#t$rA}ddl }| tdt|zYd}~nd}~wwxYw|dS#|wxYw)NTFrz"Exception activating the page - %s)rsuspend_layoutr\rrrrrrrr Exception traceback print_excrstr resume_layout)rVrers r page_activatedzWbAdminTabBase.page_activatedLs`  !    ! ! ! $   !334EFFF%%&78888((** !77999/4,&&t~~'7'78888    E E E        ! ! ! :SVVC D D D D D D D D E    D   s0CC D. D7D D.DD..Ecd|_dS)NFrr[s r page_deactivatedzWbAdminTabBase.page_deactivatedds!rr)rcrdrerXpropertyrrrlryrrr\rrrrrrrrrrrrrrrrrrr rrs###J&&X&XX##X###X#X ---BAAAOOO 9 9 9,,,AAA>>>            !!!!!!0"""""rrceZdZddZdS)MessageButtonPanelNc tj||||d|d|d|d| dd|_ |rqtj }| tj |||dddddtj||_|jtj|jtj||jddddtjtjz|tj|ddddtjtjz|s|r3tjd|_ |j d|rs|\}}tj|_|j||j||j |jd dnd|_|rs|\}}tj|_ |j ||j ||j |j d dnd|_ |s|r8||j ddddtjtjzdSdS) Nrr$rr'r%TF)!rTablerXrrrr-r,r*r+ _buttonBoxr.r/r0r1r2r5r_labelr BigBoldStylerrr6r7r set_spacing newButton_buttonset_textadd_clicked_callbackadd_end _alt_button) rVr=r>rJbutton1button2rBbutton_caption button_actions r rXzMessageButtonPanel.__init__is d###  !!!  ### R    1 a     +&((E OOFJNN,,>>tDD E E E HHUAq!Q * * *oe,,  f1222 ""6#6777 aAq&*:V=M*MNNN &&1aF4DvGW4WXXX  ,g ,$mD11DO O ' ' + + +  ,3 )NM!+--DL L ! !. 1 1 1 L - -m < < < O # #DL% > > > >DL  $,3 )NM%/11D    % %n 5 5 5   1 1- @ @ @ O # #D$4eT B B B B#D   Wg W HHT_aAq&2BVEU2U V V V V V W Wrr)rcrdrerXrrr rrhs./W/W/W/W/W/Wrrr)rrrr workbench.logrrrr"rDrKrNrPrjrvrgrtr}rrrrrrr rs,  //////// = = =   4444+++$#b`00000"700044444"744411111$91110A"A"A"A"A"VZA"A"A"H0W0W0W0W0W0W0W0W0W0Wr