consider more than the first shipper
This commit is contained in:
parent
8c01aad310
commit
263a1593f6
|
@ -87,16 +87,20 @@ class Migrate(BrowserView):
|
|||
ob.expediteur = []
|
||||
shipper_id = None
|
||||
if doc.get('shippers'):
|
||||
shipper = unicode(doc.get('shippers')[0], 'utf-8')
|
||||
shipper_id = plone_tool.normalizeString(shipper)
|
||||
if not portal.contacts.has_key(shipper_id):
|
||||
portal.contacts.invokeFactory('themis.datatypes.contact', shipper_id, title=shipper)
|
||||
shipper_id = 'contact:' + shipper_id
|
||||
for shipper in doc.get('shippers'):
|
||||
shipper = unicode(shipper, 'utf-8')
|
||||
shipper_id = plone_tool.normalizeString(shipper)
|
||||
if not portal.contacts.has_key(shipper_id):
|
||||
portal.contacts.invokeFactory('themis.datatypes.contact', shipper_id, title=shipper)
|
||||
shipper_id = 'contact:' + shipper_id
|
||||
ob.expediteur.append(shipper_id)
|
||||
else:
|
||||
if doc.get('meta_type') in ('PFBWriteAnswer', 'PFBProject'):
|
||||
# shipper is a ministry
|
||||
if doc.get('authors'):
|
||||
shipper_id = self.get_ministry(doc.get('authors')[0])
|
||||
for author in doc.get('authors'):
|
||||
shipper_id = self.get_ministry(author)
|
||||
ob.expediteur.append(shipper_id)
|
||||
else:
|
||||
print >> self.logfile, 'W: document without an author'
|
||||
elif doc.get('meta_type') in ('PFBChallenge',
|
||||
|
@ -104,13 +108,12 @@ class Migrate(BrowserView):
|
|||
'PFBProposal', 'PFBWriteRequest'):
|
||||
# shipper is a deputy
|
||||
if doc.get('authors'):
|
||||
shipper_id = self.get_deputy(doc.get('authors')[0])
|
||||
for author in doc.get('authors'):
|
||||
shipper_id = self.get_deputy(author)
|
||||
ob.expediteur.append(shipper_id)
|
||||
else:
|
||||
print >> self.logfile, 'W: document without an author'
|
||||
|
||||
if shipper_id:
|
||||
ob.expediteur.append(shipper_id)
|
||||
|
||||
if doc.get('type'):
|
||||
ob.sous_categorie_de_courrier = {
|
||||
'proj_decret': u'Projet de décret',
|
||||
|
@ -150,6 +153,10 @@ class Migrate(BrowserView):
|
|||
if second_object_typename is None:
|
||||
print >> self.logfile, 'W: proposal of unknown type'
|
||||
|
||||
if not doc.get('authors') and doc.get('state') == 'initial':
|
||||
# this document was not completed, do not create a secondary object
|
||||
second_object_typename = None
|
||||
|
||||
if second_object_typename:
|
||||
# XXX: this is a temporary location, no decision has been taken yet
|
||||
# on the location of those documents
|
||||
|
@ -159,8 +166,8 @@ class Migrate(BrowserView):
|
|||
factory = DexterityFactory(portal_type=second_object_typename)
|
||||
ob2 = factory(id=doc.get('id'), title=doc.get('title'))
|
||||
docdir._setObject(ob2.id, ob2)
|
||||
else:
|
||||
ob2 = getattr(docdir, doc.get('id'))
|
||||
|
||||
ob2 = getattr(docdir, doc.get('id'))
|
||||
|
||||
ob2.date_reception = datetime.datetime.strptime(doc.get('deliverydate'), '%Y-%m-%d').date()
|
||||
ob2.mail_ref_id = ob.numero_courrier
|
||||
|
@ -168,6 +175,8 @@ class Migrate(BrowserView):
|
|||
|
||||
if second_object_typename == 'reponse_a_question_ecriteD':
|
||||
if doc.get('authors'):
|
||||
if len(doc.get('authors')) > 1:
|
||||
print >> self.logfile, 'W: answer to written question with more than one author'
|
||||
ob2.ministre_auteur_reponse = self.get_ministry(doc.get('authors')[0])
|
||||
elif second_object_typename in ('interpellationD',
|
||||
'questionactualiteD', 'QuestionoraleD'):
|
||||
|
@ -178,12 +187,14 @@ class Migrate(BrowserView):
|
|||
elif second_object_typename == 'ProjetD':
|
||||
ob2.type_de_projet = ob.sous_categorie_de_courrier
|
||||
if doc.get('authors'):
|
||||
ob2.auteur = [self.get_ministry(x) for x in doc.get('authors')]
|
||||
if len(doc.get('authors')) > 1:
|
||||
print >> self.logfile, 'W: project with more than one author'
|
||||
ob2.auteur = [self.get_ministry(x) for x in doc.get('authors')][0]
|
||||
elif second_object_typename in ('proposition_decret_reglementD',
|
||||
'proposition_resolution_modificationD'):
|
||||
ob2.type_de_proposition = ob.sous_categorie_de_courrier
|
||||
if doc.get('authors'):
|
||||
ob2.auteur = [self.get_deputy(x) for x in doc.get('authors')]
|
||||
ob2.auteurs = [self.get_deputy(x) for x in doc.get('authors')]
|
||||
|
||||
if doc.get('state') in ('filed', 'preDocumented'):
|
||||
try:
|
||||
|
|
Reference in New Issue