529 |
529 |
table_name = self.default_ctx['form_table']
|
530 |
530 |
self.create_referenced_table(table_name, formdef_fields, 'types de formulaire')
|
531 |
531 |
|
532 |
|
formdefs = [(form.slug, categories_mapping.get(form.schema.category),
|
533 |
|
form.schema.name) for form in self.formdefs]
|
|
532 |
formdefs = [(formdef.slug, categories_mapping.get(formdef.schema.category),
|
|
533 |
formdef.schema.name) for formdef in self.formdefs]
|
534 |
534 |
self.formdefs_mapping = self.do_referenced_data(table_name, formdefs, 'ref')
|
|
535 |
self.formdefs_unique_slug = {}
|
|
536 |
seen = set()
|
|
537 |
for slug, _, _ in formdefs:
|
|
538 |
slugified_slug = slug.replace('-', '_')
|
|
539 |
final_slug = slugified_slug
|
|
540 |
counter = 0
|
|
541 |
while final_slug in seen:
|
|
542 |
final_slug = slugified_slug + '_%s' % counter
|
|
543 |
counter += 1
|
|
544 |
seen.add(final_slug)
|
|
545 |
self.formdefs_unique_slug[slug] = final_slug
|
535 |
546 |
self.update_table_sequence_number(table_name)
|
536 |
547 |
|
537 |
548 |
def do_base_table(self):
|
... | ... | |
669 |
680 |
self.do_feed = do_feed
|
670 |
681 |
self.fields = []
|
671 |
682 |
self.item_id_mappings = {}
|
|
683 |
self.unique_slug = self.formdefs_unique_slug[formdef.slug]
|
672 |
684 |
|
673 |
685 |
@property
|
674 |
686 |
def table_name(self):
|
675 |
|
return self.hash_table_name('formdata_%s' % self.formdef.slug.replace('-', '_'))
|
|
687 |
return self.hash_table_name('formdata_%s' % self.unique_slug)
|
676 |
688 |
|
677 |
689 |
@property
|
678 |
690 |
def status_table_name(self):
|
679 |
|
return self.hash_table_name('status_%s' % self.formdef.slug.replace('-', '_'))
|
|
691 |
return self.hash_table_name('status_%s' % self.unique_slug)
|
680 |
692 |
|
681 |
693 |
@property
|
682 |
694 |
def evolution_table_name(self):
|
683 |
|
return self.hash_table_name('evolution_%s' % self.formdef.slug.replace('-', '_'))
|
|
695 |
return self.hash_table_name('evolution_%s' % self.unique_slug)
|
684 |
696 |
|
685 |
697 |
def __getattr__(self, name):
|
686 |
698 |
return getattr(self.olap_feeder, name)
|
687 |
|
-
|