
    shj                     j    d Z dZdZddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ  G d	 d
e      Zy)zCopyright 2021, 3LizzGPL version 3zinfo@3liz.org    )
QgsProject)QgsServerFilterQgsServerInterface)get_lizmap_configget_lizmap_groups)LizmapFilterException)Loggerc                   4     e Zd Zdeddf fdZd Zd Z xZS )LizmapFilterserver_ifacereturnNc                 \    t        j                  d       t        |   |       || _        y )NzLizmapFilter.init)r	   infosuper__init__iface)selfr   	__class__s     ;/var/www/qgis-server/plugins/lizmap_server/lizmap_filter.pyr   zLizmapFilter.__init__   s$    '(&!
    c                 |   t               }	 t        | j                  j                               }t	        |      dk(  ry t        | j                  j                               }|s|j                  d       y |j                  d      }|s|j                  d       y |j                  d      }|s|j                  d       y |j                  d       |D ]  }||v s y  t        dd	d
      }| j                  j                         }|j                  |       y # t        $ r}	|j                  |	       Y d }	~	y d }	~	ww xY w)Nr   zLizmap config is emptyoptionszLizmap config has no optionsaclzNo acl defined in Lizmap configzAcl defined in Lizmap config	ForbiddenzNo ACL permissionsi  )response_code)r	   r   r   requestHandlerlenr   configFilePathwarninggetr   r   setServiceException	Exceptionlog_exception)
r   loggergroupscfgcfg_optionscfg_aclgroupexchandleres
             r   requestReadyzLizmapFilter.requestReady   s(   7	$ 'tzz'@'@'BCF 6{a $DJJ$=$=$?@C78''),K=>!ooe,G => KK67
   G# (5IY\]C jj//1G'', 	$  ##	$s:   1D 6D 5$D $D ?D D :D 	D; D66D;c                     t        j                         }|j                         }|j                  dd        |j                  dd        |j	                  |       y )Nlizmap_userlizmap_user_groups)r   instancecustomVariablespopsetCustomVariables)r   project
custom_vars      r   responseCompletezLizmapFilter.responseCompleteQ   sI    %%',,.
}d++T2"":.r   )__name__
__module____qualname__r   r   r-   r7   __classcell__)r   s   @r   r   r      s"    "%7 "D ":$x/r   r   N)__copyright____license__	__email__	qgis.corer   qgis.serverr   r   lizmap_server.corer   r   lizmap_server.exceptionr   lizmap_server.loggerr	   r    r   r   <module>rE      s1   &	   ; C 9 'J/? J/r   