Ejemplo n.º 1
0
    def _run_task(self):
        # Check that path exists
        if not os.path.isdir(self.options['path']):
            raise TaskOptionsError(
                'The path {} does not exist or is not a directory'.format(
                    self.options['path'],
                )
            )

        # Check that revert_path does not exist
        if os.path.exists(self.options['revert_path']):
            raise TaskOptionsError(
                'The revert_path {} already exists.  Delete it and try again'.format(
                    self.options['revert_path'],
                )
            )

        # Copy path to revert_path
        copy_tree(self.options['path'], self.options['revert_path'])

        # Edit metadata in path
        self.logger.info('Preparing metadata in {0} for unmanaged EE deployment'.format(
            self.options['path'],
        )) 
        for replace_regex in self.replace_regex:
            for fname_match in self.fname_match:
                findReplaceRegex(
                    os.path.join(self.options['path']), replace_regex, '', fname_match)
    
        self.logger.info('Metadata in {} is now prepared for unmanaged EE deployment'.format(
            self.options['path'],
        ))
Ejemplo n.º 2
0
    def _process_metadata(self):
        super(UpdateAdminProfile, self)._process_metadata()
       
        if self.options['skip_record_types']:
            return
 
        # Strip record type visibilities
        findReplaceRegex(
            '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>',
            '',
            os.path.join(self.tempdir, 'profiles'),
            'Admin.profile'
        )
        
        # Set up namespace
        namespace_prefix = ''
        if self.options['managed']:
            namespace_prefix = '{}__'.format(self.project_config.project__package__namespace)

        # Set record type visibilities for Course Connections
        self._set_record_type('{}Course_Enrollment__c.Default'.format(namespace_prefix), 'false')
        self._set_record_type('{}Course_Enrollment__c.Faculty'.format(namespace_prefix), 'false')
        self._set_record_type('{}Course_Enrollment__c.Student'.format(namespace_prefix), 'true')

        # Set record type visibilities for Accounts
        self._set_record_type('Account.Administrative', 'true')
        self._set_record_type('Account.Academic_Program', 'false')
        self._set_record_type('Account.Business_Organization', 'false')
        self._set_record_type('Account.Educational_Institution', 'false')
        self._set_record_type('Account.HH_Account', 'false')
        self._set_record_type('Account.Sports_Organization', 'false')
        self._set_record_type('Account.University_Department', 'false')
Ejemplo n.º 3
0
 def _run_task(self):
     findReplaceRegex(
         find=self.options["find"],
         replace=self.options["replace"],
         directory=self.options["path"],
         filePattern=self.options["file_pattern"],
         logger=self.logger,
     )
Ejemplo n.º 4
0
 def _run_task(self):
     findReplaceRegex(
         find=self.options['find'],
         replace=self.options['replace'],
         directory=self.options['path'],
         filePattern=self.options['file_pattern'],
         logger=self.logger,
     )
Ejemplo n.º 5
0
    def test_findReplaceRegex(self):
        with utils.temporary_dir() as d:
            path = os.path.join(d, "test")
            with open(path, "w") as f:
                f.write("aa")

            logger = mock.Mock()
            utils.findReplaceRegex(r"\w", "x", d, "*", logger)

            logger.info.assert_called_once()
            with open(path, "r") as f:
                result = f.read()
            self.assertEqual(result, "xx")
Ejemplo n.º 6
0
    def test_findReplaceRegex(self):
        with utils.temporary_dir() as d:
            path = os.path.join(d, "test")
            with open(path, "w") as f:
                f.write("aa")

            logger = mock.Mock()
            utils.findReplaceRegex(r"\w", "x", d, "*", logger)

            logger.info.assert_called_once()
            with open(path, "r") as f:
                result = f.read()
            self.assertEqual(result, "xx")
Ejemplo n.º 7
0
    def test_findReplaceRegex(self):
        with temporary_dir() as d:
            path = os.path.join(d, 'test')
            with open(path, 'w') as f:
                f.write('aa')

            logger = mock.Mock()
            utils.findReplaceRegex(r'\w', 'x', d, '*', logger)

            logger.info.assert_called_once()
            with open(path, 'r') as f:
                result = f.read()
            self.assertEqual(result, 'xx')
Ejemplo n.º 8
0
    def _process_metadata(self):
        super(UpdateAdminProfile, self)._process_metadata()

        # Strip record type visibilities
        findReplaceRegex(
            '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '',
            os.path.join(self.tempdir, 'profiles'), 'Admin.profile')

        # Set record type visibilities
        self._set_record_type('Account.HH_Account', 'false')
        self._set_record_type(
            'Account.Organization', 'true',
            '    <personAccountDefault>true</personAccountDefault>')
        self._set_record_type('Opportunity.NPSP_Default', 'true')
Ejemplo n.º 9
0
 def _process_metadata(self):
     super(UpdateAdminProfile, self)._process_metadata()
     
     # Strip record type visibilities
     findReplaceRegex(
         '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>',
         '',
         os.path.join(self.tempdir, 'profiles'),
         'Admin.profile'
     )
     
     # Set record type visibilities
     self._set_record_type('Course_Enrollment__c.Default', 'false')
     self._set_record_type('Course_Enrollment__c.Faculty', 'false')
     self._set_record_type('Course_Enrollment__c.Student', 'true')
Ejemplo n.º 10
0
    def _process_metadata(self):
        super(UpdateAdminProfile, self)._process_metadata()

        if self.options['skip_record_types']:
            return

        # Strip record type visibilities
        findReplaceRegex(
            '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '',
            os.path.join(self.tempdir, 'profiles'), 'Admin.profile')

        # Set record type visibilities
        namespace_prefix = ''
        if self.options['managed']:
            namespace_prefix = '{}__'.format(
                self.project_config.project__package__namespace)
        self._set_record_type(
            '{}Course_Enrollment__c.Default'.format(namespace_prefix), 'false')
        self._set_record_type(
            '{}Course_Enrollment__c.Faculty'.format(namespace_prefix), 'false')
        self._set_record_type(
            '{}Course_Enrollment__c.Student'.format(namespace_prefix), 'true')
Ejemplo n.º 11
0
    def _process_metadata(self):
        super(UpdateAdminProfile, self)._process_metadata()

        # Strip record type visibilities
        findReplaceRegex(
            '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '',
            os.path.join(self.tempdir, 'profiles'), 'Admin.profile')

        namespace_args = {
            'managed': self.namespace_prefix,
            'namespaced_org': self.namespaced_org_prefix,
        }

        # Set record type visibilities for Accounts
        self._set_record_type(
            'Account.{namespaced_org}Administrative'.format(**namespace_args),
            'true',
        )
        self._set_record_type(
            'Account.{namespaced_org}Academic_Program'.format(
                **namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}Business_Organization'.format(
                **namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}Educational_Institution'.format(
                **namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}HH_Account'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}Sports_Organization'.format(
                **namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}University_Department'.format(
                **namespace_args),
            'false',
        )

        if self.options['skip_record_types']:
            return

        # Set record type visibilities for Course Connections
        self._set_record_type(
            '{managed}Course_Enrollment__c.{namespaced_org}Default'.format(
                **namespace_args),
            'false',
        )
        self._set_record_type(
            '{managed}Course_Enrollment__c.{namespaced_org}Faculty'.format(
                **namespace_args),
            'false',
        )
        self._set_record_type(
            '{managed}Course_Enrollment__c.{namespaced_org}Student'.format(
                **namespace_args),
            'true',
        )

        # Set record type visibilities for Attribute
        self._set_record_type(
            '{managed}Attribute__c.{managed}Credential'.format(
                **namespace_args),
            'true',
        )
        self._set_record_type(
            '{managed}Attribute__c.{managed}Student_Characteristic'.format(
                **namespace_args),
            'false',
        )
Ejemplo n.º 12
0
    def _process_metadata(self):
        super(UpdateAdminProfile, self)._process_metadata()

        # Strip record type visibilities
        findReplaceRegex(
            "<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>",
            "",
            Path(self.retrieve_dir, "profiles"),
            "Admin.profile",
        )

        namespace_args = {
            "managed": self.namespace_prefix,
            "namespaced_org": self.namespaced_org_prefix,
        }

        # Set record type visibilities for Accounts
        self._set_record_type(
            "Account.{namespaced_org}Administrative".format(**namespace_args),
            "true",
        )
        self._set_record_type(
            "Account.{namespaced_org}Academic_Program".format(
                **namespace_args),
            "false",
        )
        self._set_record_type(
            "Account.{namespaced_org}Business_Organization".format(
                **namespace_args),
            "false",
        )
        self._set_record_type(
            "Account.{namespaced_org}Educational_Institution".format(
                **namespace_args),
            "false",
        )
        self._set_record_type(
            "Account.{namespaced_org}HH_Account".format(**namespace_args),
            "false",
        )
        self._set_record_type(
            "Account.{namespaced_org}Sports_Organization".format(
                **namespace_args),
            "false",
        )
        self._set_record_type(
            "Account.{namespaced_org}University_Department".format(
                **namespace_args),
            "false",
        )

        if self.options["skip_record_types"]:
            return

        # Set record type visibilities for Course Connections
        self._set_record_type(
            "{managed}Course_Enrollment__c.{namespaced_org}Default".format(
                **namespace_args),
            "false",
        )
        self._set_record_type(
            "{managed}Course_Enrollment__c.{namespaced_org}Faculty".format(
                **namespace_args),
            "false",
        )
        self._set_record_type(
            "{managed}Course_Enrollment__c.{namespaced_org}Student".format(
                **namespace_args),
            "true",
        )

        # Set record type visibilities for Attribute
        self._set_record_type(
            "{managed}Attribute__c.{managed}Credential".format(
                **namespace_args),
            "true",
        )
        self._set_record_type(
            "{managed}Attribute__c.{managed}Student_Characteristic".format(
                **namespace_args),
            "false",
        )

        # Set record type visibilities for Case
        self._set_record_type(
            "Case.{namespaced_org}Incident".format(**namespace_args),
            "true",
        )
Ejemplo n.º 13
0
    def _process_metadata(self):
        super(UpdateAdminProfile, self)._process_metadata()
       
        # Strip record type visibilities
        findReplaceRegex(
            '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>',
            '',
            os.path.join(self.tempdir, 'profiles'),
            'Admin.profile'
        )

        namespace_args = {
            'managed': self.namespace_prefix,
            'namespaced_org': self.namespaced_org_prefix,
        }
        
        # Set record type visibilities for Accounts
        self._set_record_type(
            'Account.{namespaced_org}Administrative'.format(**namespace_args),
            'true',
        )
        self._set_record_type(
            'Account.{namespaced_org}Academic_Program'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}Business_Organization'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}Educational_Institution'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}HH_Account'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}Sports_Organization'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            'Account.{namespaced_org}University_Department'.format(**namespace_args),
            'false',
        )

        if self.options['skip_record_types']:
            return
 
        # Set record type visibilities for Course Connections
        self._set_record_type(
            '{managed}Course_Enrollment__c.{namespaced_org}Default'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            '{managed}Course_Enrollment__c.{namespaced_org}Faculty'.format(**namespace_args),
            'false',
        )
        self._set_record_type(
            '{managed}Course_Enrollment__c.{namespaced_org}Student'.format(**namespace_args),
            'true',
        )