
    dh{                        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	Z	d dl
mZmZmZ d dlmZmZmZmZmZmZmZ d dlmZ d d	lmZ d d
lmZ d dlZd dlZ G d dej                  Zd Z d Z!d Z" G d dej                  Z# G d dej                  Z$ G d dej                  Z% G d dej                  Z& G d dej                  Z' G d dej                  Z( G d dej                  Z)d Z* G d d ej                  Z+	  G d! d"ej                  Z, G d# d$ej                  Z- G d% d&ej                  Z.d' Z/ G d( d)ej                  Z0d* Z1 G d+ d,ej                  Z2 G d- d.ej                  Z3dS )/    )models)SET_DEFAULTSET_NULL)ManyToManyField)reverseN)MemberGroupDevice)RoomAgencyCountryPatentOwnerPub_typeCommittee_statusGrade)datetime)slugify)HttpResponsec                   H   e Zd Z ej        ddddd          Z ej        ddddd          Z ej        dd	d
ddd          Z ej	        ddd          Z
 ej        dddd          Z ej        ddd          Z ej        ddd          Zd Z G d d          ZdS )Add_PublicationzDOI to be added2   TN)
max_lengthblanknulldefaultTitle  zauthor surname(   ze.g. 'Cuniberti')r   	help_textr   r   r   Year)r   r   Comments  r   r   r   zDOI added to publication)r   r   r   zDOI already in publicationsc                 *    t          | j                  S N)stridselfs    #/var/www/nanotud/research/models.py__str__zAdd_Publication.__str__   s    47||    c                       e Zd ZdZdS )Add_Publication.MetazAdd publicationsN)__name__
__module____qualname__verbose_name_plural r,   r*   Metar.      s        .r,   r4   )r/   r0   r1   r   	CharFielddoi	TextFieldtitleauthorIntegerFieldyearcommentBooleanFieldaddeddoi_in_pubsr+   r4   r3   r,   r*   r   r      s$       
&
,4d[_
`
`
`CFWDtTXYYYEV.2I[cgnr  }A  B  B  BF6vT===DVjTDQQQGF*DDW[\\\E%&%0MUY`deeeK  / / / / / / / / / /r,   r   c                 
   | j         j        }d |j        D             }t          d          }d                    |          |d<   t          |d          5 }|                    |           d d d            n# 1 swxY w Y   |S )Nc                     g | ]	}|j         
S r3   name).0fields     r*   
<listcomp>z"export_as_docx.<locals>.<listcomp>(   s    777%5:777r,   ztext/csv)content_typezattachment; filename={}.txtzContent-Dispositionw)model_metafieldsr   formatopenwrite)r)   requestquerysetmetafield_namesresponseouts          r*   export_as_docxrU   %   s    :D774;777K444H&C&J&J4&P&PH"#	hs		 s		+              
 Os   A88A<?A<c                     t          |           }t          j                            |          }|                                }|r,|dz   t          |                                j                  z   }|S N)slug_)r   Publicationobjectsfilterexistsr&   firstr'   )r6   rX   qsr]   s       r*   create_slug_publicationr`   3   s`    3<<D			#	#	#	.	.BYY[[F -cz#bhhjjm,,,Kr,   c                 n    ddi}|                                 D ]\  }}|                     ||          } | S )Nu   ‐-)itemsreplace)textreplacementsoriginalreplacements       r*   replace_unicode_charactersri   <   sJ    #L ".!3!3!5!5 3 3+||Hk22Kr,   c                   l    e Zd ZdZ ej        ddd          Z ej        dddd	d	
          Zg dZ ej        dded          Z	 ej        ddd          Z
 ej        dddd	d	
          Z ej        dd          Z ej        d          Z ej        ddd	d	
          Z ej        dd	          Z ej        eej        j        d          Z ej        d          Z ej        d d!d	d	"          Z ej        d	#          Z ej        d$d%d	d	&          Z ej        d'd	d	(          Z ej        dd)          Z  ej        d	d*d	d	+          Z! ej        d,d	d	-          Z" ej        d.d/d	0          Z# ej        e$d1d	0          Z% ej&        d2d	d3d	4          Z' ej&        d5d	d3d	4          Z( ej        d	d6          Z) ej        dd7d	d	+          Z* ej+        dd8d	d	
          Z, ej-        d	d	d	d9:          Z.d; Z/d< Z0d= Z1d> Z2d? Z3 fd@Z4dAgZ5dBe3_6         G dC dD          Z7 xZ8S )ErZ   z.Model representing a single publication entry.DOIr   zNEnter <a href="https://www.crossref.org">DOI</a>. (Only DOI, not the Link/URL))r   r   Page   z
Enter PageTr   r   r   r   ))Regregular)zRev,review)Letletter)Bobook)ConfzConference proceedingro   zPublication  type)r   r   choicesr   zJournal shortd   z Enter Journal Abbreviation (PRB)JournalzEnter Journal NameFPublication  selected for CVr   r   r   r   r"   zEnter publication abstracti  r   r   publication_author)throughrelated_namer;   Volume
   r   r   r   r   zuploads/publication/img/Image)	upload_toverbose_namer   r   zuploads/publication/pdf/r   r   r   zPublication public?2if no, not shown in publication but at member siter   r   r   r   i  r#   Projectpublication_projectr   r   publication_groupzLink to open access pdf.N)r   r   r   z	arXiv urlz3Publication approved? If not, not shown on webpage!
OpenAccessz,URL where publication is shown(if empty:DOI)zCreated date of DB entry)auto_now_addr   r   r   c                 V    t          | j                  dz   | j        z   dz   | j        z   S )String for representing the Model object.z - )r&   pub_dater8   author_listr(   s    r*   r+   zPublication.__str__f   s+    4=!!5(3U:4;KKKr,   c                     | j         S r%   r'   r(   s    r*   get_idzPublication.get_idj   	    wr,   c                 J    t          dt          | j                  g          S )?Returns the url to access a detail record for this publication.publication-detailargsr   r&   r'   r(   s    r*   get_absolute_url_2zPublication.get_absolute_url_2m        +3tw<<.AAAAr,   c                 2    t          dd| j        i          S )r   r   rX   kwargsr   rX   r(   s    r*   get_absolute_urlzPublication.get_absolute_urlq   s     +VDI4FGGGGr,   c                     dS )z"Create a string for the reference.testr3   r(   s    r*   display_referencezPublication.display_referencev   s	     vr,   c                     t          | j                  | _        | j        r| j        dk    rt          | j                  | _         t          t          |           j        |i | d S )N )ri   r8   rX   r`   r6   superrZ   save)r)   r   r   	__class__s      r*   r   zPublication.savez   sa    -dj99
y 	;DIrMM0::DI%k4  %t6v66666r,   rU   	referencec                       e Zd ZddgZdS )Publication.Metaz-year	-pub_dateNr/   r0   r1   orderingr3   r,   r*   r4   r      s        K(r,   r4   )9r/   r0   r1   __doc__r   r5   r6   pagetype_choicespub_typejournal_shortjournalr=   
cvselectedr7   r8   abstractr   r   r   publicationr   r9   r:   r;   volume	DateFieldr   
ImageFieldcover_image	FileFieldpdf_file
pdf_public	chair_pubtweet_abstractprojectr	   groupURLFieldopen_access_url	arxiv_urlapprovedopen_access	SlugFieldrX   DateTimeFieldcreated_dater+   r   r   r   r   r   actionsshort_descriptionr4   __classcell__r   s   @r*   rZ   rZ   E   s       88
&
5R  <L  M  M  MC6Fr\PT\`aaaD|||Lv2ul^qrrrH$F$_PrsssMfySCW^bjnoooG$$U>\]]]JF,,,Ev4;W^bjnoooH"&"d>>>K#V#FF4F4N]qrrrF6v&&DVh2DMMMFvT***H#&#.HW^fjquvvvKv*DDW[\\\H$$U>STTTJ##D<px|  DH  I  I  II%V%DtLLLN$f$Y<QX\]]]G"F"56IPTUUUE%fo&@tUY`deeeO$4PPPI"v"4;pqqqH%&%e|SW^bcccK		S4bhlsw	x	x	xD'6'Tt$\vwwwLL L L  B B BH H H
  7 7 7 7 7 G*5') ) ) ) ) ) ) ) ) ) ) )r,   rZ   c                       e Zd Z ej        eddej                  Z ej        ddddd          Z	 ej
        dd	d
          Z ej        ddd          Zd Zd ZdS )JournalCoverjournalCover_publicationNr   r   	on_deleterk   r   zUPlease enter only <a href="https://www.crossref.org">DOI</a> without https://doi.org/T)r   r   r   r   z&Instead of DOI if DOI is not avaliable)r   r   r   z%uploads/publication/img_JournalCover/r   c                 *    t          | j                  S r   )r&   r6   r(   s    r*   r+   zJournalCover.__str__   s    48}}r,   c                     | j         S r%   r   r(   s    r*   r   zJournalCover.get_id   r   r,   )r/   r0   r1   r   
ForeignKeyrZ   CASCADEr   r5   r6   r   urlr   r   r+   r   r3   r,   r*   r   r      s        #&#K>Xbfrx  sA  B  B  BK
&
5R  <S  [_  ei  j  j  jC
&//W]a
b
b
bC#&#.U]ahlmmmK      r,   r   c                      e Zd Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej        dddd          Z ej	        e
ed	          Z ej        d
d          Z ej        dddd          Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej        ddd          Zd Z G d d          ZdS )ProjectContainerzTitle (German)rx   Tr   r   zTitle (English)zFunding acronymzProject container IDr   r   r   URL to Projectr   Descriptionr"   Funding scheme
Funding idzCoordinated by
Start dater   r   End datec                     | j         S r   )name_englishr(   s    r*   r+   zProjectContainer.__str__         r,   c                       e Zd ZdgZdZdS )ProjectContainer.MetaagencyProject containerNr/   r0   r1   r   r2   r3   r,   r*   r4   r      s        :/r,   r4   N)r/   r0   r1   r   r5   name_germanr   funding_acr
project_idr   r   r   r   r   info_urlr7   descriptionfunding_scheme
funding_idcoordinated_byr   
start_dateend_dater+   r4   r3   r,   r*   r   r      s       "&"#3$OOOK#6#$5#DQQQL"&"#44PPPK!!"8StZ^___JVvtDDDFv/d;;;H"&"=DtSWXXXK%V%&63TRRRN!!,3TJJJJ%V%&63TRRRN!!,DtDDDJv
DAAAH! ! !0 0 0 0 0 0 0 0 0 0r,   r   c                   R   e Zd Z ej        dddej                  Z ej        dd          Z ej	        dd	d
          Z
 ej        ddd          Z ej        edej        d          Z ej        ddd          Z ej        dd          Zd Zd Z G d d          ZdS )ResearchEquipment_maintainceResearchEquipmentresearchequipment_maintainceNr   zMaintaince dateTr   TrueDoes the equipment works?r   r   r   r"   r   r   r   r   z*uploads/research_equipment/img_maintaince/r   z,uploads/research_equipment/files_maintaince/r   r   c                     | j         j        S r   research_eqname_commonr(   s    r*   r+   z$ResearchEquipment_maintaince.__str__       ++r,   c                     | j         S r%   r   r(   s    r*   r   z#ResearchEquipment_maintaince.get_id   r   r,   c                       e Zd ZdgZdZdZdS )!ResearchEquipment_maintaince.Meta-date
MaintaincezResearch Equipment maintainceNr/   r0   r1   r   r   r2   r3   r,   r*   r4   r     s"        9!;r,   r4   r/   r0   r1   r   r   r   r	  r   dater=   worksr7   notesr   r   roomr   imager   filer+   r   r4   r3   r,   r*   r   r      s(       !!"5Cajny  zH  I  I  IK6-4888DF9TZ^___EF4tDDDE6T46?QUVVVDF(T\`gklllE6&T[_```D, , ,  < < < < < < < < < <r,   r   c                   R   e Zd Z ej        dddej                  Z ej        dd          Z ej	        dd	d
          Z
 ej        ddd          Z ej        edej        d          Z ej        ddd          Z ej        dd          Zd Zd Z G d d          ZdS )ResearchEquipment_calibrationr   researchequipment_calibrationNr   zCalibration dateTr   r  r  r  r"   r   r  z+uploads/research_equipment/img_calibration/r   z-uploads/research_equipment/files_calibration/r  c                     | j         j        S r   r  r(   s    r*   r+   z%ResearchEquipment_calibration.__str__   r  r,   c                     | j         S r%   r   r(   s    r*   r   z$ResearchEquipment_calibration.get_id   r   r,   c                       e Zd ZdgZdZdZdS )"ResearchEquipment_calibration.Metar  CalibrationzResearch Equipment calibrationNr  r3   r,   r*   r4   r     s"        9"<r,   r4   r  r3   r,   r*   r  r     s,       !!"5Cbko  {A  {I  J  J  JK6.D999DF9TZ^___EF4tDDDE6T46?QUVVVDF(U]ahlmmmE6&U\`aaaD, , ,  = = = = = = = = = =r,   r  c                   2   e Zd Z ej        dddej                  Z ej        dddd          Z ej	        d	d
d          Z
 ej        ddd          Z ej        edej        d          Z ej        ddd          Zd Zd Z G d d          ZdS )ResearchEquipment_inventoryr   researchequipment_inventoryNr   zInventory dateTzwill be filled automatically)r   r   r   r  r  r  r"   r   r  z)uploads/research_equipment/img_inventory/r   c                     | j         j        S r   r  r(   s    r*   r+   z#ResearchEquipment_inventory.__str__   r  r,   c                     | j         S r%   r   r(   s    r*   r   z"ResearchEquipment_inventory.get_id   r   r,   c                       e Zd ZdgZdZdZdS ) ResearchEquipment_inventory.Metar  	InventoryzResearch Equipment inventoryNr  r3   r,   r*   r4   r'     s"        9 :r,   r4   )r/   r0   r1   r   r   r   r	  r   r  r=   r  r7   r  r   r   r  r   r  r+   r   r4   r3   r,   r*   r"  r"     s       !!"5C`imx~  yG  H  H  HK6,$DSqrrrDF9TZ^___EF4tDDDE6T46?QUVVVDF(S[_fjkkkE, , ,  ; ; ; ; ; ; ; ; ; ;r,   r"  c                   z   e Zd Z ej        ddd          Z ej        ddd          Z ej        dddd          Z ej        dddd          Z ej        d	d
dd          Z	 ej        dd
dd          Z
 ej        dddd          Z ej        dddd          Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej        eddd          Z ej        edej        d           Z ej        d!ddd"#          Z ej        d$ddd%#          Z ej        ed&d'          Z  ej        e!d(dd          Z" ej#        d)dd*          Z$ ej        dddd+,          Z%d- Z&d. Z'd/ Z( G d0 d1          Z)dS )2r   zCommon namerx   Tr   zTechnical NameManufacturerr   ModelFacility   z-Chair of Materials Science and Nanotechnologyz3e. g. Chair of Materials Science and Nanotechnology)r   r   r   Partner
TU Dresdenze. g. TU DresdenzInventory number)r   r   r   zShow publicr  zShown on webpage?)r   r   r   r   r"   zIn Euro)r   r   r   z3Link to webpage of manufacturer for further details)r   r   r   zRLink to technology portal of TU Dresden (https://dresden-technologieportal.de/en/)researchequipment_groupN)r   r   r   r  r   researchequipment_project)r   r   r   Equipment_Category$researchequipment_equipment_category$researchequipment_responsible_person)r   r   researchequipment_devicezuploads/research_equipment/r   z*Internal information. Not shown on webpager   r   r   r   c                 &    | j         dz   | j        z   S r   )r
  rC   r(   s    r*   r+   zResearchEquipment.__str__	  s    %di//r,   c                     | j         S r%   r   r(   s    r*   r   zResearchEquipment.get_id  r   r,   c                 J    t          dt          | j                  g          S )Nzresearch_equipment-detailr   r   r(   s    r*   r   z"ResearchEquipment.get_absolute_url  s     2#dg,,HHHHr,   c                       e Zd ZdgZdZdS )ResearchEquipment.Metaz-priceResearch equipmentNr   r3   r,   r*   r4   r;    s        :0r,   r4   )*r/   r0   r1   r   r5   r
  rC   manufacturerrI   facilitypartnerinventory_nrr=   activer7   r   technicalSpecs
FloatFieldpricer   r   techPortalTUD_urlr   r	   r   r   r   r   r  r   categoryr   responsible_personr
   devicer   r  maintenancer+   r   r   r4   r3   r,   r*   r   r      s       "&"=SdKKKK6,$GGGD#6#NsSWXXXLFW$TJJJEVjSAp  |q  r  r  rHFY3|VhiiiG#6#$6TZ]^^^L V mFUhnrsssF"&"dTJJJK%V%DMMMNFDtiHHHEvD?tuuuH'T  I]  ^  ^  ^"F"57PZ^fjkkkE6T46?QUVVVD$f$YDWrsssG%v%&:DPT  dJ  K  K  KH//Ekuyzzz#V#F9S]ahlmmmFF(ETX\]]]E"&"dT  XD  F  F  FK0 0 0  I I I1 1 1 1 1 1 1 1 1 1r,   r   c                     t          |           }t          j                            |          }|                                }|r|dz   t          |          z   }|S rW   )r   r   r[   r\   r]   r&   stringid_nrrX   r_   r]   s        r*   create_slug_projectsrN    sU    6??D			T		*	*BYY[[F # CxE

"Kr,   c                       e Zd Z ej        ddd          Z ej        eej        j	        ddd          Z
 ej        dd          Zd	 Z G d
 d          ZdS )r2  r-  Tr   equipment_categoryzCategory of research equipmentr   r   r   r   z&Index for order of reasearch equipmentr   c                     | j         S r   rB   r(   s    r*   r+   zEquipment_Category.__str__)  s
    yr,   c                       e Zd ZdgZdZdS )Equipment_Category.Metaorder_indexzResearch Equipment CategoriesNr   r3   r,   r*   r4   rT  ,  s        ;r,   r4   N)r/   r0   r1   r   r5   rC   r   r   rF  r   	equipmentr:   rU  r+   r4   r3   r,   r*   r2  r2  %  s        6sTBBBD$f$%6?P?Y?a  pD  Rr  y}  ~  ~  ~I%&%&NTXYYYK  < < < < < < < < < <r,   r2  c                   @    e Zd Z ej        dd          Z ej        ddd          Z ej        ddd          Z ej        d	ddd
          Z	 ej
        d          Z ej
        ddd          Z ej        dd          Z ej        dd          Z ej        dd          Z ej        dddd
          Z ej        dddd          Z ej        dddd
          Z ej        dddd          Z ej        dddd          Z ej        dddd          Z ej        eed          Z ej        dddd
          Z ej        dddd
          Z ej        d ddd
          Z  ej!        e"d!"          Z# ej!        e$d#d$          Z% ej        e&d%d&ej        dd'          Z' ej!        e(e(j)        j*        d(d)d*          Z+ ej!        e,e,j)        j*        d+d,d*          Z- ej.        d-ddd./          Z/d0 Z0 fd1Z1d2 Z2 G d3 d4          Z3 xZ4S )5r   TzShow on webpage?r{   Namei,  r   zProject acronymrx   z
Project IDr   r   r   r   r   r   zAOnly for DFG-funded projects. URL to project on website of GepriszURL to project agencyr   r"   zImage of descriptionuploads/project/img/)r   r   r   r   Acknowledgementsr-  z!Copyright of image of description)r   r   r   r   zImage of projectzCopyright of imager   r   zFunding sumr   project_memberr   project_groupr   r   N)r   r   r   r   r   project_equipmentr<  rQ  project_publicationrZ      z1URL where project is shown(if empty:year+acronym)r6  c                 $    | j          d| j         S )r   z | )project_acrrC   r(   s    r*   r+   zProject.__str__]  s    "22ty222r,   c                 b   | j         s| j        d k    r| j        j        }| j        d k    s| j        dk    rBt          | j        j                  dz   t          | j        j                  z   dz   | j        z   }nt          | j        j                  dz   t          | j        j                  z   dz   t          | j                  z   }n6t          | j        j                  dz   t          | j        j                  z   }t          || j	                  | _          t                      j        |i |S )Nr   rY   )rX   rb  r   rC   r   r&   r   r;   rN  r'   r   r   )r)   r   r   agency_listargumentr   s        r*   r   zProject.savef  s   y 		?%%![-=D((DM2,=,="4?#788#=c$+BR>S>SSTWWY]YiiHH !344S8T[=M9N9NNsRSVW[WgShShhHHt}12236s4;;K7L7LL,Xdg>>DIuww|T,V,,,r,   c                 2    t          dd| j        i          S )r   zproject-detailrX   r   r   r(   s    r*   r   zProject.get_absolute_urls  s     '	0BCCCCr,   c                       e Zd ZdgZdZdS )Project.Metaz	-end_dateProjectsNr   r3   r,   r*   r4   rh  x  s        =&r,   r4   )5r/   r0   r1   r   r=   show_publicr5   rC   rb  r   r   r   r   r   r   
gepris_url
agency_urlr7   r   r   image_descracknowledgementcopyright_image_descrimage_projectcopyright_image_projectr   r   r   r   r   rC  funding_sumr   r   r   r[  r	   r   r   superordinateProjectr   r   r   rV  rZ   r   r   rX   r+   r   r   r4   r   r   s   @r*   r   r   A  s       %&%d=OPPPK6Fs>>>D"&"#44PPPK!!,3TPTUUUJ!!,//Jv
DAAAHv/d;;;H !dkopppJ !8tDDDJ"&"=DtSWXXXK!!/EPfmqy}~~~K&f&'9TPT\`aaaO*&*cD  _B  C  C  C#&#1CNdkow{|||M,F,$d`tuuuVvtDDDF%V%&63TX\]]]N#&#McSWXXXK!!,3TPTUUUJ)6)&>NOOON
 &
 _4
P
P
PE**+;J]gkw}  xG  NR  Y]  ^  ^  ^$f$%6?P?X?`  oB  Pd  ko  p  p  pI&&{;;N;Vdy  HU  \`  a  a  aK		St4K~			D3 3 3- - - - -D D D
' ' ' ' ' ' ' ' ' ' ' 'r,   r   c                      e Zd ZdZ ej        edej                  Z ej	        dd          Z
 ej        dddd	          Z ej        dddd	          Z ej        d
ddd	          Zd Zd Z G d d          ZdS )ProjectFilez: class needed to allow multiple file upload in class GroupN)r   r   rY  zimage/video)r   r   r-  T)r   r   r   r   r"   c                     | j         j        S r%   )r   rC   r(   s    r*   r+   zProjectFile.__str__  s    |  r,   c                 ^    t           j                            | j        j                  \  }}|S r%   )ospathsplitextr  rC   )r)   rC   	extensions      r*   get_extensionzProjectFile.get_extension  s%    '**49>::ir,   c                       e Zd ZdZdZdS )ProjectFile.MetazProject image/videozProject images/videosN)r/   r0   r1   r   r2   r3   r,   r*   r4   r~    s        ,5r,   r4   )r/   r0   r1   r   r   r   r   r   r   r   r  r5   	copyrightr8   r7   r   r+   r|  r4   r3   r,   r*   ru  ru  ~  s        DDfPPPG6(>MZZZDf#t$dSSSIFTDQQQE"&"dDtSWXXXK! ! !  6 6 6 6 6 6 6 6 6 6r,   ru  c                   D   e Zd ZdZ ej        dd          Z ej        d          Z ej        dddd	          Z	 ej
        dd
          Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej
        dd          Z ej
        dd          Z ej        ed          Z ej        ed          Z ej        ddd          Z ej        edd          Z ej        edd          Zd Zd Zd Z  G d d           Z!d!S )"Open_Thesis)Model representing a single thesis entry.zEdit of the postT)auto_nowr   r|   r"   Enter thesis abstractrn   zShown on web page?r{   uploads/thesis/img/r   rx   r#   zuploads/open_thesis/pdf/FzTheoretical work?zExperimental work?openthesis_pub_typer\  openthesis_supervisorr   openthesis_projectr   openthesis_groupopenthesis_publicationc                     | j         S r   )r8   r(   s    r*   r+   zOpen_Thesis.__str__  s
    zr,   c                     | j         S r%   r   r(   s    r*   r   zOpen_Thesis.get_id  r   r,   c                 J    t          dt          | j                  g          S )r   zopen_thesis-detailr   r   r(   s    r*   r   zOpen_Thesis.get_absolute_url  r   r,   c                       e Zd ZddgZdZdS )Open_Thesis.Metaz-theoryz
-edit_datezOpen ThesisNr   r3   r,   r*   r4   r    s         l+)r,   r4   N)"r/   r0   r1   r   r   r   	edit_dater7   r8   r   r=   publicr   r   r5   r  r   r   theoryexperimentalr   r   publication_typer   
supervisorr   r	   r   rZ   r   r+   r   r   r4   r3   r,   r*   r  r    s       33$$%74HHHI F,,,Ev4;RY]eijjjH!f!$:NOOOF#&#.C4VZ[[[K  Ct$GGGIv*DDW[\\\H V 5<OPPPF&6&AUVVVL-v-hEZ[[[''=TUUUJ$f$Y=QY]^^^G"F"57IQUVVVE(&(C[cghhhK    B B B
* * * * * * * * * *r,   r  c                     t          |           }t          j                            |          }|                                }|r| d|                                j         }|S rW   )r   Thesisr[   r\   r]   r^   r'   )slug_strrX   r_   r]   s       r*   create_slug_thesisr    s^    8D			D		)	)BYY[[F )((((Kr,   c                   J    e Zd ZdZ ej        dd          Z ej        dd          Zg dZ ej	        dded	
          Z
 ej        d          Z ej        dddd          Z ej        eddd          Z ej	        dddd          Z ej        edd          Z ej	        dddd          Z ej        ededd           Z ej        ed!d"          Z ej	        dd#dd          Z ej        d$dd%          Z ej        d&dd%          Z ej        d'dd%          Z ej        dd(d)*          Z ej         d+ddd,-          Z! ej"        d.dd/          Z# ej        dd0dd1          Z$ ej	        dd23          Z% ej	        dd43          Z& ej        d5dd6          Z' ej        d7d8d"          Z( ej        e)d9d"          Z* ej+        d:ddd;<          Z, ej        e-ej.        ddd=>          Z/d? Z0d@ Z1dA Z2 fdBZ3 G dC dD          Z4 xZ5S )Er  r  TzOLink to physical thesis in slub. Typically: https://katalog.slub-dresden.de/...r   r   z0Link to digital thesis (https://www.qucosa.de/).))r   r   )Bachelorr  )Masterr  )Diplomr  )PhDr  )habil.r  rm   r  zThesis type)r   r   rw   r   r   r|   r"   r  rn   thesis_authorAuthor)r   r   r   zAuthor (not chair related)rx   z]Please enter the full name of the author if the author is and was not a member of this chair.)r   r   r   r   thesis_supervisorzSupervisor/Reviewerr   r   r   zSupervisor (not chair related))r   r   r   r   thesis_function_cunibertiNzStatus in committee)r   r   r   r   thesis_reviewerr   zReviewer (not chair related)r   r   r   zDefense dateFzPromotion regulations 03/2018)r   r   r   r  z1Please upload one highlight figure of the thesis.)r   r   r   r   zuploads/thesis/pdf/r   z/if no, not shown in thesises but at member siter   u   Fakultät Maschinenwesen)r   r   r/  i  r#   r   thesis_projectthesis_groupr`  !Part of URL where patent is shownr6  r   )r   r   r   r   c                 @    t          | j                  dz   | j        z   S r   )r&   def_dater8   r(   s    r*   r+   zThesis.__str__  s    4=!!5(33r,   c                     | j         S r%   r   r(   s    r*   r   zThesis.get_id  r   r,   c                 2    t          dd| j        i          S )r   zthesis-detailrX   r   r   r(   s    r*   r   zThesis.get_absolute_url  s    ty/ABBBBr,   c                    | j         se| j                                        }| j        	| j         }nd}||j         d|j         d| }n|| j         d| }t          |          | _          t                      j	        |i |S )Nr   rY   __)r  )
rX   
author_newr^   r  
given_name	last_nameauthor_manualr  r   r   )r)   r   r   author_firstslug_str_subr  r   s         r*   r   zThesis.save  s    y 
	??0022L}( $/'(3]]l6L]]|]]% .@@,@@+X>>>DIuww|T,V,,,r,   c                       e Zd ZdgZdZdS )Thesis.Metaz-start_dateThesesNr   r3   r,   r*   r4   r    s        !?$r,   r4   )6r/   r0   r1   r   r   r   slubqucosar   r5   r   r7   r8   r   r   r   r  r  r  supervisor_manualr   r   r   function_cunibertireviewerreviewer_manualr   r   r   r  r=   status_presentationr   r   r   r   r   faculty
universityrigorosum_notesr   r	   r   r   rX   r   r   grader+   r   r   r   r4   r   r   s   @r*   r  r    s       336?  2C  D  D  DDV_43efffF Q  Q  QLv2ulanoooHF,,,Ev4;RY]eijjjH''_SWfnoooJ$F$2NZ]dh  tS  T  T  TM''=P_tuuuJ((BEelpvz{{{(v()9Gbmx  BF  Ti  j  j  j%v%f;LSWXXXH&f&"CahlrvwwwO!!,DtDDDJv
4@@@HvDtDDDH++$uOnooo#&#.C4VZ  fY  Z  Z  ZKv*?tRVWWWH##D<muy  AE  F  F  FIF5OPPPGv3EEEJ$F$$DIIIO$f$Y<LSWXXXG"F"5n4PPPE		St4Kn	o	o	oDF /$	& & &E4 4 4  C C C- - - - -% % % % % % % % % % % %r,   r  c                     t          |           }t          j                            |          }|                                }|r|dz   t          |          z   }|S rW   )r   Patentr[   r\   r]   r&   rK  s        r*   create_slug_patentsr     sU    6??D			D		)	)BYY[[F # CxE

"Kr,   c                       e Zd ZdZ ej        ddd          Z ej        d          Z ej        d          Z ej	        dd	          Z
 ej        d
d          Z ej        d
dd          Z ej        dddd          Z ej        dddd          Z ej        d
d          Z ej        d
d          Z ej        edd          Z ej        edd          Z ej        ddd          Z ej        ddd          Z ej	        dddd          Z ej        ddd          Z ej        edd          Z ej        d ddd!"          Z d# Z!d$ Z"d% Z# fd&Z$ xZ%S )'r  r  DPMATzLink to patent familyr  r   Frz   r{   r   r   r   r"   zEnter patent abstractrn   r}   patent_authorInventorr  zPatent ownerpatent_owner)r   r   zuploads/patent/img/r   uploads/patent/pdf/r   r   r   patent_projectr   patent_groupr`  r  r6  c                     | j         S r   )title_germanr(   s    r*   r+   zPatent.__str__"  r   r,   c                     | j         S r%   r   r(   s    r*   r   zPatent.get_id&  r   r,   c                 2    t          dd| j        i          S )r   zpatent-detailrX   r   r   r(   s    r*   r   zPatent.get_absolute_url*  s     ty/ABBBBr,   c                 d   | j                                         r4| j                                         }t          |d         j                  }n0| j        rt          | j                  }nt          | j                  }t          || j                  | _         t                      j
        |i |S )Nr   )patentchild_patentallr&   numbertitle_englishr  r  r'   rX   r   r   )r)   r   r   
patent_subre  r   s        r*   r   zPatent.save0  s    "&&(( 	004466J:a=/00HH! 0t122T.//'99	uww|T,V,,,r,   )&r/   r0   r1   r   r   r   
url_familygoogle_patentsorbitr=   r   r7   r  r  abstract_germanabstract_englishr   application_fieldsr   r   inventorr   ownerr   r   r   r   r   r   r	   r   r   rX   r+   r   r   r   r   r   s   @r*   r  r    sH       33 d=TUUUJ$V_4000NFO$'''E$$U>\]]]J#6#s===L$F$DIIIM&f&$BY`dlpqqqO'v'4CZaemqrrr"&"c===K))StDDD%v%f?XbcccH"F";NXfgggE#&#.C4VZ[[[Kv*?tRVWWWH##D<px|  DH  I  I  II$f$Y<LSWXXXG"F"5n4PPPE		St4Kn	o	o	oD! ! !  C C C
- 
- 
- 
- 
- 
- 
- 
- 
-r,   r  c                      e Zd ZdZ ej        eddej                  Z ej	        d          Z
ddgZ ej        d	d
edd          Z ej        dd          Z ej        edde          Z ej        ddd          Z ej        ddd          Z ej        ddd          Z ej        ddd          Zd Zd Z G d d          ZdS )PatentChildr  r  Nr   Tr   )rA  rA  )passiver  rm   rA  zPatent statuszOe.g. passive = Offenlegungsschrift (i.e. in proof or no active property rights))r   r   rw   r   r   IDr-  r|   patentchild_countryzDate of Application)r   r   r   zPub datez Date of issuing to active patentr  r   c                 d    t          | j        j                  dz   t          | j                  z   S r   )r&   patentr  r  r(   s    r*   r+   zPatentChild.__str__J  s)    4;+,,U23t{3C3CCCr,   c                     | j         S r%   r   r(   s    r*   r   zPatentChild.get_idN  r   r,   c                       e Zd ZdgZdS )PatentChild.Metar   Nr   r3   r,   r*   r4   r  R  s        =r,   r4   )r/   r0   r1   r   r   r   r  r   r  r   r   r   r5   r   r  r   r   countryr   app_dater   
issue_dater   r   r+   r   r4   r3   r,   r*   r  r  =  sn       336V1Ed]c]klllF
&/
%
%
%C()>?Lv2xcr  P  Q  Q  QHVdc222FFg3HQU`klllGv-BSWXXXHvZTMMMH!!/QW[bfgggJv*?tRVWWWHD D D  ! ! ! ! ! ! ! ! ! !r,   r  )4	django.dbr   django.db.models.deletionr   r   django.db.models.fields.relatedr   django.urlsr   uuidinternal.modelsr   r	   r
   home.modelsr   r   r   r   r   r   r   r   django.template.defaultfiltersr   django.httpr   numpynprx  r+  r   rU   r`   ri   rZ   r   r   r   r  r"  r   rN  r2  r   ru  r  r  r  r  r  r  r3   r,   r*   <module>r     s         ; ; ; ; ; ; ; ; ; ; ; ; ; ;        1 1 1 1 1 1 1 1 1 1 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]       2 2 2 2 2 2 $ $ $ $ $ $     				/ / / / /fl / / /.      ?) ?) ?) ?) ?)&, ?) ?) ?)F    6<   0 0 0 0 0v| 0 0 00< < < < <6< < < <,= = = = =FL = = =,; ; ; ; ;&, ; ; ;.#1 #1 #1 #1 #1 #1 #1 #1L
 
 
	< 	< 	< 	< 	< 	< 	< 	<
:' :' :' :' :'fl :' :' :'z6 6 6 6 6&, 6 6 6$#* #* #* #* #*&, #* #* #*L  >% >% >% >% >%V\ >% >% >%B
 
 
-- -- -- -- --V\ -- -- --`! ! ! ! !&, ! ! ! ! !r,   