o
    è°Öhw  ã                   @   s®   d dl mZ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 dd	lmZ dd
lmZmZ G dd„ de
ƒZG dd„ deeƒZG dd„ deƒZdS )é    )ÚrenderÚredirect)Úlogin)ÚLoginRequiredMixin)Ú	LoginView)Ú
CreateViewÚ
UpdateView)Úreverse_lazy)Úmessagesé   )ÚUser)ÚUserRegistrationFormÚUserProfileFormc                       s4   e Zd ZdZeZeZdZe	dƒZ
‡ fdd„Z‡  ZS )ÚRegisterViewzUser registration viewzaccounts/register.htmlújobs:job_listc                    s,   t ƒ  |¡}t| j| jƒ t | jd¡ |S )Nz/Registration successful! Welcome to ICTAZ Jobs.)ÚsuperÚ
form_validr   ÚrequestÚobjectr
   Úsuccess)ÚselfÚformÚresponse©Ú	__class__© ú*/var/www/html/ictaz-jobs/accounts/views.pyr      s   zRegisterView.form_valid)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úmodelr   Ú
form_classÚtemplate_namer	   Úsuccess_urlr   Ú__classcell__r   r   r   r   r      s    r   c                       s<   e Zd ZdZeZeZdZe	dƒZ
dd„ Z‡ fdd„Z‡  ZS )ÚProfileViewzUser profile management viewzaccounts/profile.htmlzaccounts:profilec                 C   s   | j jS )N)r   Úuser)r   r   r   r   Ú
get_object!   s   zProfileView.get_objectc                    s   t  | jd¡ tƒ  |¡S )NzProfile updated successfully!)r
   r   r   r   r   )r   r   r   r   r   r   $   s   zProfileView.form_valid)r   r   r   r    r   r!   r   r"   r#   r	   r$   r(   r   r%   r   r   r   r   r&      s    r&   c                   @   s   e Zd ZdZdZdd„ ZdS )ÚCustomLoginViewz3Custom login view that redirects based on user rolezaccounts/login.htmlc                 C   s$   | j j}|js
|jrtdƒS tdƒS )Nzjobs:dashboardr   )r   r'   Úis_adminÚis_stakeholderr	   )r   r'   r   r   r   Úget_success_url-   s   zCustomLoginView.get_success_urlN)r   r   r   r    r#   r,   r   r   r   r   r)   )   s    r)   N)Údjango.shortcutsr   r   Údjango.contrib.authr   Údjango.contrib.auth.mixinsr   Údjango.contrib.auth.viewsr   Údjango.views.genericr   r   Údjango.urlsr	   Údjango.contribr
   Úmodelsr   Úformsr   r   r   r&   r)   r   r   r   r   Ú<module>   s    