
Dlo^c           @   s  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z m Z d  d l m Z d  d l m Z d  d l Z 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  d d l m! Z! d d l" m# Z# m$ Z$ d d l% m& Z& d d l' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ d d l0 m1 Z1 m2 Z2 d d l3 m4 Z4 m5 Z5 d d l6 m7 Z7 d d l8 m9 Z9 d d l: m; Z; i e< d 6e< d 6Z= y< d  d l> m? Z? e@ e? d  oze? jA eB  eB k	 e= d <Wn eC k
 rn Xy' d  d lD mE ZE e@ eE d  e= d <Wn eC k
 rn Xe	 jF   ZG eH ZI e jJ d    ZK e jJ d    ZL e jJ d d   ZM e jJ eB d d    ZN e jJ d!    ZO e jJ eB d eB eB d"   ZP e jJ eB d d#   ZQ e jJ eB d$   ZR e jJ eB d%   ZS e jJ eB eB eB eB eB eB eB eB eB eB eB d&   ZT d'   ZU eB d e< d(  ZV eB e< e< eB d eB eB e< d eB e< d)  ZW d*   ZX d+   ZY d,   ZZ d-   Z[ eB d.  Z\ e jJ e j] d/     Z^ e j] d0    Z_ d1   Z` d2   Za d d3  Zb d4   Zc d d5  Zd d6   Ze d7   Zf d8   Zg d9   Zh d:   Zi d;   Zj e j] d<    Zk d=   Zl d>   Zm d?   Zn e jJ d@    Zo dA   Zp e j] dB    Zq e j] dC    Zr e jJ e j] dD     Zs e jJ e j] dE     Zt e jJ e j] dF     Zu e j] dG    Zv e jJ e j] eB eB dH    Zw e jJ dI    Zx dJ   Zy dK   Zz dL   Z{ d S(M   iN(   t   SHA256(   t   HMAC(   t   Wint	   _download(   t   _acla(   t   _relogin(   t   SmartAppUserSettingsi   (   t   container_conf(   t   container_urls(   t   container_lowres(   t   container_security(   t   container_logos(   t   SessionDataManagert   DbDataStorage(   t   ContainerSettings(   t   getUserInfot   setUserInfot   isCompanySupervisort   get_customer_VATt   get_TSIDt   get_customer_anagt   get_user_anagt   is_logged_user_admin(   t   has_pending_menust   get_viewid_from_itemid(   t   convertToContainerUrlt   resolve_session_placeholders(   t   load_container_configuration(   t	   Preferiti(   t   JavascriptConfigurationt   TCE_installert   UC(   t
   websgd_libt   get_WEBSGD_installer(   t   uc_libt   getServiceMenuc         C   s   t  |  d t S(   Nt   from_external_link(   t   _container_maint   True(   t   req(    (    s   container/container_main.pyt   externalLink\   s    c         C   s^   d } t    j t  4 } | j d  rH | j d  r? d n d } n  Wd  QXt |  d | S(   Ni   t   layout_optimization_requesti   i   t   layout_optimization(   R   t   storageR   t   hast   getR%   (   R'   R*   t   storage_manager(    (    s   container/container_main.pyt   optimizeLayoute   s
    $t    c         C   s   t  |  d | d t S(   Nt   viewt   duplicated_session(   R%   R&   (   R'   R1   (    (    s   container/container_main.pyt   duplicateSessionx   s    c         C   s   t  |  | |  S(   N(   t   _default_entry_point(   R'   t   infotextR1   (    (    s   container/container_main.pyt   GET   s    c         C   s   t  j |   S(   N(   R   R6   (   R'   (    (    s   container/container_main.pyt   relogin   s    c         C   s:   t  |  d | d t d | d  k	 r' t n t d | d | S(   NR5   t
   single_appt   orphaned_appt   app_datat   workarea_options(   R%   R&   t   Nonet   False(   R'   R5   t   appDatat   workareaOptionst   orphanedApp(    (    s   container/container_main.pyt   NewAppWindow   s    c         C   s(   t  |  d | d t d t d | d d  S(   NR5   R8   R9   R:   R;   (   R%   R&   R<   (   R'   R5   R>   (    (    s   container/container_main.pyt   NewOrphanAppWindow   s    c         C   s)   t  |  d t d t d | d i t d 6S(   NR8   R9   t   function_codeR;   t   closable(   R%   R&   R=   (   R'   t   code(    (    s   container/container_main.pyt   FunctionOnly   s    c      
   C   s"   t  |  d t d t d | d d  S(   NR8   R9   RC   R;   (   R%   R=   R<   (   R'   RE   (    (    s   container/container_main.pyt   Function   s    c         C   s  | r t  j t  j |  n  | r8 t  j t  j |  n  | rT t  j t  j |  n  | rp t  j t  j |  n  | r t  j t  j |  n  | r t  j t  j |  n  | r t  j t  j |  n  |	 r t  j t  j |	  n  |
 rt  j t  j |
  t  j t  j |
  n  | r+t  j t  j |  n  i d d 6d  d 6} | r| r| rt j d  ryh d d l	 m
 } | |  | p| | d | d | \ } } | d <| d	 k rd
 | | f | d <n  WqqXn  i | rt |  n d  d 6| d 6| d 6| d 6| d 6| d 6| r&t |  n d  d 6| d 6|	 d 6|
 d 6| d 6} | j   } | j i t d 6| pqd  d 6 | r| d k r| d k rt |  | |  rd  St |  d | S(   NR0   t   errort   datat   pgi(   t   ReadInfoContextt   annot   gruppoi    s   %s (%s)t   appidt   procsigt   environmentt   lynfaenvRawt   dbnamet   contextt   yeart   appgrpt
   templateIdt	   returnUrlt   templateTitlet   enabledt   contextDatat   wwwt	   dbportalet   smart_desktop_data(   R
   t   validatet
   is_numerict	   is_stringt   is_polyedro_urlt   is_safeR<   t   _utilst   CheckAppt   www.pg.pg_lib_wrapperRK   t   intt   copyt   updateR&   t   _execute_homepage_hookR%   (   R'   RN   RO   RP   RQ   RR   RS   RT   RU   RV   RW   RX   t   context_dataRK   t   _rett   _ret_msgt   query_string_parametersR]   (    (    s   container/container_main.pyt   SmartDesktop   sf    !.
!c         C   s   d | } t  j |  |  } | s t } y t j |  } Wn
   n Xd t |  k rf | j } n  | r | j } t j t j	 t
 |   |  } t j |  }	 t j |	 i | d 6 }
 t  j |  | t  t j |  |
  t Sn t  j |  |  t S(   Ns"   pe_execute_func_before_homepage_%st   pe_execute_func_before_homepaget   url(   t   _ssvarst   loadR=   Rc   t   loadconft   dirRo   t   pe_page_before_homepaget	   createurlt   handler2urlRn   t   py2urlt   saveR&   t   redirectt   remove(   R'   RO   t
   parameterst   hook_executed_flag_namet   is_homepage_hook_executedt   execute_hookt   module_objectt   function_to_callt   url_to_homepaget   url_to_functiont   url_to_function_with_redirect(    (    s   container/container_main.pyRi   %  s,    
	c   
      C   s  t  j |   } | j d t  s- t j  n  t } d } t   j t  : } | j	 d  r | j d  rr d n d } t
 } n  Wd  QX| r t j |   r t j |   r t  j t  j t   } t  j t  j t   }	 t j |  | |	  St |  d | d | d | d	 | S(
   Nt   container_session_validi   R)   i   i   R5   R1   R*   R2   (   Rc   t
   GetSessionR-   R=   t   _exceptionst	   MainIndexR   R+   R   R,   R&   R	   t   isLowResolutionScreent   userMustChooseToOptimizeRv   Rw   R6   R/   t   showLayoutOptimizationFormR%   (
   R'   R5   R1   R2   t   sessiont   optimization_already_chosenR*   R.   t   main_urlt   layout_optimization_url(    (    s   container/container_main.pyR4   I  s,    c   ;      C   s  | r t  j t  j |  n  |	 r8 t  j t  j |	  n  t j   sQ t j j   St } | d  k	 rp | d } n  | r | r | r | r t
   j t  & } | j d  r | j d  n  Wd  QXn  t |   } t j |   } t   } t   } | j } | j } | j } | j } t d  } d | _ y | j } Wn t k
 rUd  } n X| d  k	 rn| | _ n	 d | _ t j   } | r|  j d  k	 rt j |  j d | j g d d | _ n  t | _  d  } d  } d  } d  } | rt! |   } t } d	 | _" nLt# rt$ |   } n  | rKd
 | _" t% |  d } | d k rY| d | } n  t& j' |  j( d d  } t% |  d k r| d n d } | rt  j t  j |  n  t% |  d k r| d n d } | rt  j t  j |  n  t% |  d k r| d n d  } | d  k	 rTy t) j* |  } WqHt k
 rDqHXqTn	 d | _" t | _+ d | j | _, t- j. j/   pt- j0   pd } t1 j2   }  d t1 j3 t4 j3 | |  f }! d t4 j3 |  f }" d }# | j5 d k r| j6 d k r| j7 }$ |$ rd |$ }# qn  t j8 |   }% t# }& t# }' | r=| r=t }' n  i t d 6t d 6t# d 6t# d 6|' d 6t# d 6t# d 6t# d  6|& d! 6t d" 6t# ot9 j:   d# k d$ 6t# ot; j< j= |   d% 6}( t> |   }) |) d& |( d" <d }* |% d' d( k s|% d' d) k rd* }* n
 t |( d+ <i |) j? d,  d, 6}+ | rt |+ d- <t |+ d. <t |+ d/ <t |+ d0 <i | d1 d1 6| d2 d2 6| d3 d3 6| d4 d4 6| d5 d5 6| d6 d6 6| d7 d7 6|+ d8 <i | d9 d9 6| d: d: 6| d; d; 6|+ d< <n| rjt |+ d. <| |+ d/ <| d  k	 ryS t) j* |  } d0 | k r2| d0 r2t |+ d0 <n  d= | k rO| d= |+ d= <n  Wqgt k
 rcqgXqnn t@ jA |   r|
 d  k s|
 d k r| jB }
 n  |
 d k rd }	 t |+ d> <qn  |	 d k r|	 |+ d? <n  tC rtD |  |% d'  |+ d@ <n  i |+ r|+ n d  dA 6i d  dB 6d  dC 6d  dD 6d dE 6dF 6}, | r| jE rtF | jE  |, dF dB <dG |, dF dD <dH |, dF dE <d  | _E n| d  k	 r| |, dF dC <n | d  k	 r| jG dI  d k r| j( dI  }- i |- d dJ 6|- d dK 6|, dF dB <n | |, dF dB <| |, dF dD <n} | rt# rtH |  ri d  dJ 6tF dL  dK 6|, dF dB <dM |, dF dD <i t dN 6t dO 6t dP 6t dQ 6i t dR 6dS 6} n  | d  k	 rtI | tJ  r| |, dT <n  | d  k	 rtI | tJ  r| |, dU <n  tK |   |, dV <d }. d }/ t# rZ	tL jM dW k r'	dX i |! dY 6}0 q	dZ i |! dY 6d[ d\ 6d] d^ 6d_ d` 6| jN da 6}0 n- db i |! dY 6| d\ 6| d^ 6| d` 6|# dc 6}0 |& r^
t# r^
| r^
t jO dd  r^
de df lP mQ }1 |1 |   \ }2 }3 |3 }4 t }5 i |2 dg 6|3 dh 6|5 di 6|, dj <|5 s@
dk i | jR dl 6|" dm 6|3 dn 6tS jT |4 jU do   dp 6| dq 6}6 qy
dr i | jR dl 6|" dm 6}6 n dr i | jR dl 6|" dm 6}6 d }7 | jV d k r
| r
ds }7 q
dt }7 n  d }8 | r
tL jM dW k o
| jW dW k }9 du | jX |9 r
d n dv f }8 n  d }: t# rD| rDt; j< j= |   rDdw t; j< jY   }: t; j< jZ |   |, d% <n  | j, dx i |8 dy 6|6 dz 6|: d{ 6|! dY 6|* d| 6|0 d} 6| jN d~ 6| d 6|( rd t j[ |(  d n d d 6t1 j\ d 6| jX d 6t] j^ j( | jX  d d 6t j_ t] j^ j( | jX  d d  d 6t j[ |,  d 6|7 d 6|. d 6|/ d 6| r5d n dJ d 6t j[ |  d 67_, | | _` ta |  |  |% d d k rd |  jb d <n  | jc |  d td   S(   NRY   t   layout_optimization_overriddent   windows   <!DOCTYPE html><html>t
   TeamSystemt   login_aziendat   seps    @ s   container_smartdesktop.psps   container_singleapp.pspi   i    t   =t   |i   R0   i   i   s   container_main.psps/   
        <head>

        <title>%s</title>
    t   its   cv=%s&tv=%s&lng=%s%ss   v=%s%ssg   <style type="text/css" id="custom_theme">#header-band {background-image: url('%s') !important;}</style>s   config-deferredInstrumentations!   config-useDeferredInstrumentationt   newthemes   search-on-tops   contextual-nav-menus   nav-menu-homepage-buttons   nav-menu-scrollbart   checkAppInSmartdesktopt   embeddedJasperReportst   measureperfi  t   rebrand2019t	   analyticst   enablePerformanceMeasurest   devicet   Tablett
   Smartphones
  
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="HandheldFriendly" content="true" />

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon" href="/www/_libs/_skin/lookfeel.d/new/images/touch-icon-ipad.png">
<link rel="apple-touch-icon" sizes="152x152" href="/www/_libs/_skin/lookfeel.d/new/images/touch-icon-ipad-retina.png">
t   toucht   chatbott   smartDesktopt   singleAppModet   singleAppModeOrphanedt
   fullScreenRN   RO   RP   RR   RS   RT   RZ   t   smartDesktopContextRV   RW   RX   t   smartDesktopTemplatet   workAreaInternalIdt   layoutOptimizationR1   t   webSGDt   optionsRp   t   itemcodet   titlet   delayt
   navigateTot   Linki  t
   __urlsep__t   maint   alts*   /www/container/container_main/SmartDesktopt   Homet   hiddenStatusBart   noCommandIconsRD   t   showAltContentAtStartupt   isSmartDesktopt   injectedOptionsR?   t   menuItemDatat
   codCompanyt   developments   
<link id="theme_favicon" href="/favicon.ico?%(cacheBust)s" rel="shortcut icon" type="image/vnd.microsoft.icon" />

<link rel="stylesheet" href="/www/container/skins/newtheme.css?%(cacheBust)s" type="text/css" charset="utf-8"/>
t	   cacheBustsn  
<link id="theme_favicon" href="/favicon.ico?%(cacheBust)s" rel="shortcut icon" type="image/vnd.microsoft.icon" />

<link rel="stylesheet" href="/www/container/skins/layout/layout.css?%(cacheBust)s" type="text/css" />
<!--[if gte IE 9]>
<link rel="stylesheet" href="/www/container/skins/layout/ie9.css?%(cacheBust)s" type="text/css" />
<![endif]-->
<!--[if lte IE 8]>
<link rel="stylesheet" href="/www/container/skins/layout/ie8.css?%(cacheBust)s" type="text/css" />
<![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" href="/www/container/skins/layout/ie7.css?%(cacheBust)s" type="text/css" />
<![endif]-->

<link id="theme_header" rel="stylesheet" href="/www/container/skins/themes/%(themeName)s/theme.css?%(cacheBust)s" type="text/css" />

<link id="theme_interface" rel="stylesheet" href="/www/container/skins/interfaces/%(interfaceName)s/interface.css?%(cacheBust)s" type="text/css" />

<link id="theme_activearea" rel="stylesheet" href="/www/container/skins/activeareas/%(activeareaName)s/activearea.css?%(cacheBust)s" type="text/css" />
<!--[if lte IE 8]>
<link id="theme_activearea_ie8" rel="stylesheet" href="/www/container/skins/activeareas/%(activeareaName)s/ie8.css?%(cacheBust)s" type="text/css" />
<![endif]-->
<!--[if lte IE 7]>
<link id="theme_activearea_ie7" rel="stylesheet" href="/www/container/skins/activeareas/%(activeareaName)s/ie7.css?%(cacheBust)s" type="text/css" />
<![endif]-->

<link rel="stylesheet" href="%(dojoPackageBaseUrl)sdojox/widget/ColorPicker/ColorPicker.css?%(cacheBust)s" type="text/css" />
<link rel="stylesheet" href="/www/container/skins/themes/newtheme/theme.css?%(cacheBust)s" type="text/css" />
t   cinderst	   themeNamet   platinot   interfaceNamet   bluefluot   activeareaNamet   dojoPackageBaseUrls  
<link id="theme_favicon" href="/www/container/skins/themes/%(themeName)s/icons/favicon.ico?%(cacheBust)s" rel="shortcut icon" type="image/vnd.microsoft.icon" />

<link rel="stylesheet" href="/www/container/skins/layout/layout.css?%(cacheBust)s" type="text/css" />
<!--[if gte IE 9]>
<link rel="stylesheet" href="/www/container/skins/layout/ie9.css?%(cacheBust)s" type="text/css" />
<![endif]-->
<!--[if lte IE 8]>
<link rel="stylesheet" href="/www/container/skins/layout/ie8.css?%(cacheBust)s" type="text/css" />
<![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" href="/www/container/skins/layout/ie7.css?%(cacheBust)s" type="text/css" />
<![endif]-->

<link id="theme_header" rel="stylesheet" href="/www/container/skins/themes/%(themeName)s/theme.css?%(cacheBust)s" type="text/css" />

<link id="theme_interface" rel="stylesheet" href="/www/container/skins/interfaces/%(interfaceName)s/interface.css?%(cacheBust)s" type="text/css" />

<link id="theme_activearea" rel="stylesheet" href="/www/container/skins/activeareas/%(activeareaName)s/activearea.css?%(cacheBust)s" type="text/css" />
<!--[if lte IE 8]>
<link id="theme_activearea_ie8" rel="stylesheet" href="/www/container/skins/activeareas/%(activeareaName)s/ie8.css?%(cacheBust)s" type="text/css" />
<![endif]-->
<!--[if lte IE 7]>
<link id="theme_activearea_ie7" rel="stylesheet" href="/www/container/skins/activeareas/%(activeareaName)s/ie7.css?%(cacheBust)s" type="text/css" />
<![endif]-->

%(customThemeStyles)s
t   customThemeStylest   rsi(   t   RSClientAuthTokent   tokent   srvt   deferredt   jaspersR  
<script>
(function () {
    var headNode = document.head;

    function addDojoScriptNode(onloadCb) {
        var dojoScriptNode = document.createElement('script');
        //dojoScriptNode.async = true;
        //dojoScriptNode.defer = true;
        if (onloadCb) {
            dojoScriptNode.onload = dojoScriptNode.onerror = onloadCb;
        }
        dojoScriptNode.src = "%(dojoLayerBaseUrl)sdojo.js?%(cacheBustFramework)s";
        headNode.appendChild(dojoScriptNode);
    }

    function addVisualizeScriptNode(onloadCb) {
        var visualizeScriptNode = document.createElement('script');
        //visualizeScriptNode.async = true;
        //visualizeScriptNode.defer = true;
        if (onloadCb) {
            visualizeScriptNode.onload = visualizeScriptNode.onerror = onloadCb;
        }
        visualizeScriptNode.src = '%(report_server_url)s/client/visualize.js?userLocale=%(userLocale)s&logEnabled=false&logLevel=error&_opt=true&baseUrl=%(report_server_base_url)s';
        headNode.appendChild(visualizeScriptNode);
    }
    addVisualizeScriptNode(addDojoScriptNode);
}());
</script>
t   dojoLayerBaseUrlt   cacheBustFrameworkt   report_server_urls   utf-8t   report_server_base_urlt
   userLocalesc   
<script src="%(dojoLayerBaseUrl)sdojo.js?%(cacheBustFramework)s" type="text/javascript"></script>
s   deps: ['container/desktop'],s   deps: ['container/container'],s7   <script src="%s/HackTimer/HackTimer%s.min.js"></script>s   .devs   <script src="%s"></script>s  
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        %(viewportMeta)s

        %(stylesheets)s

        %(HackTimer)s

        <script type="text/javascript">
            var dojoConfig = {
                cacheBust: '%(cacheBust)s',
                async: true,
                parseOnLoad: false,
                baseUrl: '%(baseUrl)s',
                locale: "%(locale)s",
                %(has)s
                packages: [
                    { name: "dojo", location: "dojo" }
                    ,{ name: "dijit", location: "dijit" }
                    ,{ name: "dojox", location: "dojox" }
                    ,{ name: "team", location: "team" }
                    ,{ name: "%(containerPackageName)s", location: "%(containerBaseUrl)s" }
                    ,{ name: "websgdcli", location: "%(websgdcliBaseUrl)s" }
                    ,{ name: "console", location: "console", main: "main" }
                    ,{ name: "dgrid", location: "%(projectBaseUrl)s/dgrid" }
                    ,{ name: "dstore", location: "%(projectBaseUrl)s/dstore" }
                    ,{ name: "tour", location: "%(projectBaseUrl)s/tour" }
                ],
                /*map: {
                    "*": {
                        "dojo/request/xhr": "team/patch/dojo-request-xhr"
                        //"dojo/sniff": "container/patch/dojo-sniff",
                        //"dojo/touch": "container/patch/dojo-touch",
                        //"dojo/dnd/Mover": "container/patch/dojo-dnd-Mover",
                        //"dijit/Dialog": "container/patch/dijit-Dialog",
                        //"dijit/DialogUnderlay": "container/patch/dijit-DialogUnderlay"
                    }
                },*/
                containerStartupOptions: %(containerStartupOptions)s,
                env: %(env)s,
                %(deps)s
                callback: function () {
                    require([ "container/%(appStartupModule)s" ], function () {});
                }
            };
        </script>

        %(I18NLibraryScript)s

        %(materialDesignDependencies)s

        %(analytics_script)s

        %(bootstrapCode)s
        </head>
    t	   HackTimert   bootstrapCodet   analytics_scriptt   viewportMetat   stylesheetst   baseUrlt   locales   has:t   ,R,   t   containerPackageNamet   containerBaseUrlt   projectBaseUrlt	   websgdclit   websgdcliBaseUrlt   containerStartupOptionst   depst   I18NLibraryScriptt   materialDesignDependenciest   desktopmaint   appStartupModulet   envt   browsert   Explorers   IE=edge,chrome=1s   X-UA-Compatiblet   pspvars(e   R
   R^   Rb   t   is_alphanumericRc   t   hasContainert
   _utils_urlt   _redirect2homeR=   R<   R   R+   R   R,   R{   R   R   R   R   t   menuTypeR   R   R   R   t   doctypet   window_titlet	   ExceptionR   t   isMultipleSessionAllowedt   SESt   safe_str_joinR&   t   hasbodyt   _get_desktop_environment_datat   bodyt   HAS_SMARTDESKTOPt   _get_environment_datat   lent   base64t   urlsafe_b64decodet   splitt   jsont   loadst
   customheadt   headt   _i18nt   Catalogt   getCurrentLanguaget   get_base_languageR   t   getBugfixVersionCacheBustt   vert
   _libs_conft   hasCustomThemet	   themeCodet   customThemeHeaderUrlt   getBrowserInfoR   t   get_rebrand_vert   _statisticst   countlyt
   is_enabledR   R-   R	   R   t   lowResolutionLayoutOptimizationt   WEBSGD_SUPPORT_ENABLEDt   _get_websgd_setupt   start_wa_urlR   t   findt	   _is_kioskt
   isinstancet   dictt   _company_id_from_reqt   _configRP   t   dojoConfigBaseUrlRd   t   www.rs.rs_clientR   t   dojoBaseUrlt   urllibt   quotet   encodet   containerLayerUrlt   javascriptEnvironmentR   t   get_analytics_engine_urit   get_configurationt	   jsondumpst   namet   ost   patht   pathjoint	   menu_typeR   t   headers_outt   showt   locals(;   R'   R5   R8   R9   R]   R:   RC   R;   R$   R1   R*   R2   t   is_desktop_appR.   t   userR   t   container_settingst   javascript_configurationR*  t
   theme_namet   interface_namet   activearea_nameR   R   t   multisession_enabledR   t   app_urlt	   app_titlet   menu_item_datat   padding_lenRI   t   current_languaget   bugfix_version_cache_bustt
   cache_bustt   cache_bust_frameworkt   custom_theme_stylest   custom_theme_header_urlt   bit   embedded_jasper_reportst   activate_contextual_nav_menut   dojo_config_hast   container_cfg_optionst   viewport_metat   app_optionst   container_startup_optionst   urlst   i18n_library_scriptt   material_design_dependenciesR   R   R   R   R   t   defer_visualize_requestt   bootstrap_codeR   t   hacktimer_scriptt   use_release_scriptR   (    (    s   container/container_main.pyR%     s(   							
	%		"""
		!
		 
	







&


			8


 	c         C   s   t  t t |    d |  j S(   Nt   key(   t   sortedt   rangeR   t   __getitem__(   t   seq(    (    s   container/container_main.pyt   argsort  s    c         C   sz   t  |  } g  } t |  } xL t t  |    D]8 } t | |  \ } } | j |  | | | |  q1 Wd j |  S(   NR0   (   R   RT  RQ  t   divmodt   appendt   join(   t   St   Pt   pnt   Et   idxt   it   segt   j(    (    s   container/container_main.pyt   scramble  s    !c          C   sA  d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d g }  dc d$ dI d d d d1 d d d d d d1 d$ dc d d d dw d d d d4 d d d d dw dV d d d d d d d d dA d2 d d4 dV d1 d d d d d dV d; d d1 d* dZ d d d d$ dy dy d  d d d d d] d dc d d dV dw d d dn d dw d d d d d d d dU d4 d d dj d^ dy d dI d d dn d+ d d d" d dV d+ d d d" d dj d d dc d d d d dn d* dj d d* dX d d d dy d d1 d4 d d d d d d d d d d d dw d d dU d d dc dn d d4 d* d d d d  d d d d d d d d dn d dn d d d d d d dc dh d] d d d dj d d d d d dh d d d$ d" d dA dX d d  d1 d  d d d d  dc dZ d+ d* d$ dX d d d d d d d dw d d d* d dy d d d^ d d d d d d d dw d2 d d d1 d d d1 d; d dw dh d2 d d d d d d d d] d d d d" d* d d g } t  dj g  | D] } t |  ^ q t |    S(  Ni   i   i   i   i   it   i   i   i   i;   i   i   i   i   i   i   i   i'   i   iZ   i   i   i$   i   i   i   i|   i   i   i   iX   i5   i\   iy   i   iv   i   i   i   i   i   ig   iR   i   i   i   i%   i
   i4   i1   i   iY   i   i,   i.   i   i   i   ix   i   i   i   i   i   ia   i   i   i   i   i   i   i   iK   i(   i   i   i   i   i   i   i   i   i=   i   iE   ij   i   iQ   i   ie   i   i   iI   iD   i   i   i   i   iH   i   i    i   i   iP   i   ib   i   i   i   iT   i   i   i*   i   i   i   i   i   iu   i   iC   i   i   i	   i   i`   i   i   iz   iG   i[   i   i~   iq   i)   i   i   i   ip   i   i   i   i   i6   ih   id   i   i   iS   ir   i:   iW   i    i   i   i   i7   i   i<   i_   i"   i8   i   i   i   i{   i   i@   i   i   i   iO   i?   i   i   i   i   i   i   iV   i   in   iU   i!   iw   i   i   i#   iN   i   i   i   i   i3   i-   i+   i/   i   i   i   i   i   i   ii   if   is   i}   i   i^   i   im   i   i]   i   i   i   i   iM   i   i   i   i   i   i0   i   i2   io   i   iA   i   i   i   i   i   i   i>   i   i&   i   i   i   i   i   iF   i   iJ   iB   i9   iL   ik   i   ic   i   i   i   il   R0   (   R`  RW  t   chrRT  (   t   pt   st   b(    (    s   container/container_main.pyt   k0  s   		c          C   sA  d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d g }  d d dm di d2 d dn d d dx dr d d dm dF d d\ d d d1 d5 d- d d d d dB d8 d d d" d dO d di d d" d d dC dX d: d d dx d d d\ d d d d d d5 d d d9 dO d dx d% d d+ d d{ d d d5 d) d d d d dd d d d dw d d' dX d d: dL d d d d d dB dm d d d d dw dm d d d1 d5 d d d d~ d dL d dG d d d d d de dm d d d d d dV d d dd dG d d+ d5 da d d d d d d dX d' d d d d dC d dw d d d d dY d\ d d dZ dn d d0 d d% d1 d d d' d d) d d> d2 dt dw d d8 d dm d5 dF dX d dX d d dN dS d d+ dY d> d) d d d0 dC d5 d d d d d d dS d) d dO d d d d d d d d d{ dG dL d d di d d d dG d d d d d1 d\ d d d dS d d d d d d+ d d> d dZ dt d d{ d dG d2 d0 d d d d d d d d g } t  dj g  | D] } t |  ^ q t |    S(  Ni   i}   i   ii   i   i   i/   i   i   i   i   i   i1   i   i   i   i   iU   i   iD   i   i   iG   i   i   i   i   i   i   i   i   i   i   it   i   i   iZ   i   iE   i   iQ   i   i2   i   i!   i   i   iX   iz   iK   i   i   i'   i   i   ij   iS   iV   i   i   i   i~   i   i   i   i*   i;   i   i   ip   is   i   i   i   ih   ix   i   iv   iP   i   i   i   iA   i+   i   iT   i   ib   iO   i$   i
   iu   i   i   i   i   iW   i   i   iw   iM   i   i   i   ig   i   i   i   i>   iL   i   i   i   i(   i   i6   i   i   i#   iF   i   im   ic   i   i   iH   i   iY   i8   i   i^   i   i    i   id   i   i=   i   i   i   i   i0   i   i   i   i   i   i   i4   i   i3   i`   i   if   i   i   i   i   i)   i   i   iR   i   ir   iB   iy   i"   iC   i%   i   i[   i   i   i   i   i	   i]   i   i   i   i@   i|   i   i   i   i   i   i   i:   i   i   i   i   i5   i   iI   i   i   i   i   i_   i   i   i,   i    i   i   i   i-   i   i   i   ik   i   i   i   i   i.   iq   i9   i   i   i\   i7   i   ie   in   i   i   i   i   i   i   i   i   i?   ia   i   i&   i   i   i   i   iN   i   i   iJ   i   i{   io   i   i   il   i<   i   i   R0   (   R`  RW  Ra  RT  (   Rb  Rc  Rd  (    (    s   container/container_main.pyt   kn%  s   		c         C   s  d d l  m } d d l m } | j |  t t  \ } } } } d } t j d  r d d l	 m
 }	 t j t j d d d	  }
 y" |	 j |
  } | s d } n  Wq t k
 r q Xn  d  } d  } t d
 r t j |   } t j |   } n  | d  k rt j |   } | d } n  i | d 6| d 6| d 6| d 6| d k sP| d k rVt n t d 6i | j d 6| d 6| d 6d 6i | d 6d 6i t j j t j t j d d   d 6d 6} | S(   Ni   (   t   container_websgdi(   t   sr_confR0   RJ   (   t   pg_libt   pgmt   sgR   R   R   t   tokenlt   pairingt   handlerR   R   t   mobileDeviceR  t	   websgdverRp   t   TCEt   SGDt   _confs   websgd_linux_probe.xmlt   linuxt	   optProbes(   R0   Rg  t   www.srRh  t   get_token_infoRf  Re  Rc   Rd   t   www.pgRi  R)  R  t   rootdirt   get_sgd_verR   R<   t   HAS_FUNCTIONALITYR    t   get_WEBSGD_installer_linkt   get_WEBSGD_verR  R&   R=   t   tce_verR'  R(  t   existst   filestorage(   R'   t   device_typeRg  Rh  t   websgd_auth_tokent   websgd_auth_token_legacyt   websgd_pairing_tokent   websgd_check_session_handlert   sgdverRi  t   sgdirt
   plugin_urlt   websgd_versionR@  t   settings(    (    s   container/container_main.pyR  -  sD    !
	#c         C   s7   t    } i d d 6d d 6| j d 6} t j |  |  S(   Nt   idt
   identifierR&  t   labelt   items(   R   t   workareaLayoutsRc   t   sendjson(   R'   R0  RI   (    (    s   container/container_main.pyt   getWasg  s    	c         C   s  i d  d 6} d } |  j } t | d  r7 | j } n  | d k rV t |   | d <n | d k rt   } | j } t |  d  r |  j n t j	 |   } | j
 d  k	 r | j
 n | d d k p | d d	 k } | r| d d k s | d d	 k rd
 } n  | | d <n  t j |  |  S(   Nt   valueR0   t   dataNamet   hasPendingMenuss   containerConfig.fontSizet   browser_infoR   R   R   i   (   R<   t   formt   hasattrR  R   R   t   fontSizeR  Rc   R  t   forceDeviceDefaultsR  (   R'   t   dizt	   data_nameR  R0  t	   font_sizeR@  t   force_device_defaults(    (    s   container/container_main.pyt   getSingleEnvironmentData  s&    			  	c           C   s"   t  j j t j t j d d   S(   Nt   admint   debug_register_events(   R'  R(  R  Rc   R)  R  R  (    (    (    s   container/container_main.pyt   check_log_enabled	  s    	c         C   sC   d  } t |   } | r? t j t j | t  } | j   } n  | S(   N(   R<   R   R   t   newR  t   uidR    t	   hexdigest(   R'   t   uuidt   vatt   hmac_sha256(    (    s   container/container_main.pyt   _get_customer_uuid	  s    c         C   s2   t  j t j d |  | f t  } | j   } | S(   Ns   %s%s(   R   R  R  R  R    R  (   t   user_idt   usernameR  R  (    (    s   container/container_main.pyt   _get_user_uuid'	  s    "c         C   sX  i d d 6d d 6d d 6d d 6t  d 6} t |   } | j | d <d } t |   } | d  k	 } | ry | | d <| } n  d } t } | r t |  | j  \ } }	 |	 r | r | j } | r | r | j	 } q q n  t
 |   \ }
 }	 |	 r4|
 r4|
 j | d <| s4|
 j } | r1| r1|
 j	 } q1q4n  | p=d | d <| pMd | d <| S(   NR0   t   pivat   ragsocR  t   emailt   TSID(   R=   R   t   login_utenteR   R<   R&   R   t   login_id_utentet   bp004_cognomeragsoct   bp004_emailR   t   bp004_partitaiva(   R'   t   customer_dataR/  R  t   tsidt   has_tsidt   rag_soct   use_user_anagt	   user_anagt   errt   customer_anag(    (    s   container/container_main.pyt   _get_customer_data/	  s@    

			c   
      C   s  t  j |   j |  \ } } d } d } d } d } | r | r | j } | j pt d | j pd d | j pp d f j   } | j p d j   } | j p d j   } n  i | d 6t |   d 6t	 | |  d 6t
 j t j t |     j d  d 6| d	 6| d
 6| d 6}	 |	 S(   Ni    R0   s   %s %sR  t   UUIDt	   USER_UUIDR   t   CUSTOMER_DATAR&  t	   firstnamet   lastname(   t   bp004_tbanagrafichet   Tablet   nomeragsoc_utentet   bp004_idt   bp004_denominazioneR  t
   bp004_nomet   stripR  R  R   t   urlsafe_b64encodeRc   R%  R  t   rstrip(
   R'   R  R  t   recR  t   reg_idt   reg_namet   reg_firstnamet   reg_lastnamet   result(    (    s   container/container_main.pyt   _get_user_registry\	  s,    		(

c         C   si   t  } d |  k re |  d re d |  d k re x6 |  d d D]# } | d j d  } | r; Pq; q; Wn  | S(   Nt   connectionst   wsR&  t   alyante_(   R=   t
   startswith(   R   R,   t   ws_connection(    (    s   container/container_main.pyt   _has_alyante_ws_connection|	  s    
c         C   sI   d |  k s |  d r$ i  |  d <n  d |  d k rE g  |  d d <n  |  S(   NR  R  (    (   R   (    (    s   container/container_main.pyt   _init_startup_connections	  s
    c         C   s2   i t  |  d  d 6t  |  d  d 6d d 6d d 6S(	   Ns   alyante_%ses_id%R&  s   %ws%://%host%:%port%/websocketRp   t   arraybuffert   types(   container/communication/RVBMessageParsert   parser(   R   (   R'   (    (    s   container/container_main.pyt   _define_alyante_ws_connection	  s
    c         C   s   | d d j  t |    | S(   NR  R  (   RV  R  (   R'   R   (    (    s   container/container_main.pyt   _add_alyante_ws_connection	  s    c   $      C   s8  t  |   } t j |   } t |   } t d } t   } t   } t   } t } t	 |  d  rj |  j
 n t j |   }	 | j d  k	 r | j n |	 d d k p |	 d d k } | | _ t |  |  |	 d d k s |	 d d k r t } n  t j }
 |  j d  k	 r.d |  j k r.|
 r.|  j d }
 n  |
 d k r@t n t }
 d } t	 | d	  r| j d  k	 rt | j  d
 k r| j d j d  } | t |  d j   } n  d  } t	 | d  r	| j d  k	 r	t | j  } t j   } | r	t |  } q	n  d } t   j t  . } | j d  rK| j d  rKd } n  Wd  QX| d k rt  j! |   rt   j t  L } | j" } | d k r| j d  r| j d  rd n d } qn  Wd  QXn  t# j$   rt# j%   } | rt j& | t  } qd } n d  } d  } | r?t d r6t' j( |   n d  } n  t } i  } t) rt j*   } t+ |   } t | d <| j, t- t. | j/    | rt0 |  rt1 |  t2 |   } qn& t+ |   } | d rt n t | d <y | j3   } Wn t4 k
 rt } n Xt j5   } d } | rgt6 j7 |   } | j8 | j/ f  \ } } | rgt |  } qgn  d } t j9 d  rd d l: m; } t | |    } n  i" t j< d 6| j= d 6t j< d k ot j9 d  ot> j? |  d  d 6t j@ d 6|
 d 6i tA |   d  6d! 6|  jB d" k d# 6tC |   d$ 6| d% 6t j   d& 6t d' 6| d( 6tD   d) 6tE |  | j/ | jF  d* 6| jF d+ 6tG |   d, 6| jH d- 6| j/ d. 6| jI d/ 6tJ |  | j/ | jI  d0 6| jK d1 6tL jM   d2 6i |  j d3 d4 6d5 6i t jN d6 t  d7 6| d8 6tO   d9 6tP |  d: 6| d; 6| d< 6| d= 6d> 6i |  j jQ   d? 6d@ 6| dA 6i t dB 6dC 6i | jR dD 6| jS dE 6| jT dF 6| jU dG 6| jV dH 6| jW dI 6i | jX dJ 6d dK 6| jY dL 6| jZ dM 6| j[ dN 6dO 6i | j\ dK 6| j] dL 6| j^ dM 6dP 6dQ 6i& | j_ dR 6| j` dS 6t) r(| ja n d  dT 6| jb d  k rDd n t | jb  dU 6| dV 6| dW 6| jc dX 6| jd dY 6| je dZ 6| jf d[ 6| jg d\ 6| jh d] 6| ji d^ 6| jj d_ 6| jk d` 6t da 6| jl db 6| jm dc 6| jn o| dd 6| jo de 6| jp df 6| jq dg 6| jr dh 6| js di 6| jt dj 6| ju dk 6| jv dl 6| jw dm 6| d k rTt n t dn 6| jx rm| jy n d do 6| jz dp 6| j{ dq 6| j| dr 6| j} ds 6| j~ dt 6| j du 6| j dv 6| dw 6dx 6i | j jf d[ 6| j dy 6| j jg d\ 6| j dz 6| j je dZ 6| j jh d] 6| j jc dX 6| j jm dc 6| j jr dh 6| j ji d^ 6| j jq dg 6| j jl db 6| j jo de 6| j d{ 6| j jn dd 6| j js di 6| j jt dj 6| j ju dk 6| j jv dl 6| j j" d| 6| j jw dm 6| j jy do 6| j jz dp 6| j j{ dq 6| j j| dr 6| j j d} 6| j j dw 6| j j} ds 6| j j~ dt 6| j j du 6| j j dv 6d~ 6t j |  |  d 6t j   d 6t j   d 6d t j t j t j   f d 6} t) rUt |   | d <| d@ } t j |   \ } }  }! |  | d <| | d <|! | d <t j |   | d <t j |   \ }" }# |" | d <|# | d <| | d <t |   | d <n  | r|	 d d k s{|	 d d k rd | dx dh <d | dx dg <d | dx db <d | dx d\ <d | dx d_ <d | dx d` <t | dx dc <t | dx da <n  d | d <|  j d  k	 r4| dx di |  j d <| dx ds |  j d <n  | S(   NR   R  R   R   R   t   prefs_flg_closebrowseri    R0   t   prefs_default_startpagei   i   t   /i   t   start_wa_itemidR   i   R)   s   it-itt   enableUsageStatst   statisticsCollectionUrlRJ   i(   t   DO_ReadConfPG_WorkAreat   environmentTypet   jsEnvironmentR   t	   testsuites,   testsuite.testsuite_services.RecorderAdd_GETt   tsat   euat   closeBrowserCheckt   plyt   lict   experimentalt   tslR  t   hasFavoritest   areViewsActivet   hasFunctionalityt   servicest   isAdmint   isSupervisort	   companyIdR   t   companyt   userIdR/  t   userRegistryt   remoteServicest   serviceUrlst   login_servernameR&  t   servert   msg_polling_nosessiont   avoidSessionUpdatet   lynfaFullOpenModet
   logEnabledt   kioskt   multiSessionEnabledt   multiSessionCompaniesNot   uit   systemSettingst   sessidt   runtimeR   t   preferenciest   policiest   themeMapt   themeReverseMapt   interfaceMapt   interfaceReverseMapt   activeareaMapt   activeareaReverseMapt   activet   headert	   interfacet
   activeareat	   headerimgt   customThemet   currentt   themet
   desktopUrlt   initialAppUrlt$   contextualHomePageStartupApplicationt   initialAppOpenModet   initialAppMenuIdt   startPageTitlet   showPidt   messagePollingTimeoutt   openWorkareaModet   maxOpenedWorkareast   visibleWorkareast   workAreaDetachModet   useAnimationst   workAreaLayoutColumnst   workAreaLayoutHeightt"   workAreaLayoutUpdateHeightOnResizeR1   t	   closeMenut   saveLastViewt   maxChronologyEntriest   lastActiveMenuFilterR   R  t   navigationPathOrientationt   navigationMenuStatust   warningOnCloseAllt   warningOnCloseWorkAreat   collapsibleWorkAreaTitleR   t   webSGDEagerConnectiont   enableMainScrollbart   narrowMainbart   openInPopupt   showAliasest   taskManNoRendert   notificationsEnabledt   tourOptionst
   langLocalet   containerConfigt   maxSysOpenedWorkareast   sysVisibleWorkareast   maxSysChronologyEntriesR  t   userLangt
   userConfigt   logost   rebrandt   productss   cv=%s&tv=%s%sR   t
   appDetailst   lynfaenvRQ   t   lynfaenvDescrt   availableEnvst
   alyanteenvt   alyanteenvDescrt   alyanteLoginEnvSelectionEnabledR  t   slidingt   fullid   t   hasht   container_prefs_nav_path_dirt   container_prefs_show_aliases(   R   Rc   R   t   _get_ui_optionsR{  R   R   R   R=   R  R  R  R  R<   R   R  t   flg_closebrowserR   R&   R  R   R   R  R  Rf   t   hasMenuViewEnabledR   R   R+   R   R,   R-   R	   R   R  t   _l10nR  t   get_current_localet   to_languageR"   R#   R   t   is_alyante_envsel_enabledR   Rh   R  R   R  R  R  R  R  R   R   t   bp003_tbaziendeR  t   get_aziende_utente_with_infosRd   Re   R  RP   R"  R   t   checkt   disable_encrypt_urlt$   _has_polyedro_collaboration_licensest   _environmentR   R   R   t   login_id_aziendaR  R   R  R  t
   config_tpsR   t   get_service_urlst	   getconfigR  R  R  R  R  R  R  R  R  R	  t   customThemeInterfaceCodet   customThemeActiveareaCodeR  R
  t   interfaceCodet   activareaCodet   desktop_urlR  t   start_contextual_homepage_appt   start_wa_url_open_modeR  R   R!  R"  R#  R$  R%  R&  R'  t   containerViewR)  R*  R+  R,  R   R  R-  R.  R/  R0  R1  t   isWebSGDProbeEnabledR2  R3  R4  R5  R6  R7  R8  R9  t   userSettingsR<  R=  R>  R?  R:  R   t   get_logos_configurationR  t   get_product_namesR   R  R  R  t   _load_applications_detailst   get_login_lynfa_environmentt    get_available_lynfa_environmentst   get_login_alyante_environmentR   ($   R'   R/  R   t
   ui_optionst   send_uc_service_configR0  R1  t	   preferitiR  R@  t   close_browser_checkt   start_page_titlet   partst   initial_app_menu_idt   has_menu_viewR*   R.   t   current_localeR  t   has_alyante_env_login_selectionR   t   has_favoritesR5  t   multisession_companies_not   tbazt   user_companiest   _t   fullsize_wa_open_modeR  R  R  t   lynfa_env_rawt	   lynfa_envt   lynfa_env_descrt   alyante_envt   alyante_env_descr(    (    s   container/container_main.pyR   	  s   

			' 	 				*	"
	


































	

























 
c         C   sm  t  |   } t |   } t |   } t | d <| j t t | j    t   } t	 j
 |   \ } } } t	 j |   \ } }	 i t j   d 6t |   d 6t j d 6| j d 6t   d 6| j d 6t |   d 6| j d	 6i |  j j   d
 6| d 6| d 6| d 6| d 6|	 d 6t	 j   d 6d 6| d 6d t j t j t j   f d 6i t d 6d 6i | d 6d 6}
 |
 S(   NR  R  RD  R  R  R  R  R   R  R  RE  RQ   RF  RH  RI  RJ  R  R   s   cv=%s&tv=%s%sR   R%  R;  R  R  (   R   RP  R   R&   Rh   R  R   R  R   Rc   Rn  Rp  R   R_  Rm  R  RP   R"  R   R]  R  R   R  RV  R   R  R  R  R=   (   R'   R/  Rq  R   R1  R  R  R  R  R  R  (    (    s   container/container_main.pyR     sB    
	




c         C   sH   |  j  } t | d  r. t j |  t |    St j |  t |    Sd  S(   Nt   isSmartDesktopInstance(   R  R  Rc   R  R   R   (   R'   R  (    (    s   container/container_main.pyt   getEnvironmentDataM  s    	c         C   s1   t  j   } |  r- | |  k r& |  | Sd  Sn  |  S(   N(   R  t   get_current_or_base_languageR<   (   t   captionR:  (    (    s   container/container_main.pyt   _get_localized_captionV  s    c         C   s"   t  d |    t | SWd  QXd  S(   Nt   application(   t   TranslationContextt   T(   t   siglat   text(    (    s   container/container_main.pyt   _get_localized_procedure_name`  s    c   	      C   s  i  } t  j   } | r! d } n d } t j |  d d d d } | j | d d d t \ } } | d  k r| d  k	 rx<| D]1} t | j  p t	 | j
 | j  j   } i | j d	 6| j d
 6| j d 6| j d 6| j d 6| j d 6| j d 6| j d 6| j d 6| j d 6| d 6| j d 6| j d 6| j d 6| j d 6| j d 6| j d 6i | j
 d 6| j d 6| j d 6| j d 6| j d 6| j  d 6| j! d  6d! 6| | j" <q Wn  | S("   Nsc  
SELECT bp092_tbprocedure_details.*,
bp090_id,bp090_desc_procedura,bp090_sigla_procedura,bp090_sigla_ambiente,bp090_nome_db,bp090_tipo,bp090_tipologia_procedura,bp090_versione,
bp088_id root_node_id,bp081_menu_id_bp080 menu_id, bp081_codice,
bp162_tbgruppi_ne.*
FROM bp090_tbprocedure
LEFT JOIN bp092_tbprocedure_details ON bp090_id=bp092_procedura_id_bp090
LEFT JOIN bp081_tbvoci_menu ON bp092_codice_bp081=bp081_codice
LEFT JOIN bp088_tbvista_menu ON bp088_voce_menu_id_bp081=bp081_id
LEFT JOIN bp163_tbgruppi_app_ne ON bp163_procedura_id_bp090=bp090_id
LEFT JOIN bp162_tbgruppi_ne ON bp162_id=bp163_id_bp162
s!  
SELECT bp092_tbprocedure_details.*,
bp090_id,bp090_desc_procedura,bp090_sigla_procedura,bp090_sigla_ambiente,bp090_nome_db,bp090_tipo,bp090_tipologia_procedura,bp090_versione,
bp081_id root_node_id,bp081_menu_id_bp080 menu_id, bp081_codice,
bp162_tbgruppi_ne.*
FROM bp090_tbprocedure
LEFT JOIN bp092_tbprocedure_details ON bp090_id=bp092_procedura_id_bp090
LEFT JOIN bp081_tbvoci_menu ON bp092_codice_bp081=bp081_codice
LEFT JOIN bp163_tbgruppi_app_ne ON bp163_procedura_id_bp090=bp090_id
LEFT JOIN bp162_tbgruppi_ne ON bp162_id=bp163_id_bp162
t   returnerrorst   ALLt   protocoli   t   Gt   allR  t   colort   icont   yearlyRT   t   mdit   homepaget   appInHomepaget   disableContextualMenut
   behavioursR  t   appGroupt   contextNamet   contextPriorityt
   rootNodeIdt   rootNodeCodet   menuIdR&  t   descrRP   RR   R  t   typologyt   versiont   proc(#   Rc   RR  t   bp092_tbprocedure_detailsR  t
   db_executeR&   R<   R  t   bp092_captionR  t   bp090_sigla_procedurat   bp090_desc_procedurat   uppert   bp092_idt   bp092_hexcolort
   bp092_icont   bp092_flg_annualet
   bp092_yeart   bp092_flg_mdit   bp092_flg_has_homepaget!   bp092_flg_application_in_homepaget   bp092_disable_ctx_menut   bp092_behaviourst
   bp162_codet   bp092_context_groupt   bp092_context_priorityt   root_node_idt   bp081_codicet   menu_idt   bp090_sigla_ambientet   bp090_nome_dbt
   bp090_tipot   bp090_tipologia_procedurat   bp090_versionet   bp090_id(	   R'   t   app_detailsRx  t   ddlt   app_details_tablet   recsR  R  R  (    (    s   container/container_main.pyRm  e  sP    	!





















c         C   s   t  j |   S(   N(   R   t   get_poweredby_image(   R'   (    (    s   container/container_main.pyt	   poweredby  s    c         C   s   t  j |   S(   N(   t   _licenzet    check_lic_polyedro_collaboration(   R'   (    (    s   container/container_main.pyR[    s    c         C   sz   |  j  } t | j  } t   } | | j _ | j   sc t j |  i | j   d 6| j	   d 6 St j |  i d d 6 S(   Nt   codt   msgi    (
   R  Rf   R,  R   R  t   saveSettingsRc   R  t   getLastErrort   getLastErrorMsg(   R'   R  t   last_active_menu_filterR0  (    (    s   container/container_main.pyt   saveUserStatus  s    		c         C   s  d d l  m } |  j } | j } | d k rk t j |  | j |  t | j  t | j	  t | j
    S| d k r t j |  | j |  t | j	  t | j
    S| d k r t j |  | j |  t | j	  t | j
  t | j    S| d k rt j |  | j |  | j   S| d k rVt j |  | j |  | j t j | j    S| d k rt j |  | j |  t j | j    S| d	 k rt j |  | j |  |   St j |  | j    S(
   Ni   (   t   container_user_prefsR  t   portalCustomThemet   companyCustomThemet   menut   fontt	   workareasR/  (   R0   R  R  t   prefsRc   R  t	   set_themeRf   R  R  R  t   set_portal_themet   set_company_themet	   companyidt   set_menut   menutypet   set_fontt   fontsizet	   jsonloadst   kwargst   set_workarea_layoutt   recordst   set_user_from_formt   invalid_preference_response(   R'   t
   user_prefsR  R  (    (    s   container/container_main.pyt   setUserPrefs  s8    		.(.("c         C   s   t    } i d d 6g  d 6} | j d k r | j r | j d k r^ | d j | j    q | j d k r | d j | j    q n | j   | d <t j |  |  S(   NR  R  R  i    i   i   (	   R   R	  t   customThemeUserChoiceLockedRV  t   getPortalCustomThemeItemt   getCompanyCustomThemeItemt   getHeadersItemsListRc   R  (   R'   R0  R  (    (    s   container/container_main.pyt   getThemeHeaders  s    		c         C   s<   t    } i d d 6| j t |   d 6} t j |  |  S(   NR  R  R  (   R   t   getInterfacesItemsListRf   Rc   R  (   R'   R  R0  R  (    (    s   container/container_main.pyt   getThemeInterfaces  s
    	c         C   sE   t    } i d d 6| j t |  t |   d 6} t j |  |  S(   NR  R  R  (   R   t   getActiveareasItemsListRf   Rc   R  (   R'   R  R  R0  R  (    (    s   container/container_main.pyt   getThemeActiveAreas&  s    	c         C   ss   |  j  } t   } | j d k r0 | j   } n3 | j d k rc | j rc | j t | j   } n  t j |  |  S(   Nt   globalR  (	   R  R   Rc  t   getCustomThemePortalCodest   sidt   getCustomThemeCodesByCompanyRf   Rc   R  (   R'   R  R0  R  (    (    s   container/container_main.pyt   getCustomThemeSettings5  s    		c         C   s   t    } i d d 6g  d 6} | d  k s5 | d k rO | d j | j    nP | d k r | d  k	 r t |  } | d k r | d j | j |   q n  t j |  |  S(   NR  R  R  R  R  i    (   R   R<   RV  R  Rf   R  Rc   R  (   R'   Rc  R  R0  R  t
   company_id(    (    s   container/container_main.pyt   getCustomThemeHeaderD  s    	
c         C   sK   t  d rG t j |   } | d  k	 rG t j |  | d d d t qG n  d  S(   NR   t   atypet
   attachmentR{   (   R{  R    R!   R<   R   t   sendfileR=   (   R'   t	   file_path(    (    s   container/container_main.pyt   downloadTCEInstallerX  s    
c         C   s   t  S(   N(   R=   (   R   (    (    s   container/container_main.pyR  `  s    c         C   sF   y t  t |  d d   } Wn t t f k
 r; d } n Xt |  S(   NR  t   0i    (   Rf   t   getattrt
   ValueErrort	   TypeErrort   str(   R'   R  (    (    s   container/container_main.pyR  e  s
    
c         C   sC   i t  t d t  d 6t  t d t  d 6t  t d t  d 6} | S(   Nt   hide_voispeedt   hide_tsdigitalt   hide_mysupport(   R   R  R=   (   R'   R   (    (    s   container/container_main.pyRP  m  s
    (|   R'  R   R   R  t   Crypto.HashR    R   R   R  Rc   R  RS  R  R  R  RW  R  R  t   _widgetsR   R   t   _aclR   t   _authR   Rq   t   www.smartapp.dao.user_settingsR   R0   R   R   R	   R
   R   t   container_storageR   R   t   container_classesR   t   container_userinfoR   R   R   R   R   R   R   R   t   container_menuR   R   t   container_utilsR   R   t   container_global_settingsR   t   models.favouritesR   t   models.packageR   R=   R{  t
   www.websgdR    R  R!   R<   R   t   www.ucR"   t   hasSmartDesktopR   R&   R  t   exposedR(   R/   R3   R6   R7   RA   RB   RF   RG   Rn   Ri   R4   R%   RT  R`  Re  Rf  R  t   isajaxR  R  R  R  R  R  R  R  R  R  R  R   R   R  R  R  Rm  R  R[  R  R  R  R  R  R  R  R  R  R  RP  (    (    (    s   container/container_main.pyt   <module>   s  :
	

O	$9  		
	  
	  
:&			- 						 	.		
		K	0		