U
    Įwh_                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_exam_resultc                       s2   e Zd Zejjdg Z fddZdd Z  ZS )CmfExamResultfinishc                    s(   |  dg tj| j t j||S )Nparent)load_fieldsmodelsCmfCourseProgresscheck_completed_course_progressr   supersave)selfargskwargs	__class__ )./modules/learn/models/cmf_exam_result.pyr   
   s    zCmfExamResult.savec                 C   s   |  ddddg | jdkr(tddd | jd	kr>td
dd tj| j tjj	dd| gdgd}dd |D }t
|t
| }|| jjkrd| _nd| _|   | j  d S )Nstatus	exam_typezexam.success_questions_pctr   Zpollu~   Функционал опросов в настоящее время находится на стадии разработкиT)abortZin_progressu   Можно завершить только экзамен, который находится в процессе прохожденияzparent.parent=)filterZfieldsc                 S   s   g | ]}|j d kr|qS )success)r   ).0Zqrr   r   r   
<listcomp>    s     
 z(CmfExamResult.finish.<locals>.<listcomp>ZdoneZfailed)r   r   Z	cmf_alertr   r   r	   r
   r   ZCmfQuestionResultlistlenZexamsuccess_questions_pctr   Z_lms_update_progress)r   Zquestion_resultsZsuccess_resultsr   r   r   r   r      s"    

zCmfExamResult.finish)	__name__
__module____qualname__r   r   Zapi_methodsr   r   __classcell__r   r   r   r   r      s
   r   N)Zcmf.includeZmodules.learn.fieldsr   r   r   r   r   r   <module>   s   