
    *.+h_                     @    d dl T d dlmZ  G d dej                  ZdS )    )*)cmf_exam_resultc                   D     e Zd Zej        j        dgz   Z fdZd Z xZS )CmfExamResultfinishc                     |                      dg           t          j                            | j                    t                      j        |i |S )Nparent)load_fieldsmodelsCmfCourseProgresscheck_completed_course_progressr	   supersave)selfargskwargs	__class__s      )./modules/learn/models/cmf_exam_result.pyr   zCmfExamResult.save
   sM    ($$$ @@MMMuww|T,V,,,    c                 $   |                      g d           | j        dk    rt          dd           | j        dk    rt          dd           t          j                            | j                   t          j        	                    dd	| gd
g          }d |D             }t          |          t          |          z  }|| j        j        k    rd| _        nd| _        |                                  | j                                         d S )N)status	exam_typezexam.success_questions_pctr	   pollu~   Функционал опросов в настоящее время находится на стадии разработкиT)abortin_progressu   Можно завершить только экзамен, который находится в процессе прохожденияzparent.parent=r   )filterfieldsc                 (    g | ]}|j         d k    |S )success)r   ).0qrs     r   
<listcomp>z(CmfExamResult.finish.<locals>.<listcomp>    s$    SSS"BI<R<R2<R<R<Rr   donefailed)r
   r   	cmf_alertr   r   r   r   r	   CmfQuestionResultlistlenexamsuccess_questions_pctr   _lms_update_progress)r   question_resultssuccess_resultsr+   s       r   r   zCmfExamResult.finish   sG   XXXYYY>V##  W  _c  d  d  d  d;-''  `  hl  m  m  m  m @@MMM!388#S$/: 9 
 

 TS(8SSS #O 4 4s;K7L7L L DI$CCC DKK"DK		((*****r   )	__name__
__module____qualname__r   r   api_methodsr   r   __classcell__)r   s   @r   r   r      s_        !/;? K- - - - -+ + + + + + +r   r   N)cmf.includemodules.learn.fieldsr   r    r   r   <module>r7      sZ        0 0 0 0 0 0%+ %+ %+ %+ %+O1 %+ %+ %+ %+ %+r   