U
    :%dd                     @   s$  d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 dd	lT G d
d dejZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZG d(d) d)eZG d*d+ d+ejZG d,d- d-ejZG d.d/ d/eZG d0d1 d1eZ G d2d3 d3eZ!G d4d5 d5eZ"G d6d7 d7eZ#G d8d9 d9eZ$ej%&e'e ej%&e(e ej%&e)e ej%&e*e ej%&e+e d:S );z>
Appraise evaluation framework

See LICENSE for usage details
    )datetime)admin)messages)HttpResponseRedirect)reverse)utc   )*c                       s`   e Zd ZdZddgZdddgZddd	d
ddgZG dd dZddddffZ fddZ	  Z
S )BaseMetadataAdminz>
    Model admin for abstract base metadata object model.
    
modifiedBydateModified	activated	completedretiredcreatedBy__usernameZactivatedBy__usernameZcompletedBy__usernameZretiredBy__usernameZmodifiedBy__username	_str_namec                   @   s   e Zd ZdZdS )zBaseMetadataAdmin.MetaTN)__name__
__module____qualname__abstract r   r   =/var/www/rival/public_html/translation-eval/EvalData/admin.pyMeta$   s   r   zAdvanced optionsr   )r   r   r   )classesfieldsc                    s   t  jtd}t|dr$|jdkr:|j|_||_|  |j	rjt|drT|j
dkrj|j|_
||_|  |jrt|dr|jdkr|j|_||_|  |jrt|dr|jdkr|j|_||_|  |j|_||_|  tt| |||| dS )zA
        Given a model instance save it to the database.
        )tzinfo	createdByNactivatedBycompletedBy	retiredBy)r   utcnowreplacer   hasattrr   userdateCreatedsaver   r   dateActivatedr   r   dateCompletedr   r   dateRetiredr   r   superr
   
save_model)selfrequestobjformchangeutc_now	__class__r   r   r*   1   s0    zBaseMetadataAdmin.save_model)r   r   r   __doc__list_displaylist_filtersearch_fieldsr   	fieldsetsr*   __classcell__r   r   r1   r   r
      s$   


r
   c                   @   sX   e Zd ZdZddddgej Zdddgej Zdgej Zdddddgiffej ZdS )	MarketAdminz+
    Model admin for Market instances.
    __str__sourceLanguageCodetargetLanguageCode
domainNamemarketIDNr   	r   r   r   r3   r
   r4   r5   r6   r7   r   r   r   r   r9   U   s4   r9   c                   @   s`   e Zd ZdZddddgej Zdddgej Zddddgej Zddddddgiffej ZdS )	MetadataAdminz-
    Model admin for Metadata instances.
    market
corpusNameversionInfosourceZmarket__marketIDNr   r?   r   r   r   r   r@   w   s6   	r@   c                   @   sf   e Zd ZdZdddddgej Zddd	d
ddgej Zddgej Zdddddddgiffej ZdS )TextSegmentAdminz0
    Model admin for TextSegment instances.
    metadataitemIDitemType	segmentIDsegmentTextmetadata__corpusNamemetadata__versionInfo$metadata__market__sourceLanguageCode$metadata__market__targetLanguageCodemetadata__market__domainNameNr   r?   r   r   r   r   rE      sH   	rE   c                   @   s~   e Zd ZdZdddddddd	d
g	ej Zddddddgej Zddddd	d
gej Zdddddddddd	d
g	iffej ZdS )TextSegmentWithTwoTargetsAdmin-
    Model admin for TextPair instances.
    r:   rG   rH   rI   rJ   	target1IDtarget1Text	target2IDtarget2TextrK   rL   rM   rN   rO   Nr   rF   r?   r   r   r   r   rP      s`   
	rP   c                	   @   st   e Zd ZdZdddddddd	gej Zd
dddddgej Zddddgej Zdddddddddgiffej ZdS )TextPairAdminrQ   r:   rG   rH   sourceID
sourceTexttargetID
targetTextr   rK   rL   rM   rN   rO   Nr   rF   r?   r   r   r   r   rV      sV   			rV   c                   @   s   e Zd ZdZdddddddd	d
ddddgej Zdddddddgej Zddddd	d
dddg	ej Zdddddddddd	d
ddddgiffej ZdS )TextPairWithContextAdminz8
    Model admin for TextPairWithContext instances.
    r:   rG   rH   
documentIDisCompleteDocumentrW   rX   sourceContextLeftsourceContextRightrY   rZ   targetContextLefttargetContextRightrK   rL   rM   rN   rO   Nr   rF   r?   r   r   r   r   r[   *  sx   

r[   c                
   @   sv   e Zd ZdZdddddddd	gej Zd
dddddgej Zddddgej Zdddddddddd	giffej ZdS )TextPairWithImageAdminz6
    Model admin for TextPairWithImage instances.
    r:   rG   rH   rW   rX   rY   rZ   imageURLrK   rL   rM   rN   rO   Nr   rF   r?   r   r   r   r   rb   m  sX   			rb   c                   @   sb   e Zd ZdZddddgej Zdddd	gej Zdd
gej Zddd	ddddd
giffej ZdS )DirectAssessmentTaskAdminz9
    Model admin for DirectAssessmentTask instances.
    dataNamebatchNocampaignrequiredAnnotationscampaign__campaignName-campaign__batches__market__targetLanguageCode-campaign__batches__market__sourceLanguageCode	batchData
assignedToNr   itemsr?   r   r   r   r   rd     sD   rd   c                   @   sh   e Zd ZdZdddddgej Zddgej Zg ej Zd	Zd
ddddgifddddgiffej	 Z	d
S )DirectAssessmentResultAdminz;
    Model admin for DirectAssessmentResult instances.
    r:   score	item_typer   durationitem__itemTypetask__completed)itemtaskr   Nr   
start_timeend_timeRelatedru   rv   
r   r   r   r3   r
   r4   r5   r6   readonly_fieldsr7   r   r   r   r   ro     s.   
ro   c                   @   sb   e Zd ZdZddddgej Zdddd	gej Zdd
gej Zddd	ddddd
giffej ZdS ) DirectAssessmentContextTaskAdminz@
    Model admin for DirectAssessmentContextTask instances.
    re   rf   rg   rh   ri   rj   rk   rl   rm   Nr   rn   r?   r   r   r   r   r|     sD   r|   c                   @   sl   e Zd ZdZddddddgej Zdd	d
gej Zg ej ZdZdddddgifddddgiffej	 Z	dS )"DirectAssessmentContextResultAdminzB
    Model admin for DirectAssessmentContextResult instances.
    r:   rp   rw   rx   rr   rq   rs   rt   item__isCompleteDocumentru   rv   Nr   ry   ru   rv   rz   r   r   r   r   r}     s2   	r}   c                   @   s   e Zd ZdZdS )!DirectAssessmentDocumentTaskAdminzA
    Model admin for DirectAssessmentDocumentTask instances.
    Nr   r   r   r3   r   r   r   r   r   .  s   r   c                   @   s   e Zd ZdZdS )#DirectAssessmentDocumentResultAdminzC
    Model admin for DirectAssessmentDocumentResult instances.
    Nr   r   r   r   r   r   6  s   r   c                   @   sb   e Zd ZdZddddgej Zdddd	gej Zdd
gej Zddd	ddddd
giffej ZdS )MultiModalAssessmentTaskAdminz=
    Model admin for MultiModalAssessmentTask instances.
    re   rf   rg   rh   ri   rj   rk   rl   rm   Nr   rn   r?   r   r   r   r   r   >  sD   r   c                   @   s\   e Zd ZdZddddddgej Zdd	gej Zg ej Zd
ddddddgiffej Zd
S )MultiModalAssessmentResultAdminz?
    Model admin for MultiModalAssessmentResult instances.
    r:   rp   rw   rx   rr   rq   rs   rt   Nr   ru   rv   r?   r   r   r   r   r   g  s0   	r   c                   @   s(   e Zd ZdZdddgZdgZddgZdS )WorkAgendaAdminz2
    Model admin for WorkAgenda object model.
    r#   rg   r   user__usernameri   N)r   r   r   r3   r4   r5   r6   r   r   r   r   r     s   
r   c                       sL   e Zd ZdZdgZdddgZdgZddgZ fdd	Zd
d Z	de	_
  ZS )TaskAgendaAdminz2
    Model admin for TaskAgenda object model.
    reset_taskagendar#   rg   r   r   ri   c                    s.   t t| |}d|kr*|jds*|d= |S )zP
        Reset task agenda action requires reset_taskagenda permission.
        r   zEvalData.reset_taskagenda)r)   r   get_actionsr#   has_perm)r+   r,   actionsr1   r   r   r     s
    zTaskAgendaAdmin.get_actionsc                 C   sR   |  }|dkr2d}| j||tjd ttdS |jtj	j
}ttd|dS )zR
        Handles reset task agenda admin action for TaskAgenda instances.
        r   zIYou can only reset one task agenda at a time. No items have been changed.)levelz$admin:EvalData_taskagenda_changelistzreset-taskagenda)args)countmessage_userr   WARNINGr   r   POSTgetlistr   helpersACTION_CHECKBOX_NAME)r+   r,   querysetZagendas_selected_msg_pkr   r   r   r     s    z TaskAgendaAdmin.reset_taskagendazReset task agenda)r   r   r   r3   r   r4   r5   r6   r   r   short_descriptionr8   r   r   r1   r   r     s   

r   c                   @   sb   e Zd ZdZddddgej Zdddd	gej Zdd
gej Zddd	ddddd
giffej ZdS )PairwiseAssessmentTaskAdminz;
    Model admin for PairwiseAssessmentTask instances.
    re   rf   rg   rh   ri   rj   rk   rl   rm   Nr   rn   r?   r   r   r   r   r     sD   r   c                   @   sn   e Zd ZdZdddddddgej Zd	d
gej Zg ej ZdZddddddgifddddgiffej	 Z	dS )PairwiseAssessmentResultAdminz=
    Model admin for PairwiseAssessmentResult instances.
    r:   score1score2rw   rx   rr   rq   rs   rt   r   Nr   ry   ru   rv   rz   r   r   r   r   r     s6   
r   c                   @   sb   e Zd ZdZddddgej Zdddd	gej Zdd
gej Zddd	ddddd
giffej ZdS )#PairwiseAssessmentDocumentTaskAdminzC
    Model admin for PairwiseAssessmentDocumentTask instances.
    re   rf   rg   rh   ri   rj   rk   rl   rm   Nr   rn   r?   r   r   r   r   r     sD   r   c                   @   sp   e Zd ZdZdddddddgej Zd	d
dgej Zg ej ZdZddddddgifddddgiffej	 Z	dS )%PairwiseAssessmentDocumentResultAdminzE
    Model admin for PairwiseAssessmentDocumentResult instances.
    r:   r   r   rw   rx   rr   rq   rs   rt   r~   r   Nr   ry   ru   rv   rz   r   r   r   r   r   /  s8   
r   c                   @   sb   e Zd ZdZddddgej Zdddd	gej Zdd
gej Zddd	ddddd
giffej ZdS )DataAssessmentTaskAdminz7
    Model admin for DataAssessmentTask instances.
    re   rf   rg   rh   ri   rj   rk   rl   rm   Nr   rn   r?   r   r   r   r   r   Q  sD   r   c                   @   sj   e Zd ZdZddddddgej Zdd	gej Zg ej Zd
Zdddddgifddddgiffej	 Z	dS )DataAssessmentResultAdminz9
    Model admin for DataAssessmentResult instances.
    r:   rp   rw   rx   rr   rq   rs   rt   r   Nr   ry   ru   rv   rz   r   r   r   r   r   z  s0   	r   N),r3   r   Zdjango.contribr   r   django.httpr   django.urlsr   Zdjango.utils.timezoner   models
ModelAdminr
   r9   r@   rE   rP   rV   r[   rb   rd   ro   r|   r}   r   r   r   r   r   r   r   r   r   r   r   r   siteregisterMarketMetadataTextPairDirectAssessmentTaskDirectAssessmentResultr   r   r   r   <module>   sH   B"+72C3)))+)!)")