
    Bh                         d dl mZ d dlmZ d dlmZ ddlmZmZ ddZ G d d	      Z	 G d
 dej                        Z G d de	ej                        Z G d de	      Zy)    )forms)Page)static_with_version   )entry_choiceswizard_poolNc                 @    |i }d}t        |      } ||| |f|      }|S )z
    Combines a form mixin with a form class, sets attrs to the resulting class.
    This is used to provide a common behavior/logic for all wizard content
    forms.
    WizardStep2Form)type)	mixin_clsentry_form_classattrs
class_name
meta_class	FormClasss         A/home/dcms/DCMS/lib/python3.12/site-packages/cms/wizards/forms.pystep2_form_factoryr   	   s:     } #J&'J:	3C'DeLI    c                   B     e Zd ZdZ fdZed        Zed        Z xZS )BaseFormMixinFc                     |j                  dd       | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        t        |   |i | y )Nwizard_pagewizard_sitewizard_requestwizard_language)pop_page_site_requestlanguage_codesuper__init__selfargskwargs	__class__s      r   r"   zBaseFormMixin.__init__   sZ    ZZt4
ZZ.


#34#ZZ(9:$)&)r   c                 v    | j                         D cg c]  }|j                  j                  s| c}S c c}w Nvisible_fieldsfieldrequiredr$   fs     r   required_fieldszBaseFormMixin.required_fields$   s+    ..0EaAGG4D4DEEE   66c                 v    | j                         D cg c]  }|j                  j                  r| c}S c c}w r)   r*   r.   s     r   optional_fieldszBaseFormMixin.optional_fields(   s+    ..0Ia8H8HIIIr1   )	__name__
__module____qualname__has_separate_optional_fieldsr"   propertyr0   r3   __classcell__r'   s   @r   r   r      s:    #( * F F J Jr   r   c                   $     e Zd ZdZd fd	Z xZS )WizardOptionWidgetsz#cms/wizards/wizardoptionwidget.htmlc           	          t        j                  |      }|j                  |j                         t        	|   |||||||      S r)   )r   	get_entryupdatewidget_attributesr!   create_option)
r$   namevaluelabelselectedindexsubindexr   wizardr'   s
            r   rA   z!WizardOptionWidgets.create_option0   sB    &&u-V--.w$T5%5(TYZZr   )NN)r4   r5   r6   template_namerA   r9   r:   s   @r   r<   r<   -   s    9M[ [r   r<   c                       e Zd Z G d d      Z ej
                  ej                  j                         dej                        Z
 ej                  ej                        Z ej                  g  e             Z fdZd Z xZS )	WizardStep1Formc                   6    e Zd Zd ed      fiZ ed      dfZy)WizardStep1Form.Mediaallzcms/css/cms.wizard.cssz$cms/js/dist/bundle.admin.base.min.jszcms/js/modules/cms.wizards.jsN)r4   r5   r6   r   cssjs r   r   MediarM   8   s/    #$<=
   FG+
r   rR   F)querysetr-   widget)rT   )choicesrT   c                     t        |   |i | t        | j                  j                  | j
                        | j                  d   _        y )N)userpageentry)r!   r"   r   r   rW   r   fieldsrU   r#   s      r   r"   zWizardStep1Form.__init__K   s?    $)&)'4##(
G$r   c              #   j   K   | d   D ]'  }t        j                  |j                        }||f ) y w)NrY   )r   r>   choice_value)r$   rY   rH   s      r   get_wizard_entriesz"WizardStep1Form.get_wizard_entriesS   s9     '] 	 E **5+=+=>F-	 s   13)r4   r5   r6   rR   r   ModelChoiceFieldr   objectsrN   HiddenInputrX   	CharFieldlanguageChoiceFieldr<   rY   r"   r]   r9   r:   s   @r   rK   rK   6   sw    	
 	
 "5!!!!#  D
 ue&7&78HEb1D1FGE
 r   rK   c                       e Zd Zy)WizardStep2BaseFormN)r4   r5   r6   rQ   r   r   re   re   Y   s    r   re   r)   )djangor   
cms.modelsr   cms.utils.urlutilsr   r   r   r   r   RadioSelectr<   FormrK   re   rQ   r   r   <module>rk      sU      2 3"J J&[%++ [  mUZZ   F	- 	r   