Esempio n. 1
0
 def _check_recomputation(self, values, operation=None):
     super(AccessFile, self)._check_recomputation(values, operation)
     fields = []
     if any(field in values
            for field in ['groups', 'directory', 'inherit_groups']):
         fields.extend(['complete_groups'])
     if fields:
         self.trigger_computation(fields, operation=operation)
Esempio n. 2
0
 def _check_recomputation(self, values, operation=None):
     fields = []
     if any(field in values for field in [
         'parent_group',
         'departments',
         'jobs',
         'groups',
         'additional_users']):
         fields.extend(['users'])
     if fields:
         self.trigger_computation(fields, operation=operation)        
Esempio n. 3
0
    def get_seo_data(self, res_id, res_model):
        if not request.env.user.has_group('website.group_website_publisher'):
            raise werkzeug.exceptions.Forbidden()

        fields = [
            'website_meta_title', 'website_meta_description',
            'website_meta_keywords', 'website_meta_og_img'
        ]
        if res_model == 'website.page':
            fields.extend(['website_indexed', 'website_id'])

        record = request.env[res_model].browse(res_id)
        res = record._read_format(fields)[0]
        res['has_social_default_image'] = request.website.has_social_default_image

        if res_model not in (
                'website.page',
                'ir.ui.view') and 'seo_name' in record:  # allow custom slugify
            res['seo_name_default'] = slugify(
                record.display_name)  # default slug, if seo_name become empty
            res['seo_name'] = record.seo_name and slugify(
                record.seo_name) or ''
        return res
Esempio n. 4
0
 def _check_recomputation(self, values, operation=None):
     fields = []
     if 'name' in values:
         fields.extend(['path'])
     if self.is_root_directory and 'settings' in values:
         fields.extend(['settings'])
     if not self.is_root_directory and 'parent_directory' in values:
         fields.extend(['settings', 'path'])
     if fields:
         self.trigger_computation(fields, operation=operation)
Esempio n. 5
0
 def _check_recomputation(self, values, operation=None):
     fields = []
     if 'name' in values:
         fields.extend(['extension', 'mimetype', 'path'])
     if 'directory' in values:
         fields.extend(['settings', 'path'])
     if 'content' in values:
         fields.extend(['index_content'])
     if fields:
         self.trigger_computation(fields)
     self._check_reference_values(values)
     if 'size' in values:
         self.trigger_computation_up(['size'])