You need to sign in to do that
Don't have an account?
timy teenu
convert profile to permission set
When I run this
List<ObjectPermissions> objPermList = new List<ObjectPermissions>();
List<FieldPermissions> fieldPermList = new List<FieldPermissions>();
//get the object permisisons for a given profile – source
List<ObjectPermissions> objPermissionList = [SELECT Id, SobjectType, PermissionsCreate, PermissionsRead, PermissionsEdit, PermissionsDelete,
PermissionsModifyAllRecords,PermissionsViewAllRecords FROM ObjectPermissions
where ParentId in (select id from PermissionSet where profile.name = ‘System Administrator’)];
//get the field permissions for a given profile – source
List<FieldPermissions> fldPermissionList = [SELECT Id, ParentId, SobjectType, Field, PermissionsEdit, PermissionsRead FROM FieldPermissions
where ParentId in(select id from PermissionSet where profile.name = ‘System Administrator’)];
//destination permisison set
List<PermissionSet> permissionSetList = [select id from PermissionSet where name = ‘System_Administrator’];
PermissionSet permissionSet = permissionSetList.get(0);
//set object permissions
for(ObjectPermissions oP : objPermissionList)
{
ObjectPermissions objPerm = new ObjectPermissions();
objPerm.ParentId = permissionSet.id;
objPerm.SobjectType = oP.SobjectType;
objPerm.PermissionsCreate = true;
objPerm.PermissionsDelete = true;
objPerm.PermissionsEdit = true;
objPerm.PermissionsModifyAllRecords = true;
objPerm.PermissionsRead = true;
objPerm.PermissionsViewAllRecords = true;
objPermList.add(objPerm);
}
Database.upsert(objPermList, false);
//set field permissions
for(FieldPermissions fp : fldPermissionList)
{
FieldPermissions fldPerm = new FieldPermissions();
fldPerm.ParentId = permissionSet.id;
fldPerm.SobjectType = fp.SobjectType;
fldPerm.Field = fp.Field;
fldPerm.PermissionsEdit = true;
fldPerm.PermissionsRead = true;
fieldPermList.add(fldPerm);
}
Database.upsert(fieldPermList, false);
I get the following error message
Line: 7, Column: 70
Invalid identifier '‘System'. Apex identifiers must start with an ASCII letter (a-z or A-Z) followed by any number of ASCII letters (a-z or A-Z), digits (0 - 9), '$', '_'.
What could be wrong in this
List<ObjectPermissions> objPermList = new List<ObjectPermissions>();
List<FieldPermissions> fieldPermList = new List<FieldPermissions>();
//get the object permisisons for a given profile – source
List<ObjectPermissions> objPermissionList = [SELECT Id, SobjectType, PermissionsCreate, PermissionsRead, PermissionsEdit, PermissionsDelete,
PermissionsModifyAllRecords,PermissionsViewAllRecords FROM ObjectPermissions
where ParentId in (select id from PermissionSet where profile.name = ‘System Administrator’)];
//get the field permissions for a given profile – source
List<FieldPermissions> fldPermissionList = [SELECT Id, ParentId, SobjectType, Field, PermissionsEdit, PermissionsRead FROM FieldPermissions
where ParentId in(select id from PermissionSet where profile.name = ‘System Administrator’)];
//destination permisison set
List<PermissionSet> permissionSetList = [select id from PermissionSet where name = ‘System_Administrator’];
PermissionSet permissionSet = permissionSetList.get(0);
//set object permissions
for(ObjectPermissions oP : objPermissionList)
{
ObjectPermissions objPerm = new ObjectPermissions();
objPerm.ParentId = permissionSet.id;
objPerm.SobjectType = oP.SobjectType;
objPerm.PermissionsCreate = true;
objPerm.PermissionsDelete = true;
objPerm.PermissionsEdit = true;
objPerm.PermissionsModifyAllRecords = true;
objPerm.PermissionsRead = true;
objPerm.PermissionsViewAllRecords = true;
objPermList.add(objPerm);
}
Database.upsert(objPermList, false);
//set field permissions
for(FieldPermissions fp : fldPermissionList)
{
FieldPermissions fldPerm = new FieldPermissions();
fldPerm.ParentId = permissionSet.id;
fldPerm.SobjectType = fp.SobjectType;
fldPerm.Field = fp.Field;
fldPerm.PermissionsEdit = true;
fldPerm.PermissionsRead = true;
fieldPermList.add(fldPerm);
}
Database.upsert(fieldPermList, false);
I get the following error message
Line: 7, Column: 70
Invalid identifier '‘System'. Apex identifiers must start with an ASCII letter (a-z or A-Z) followed by any number of ASCII letters (a-z or A-Z), digits (0 - 9), '$', '_'.
What could be wrong in this
All Answers
List<ObjectPermissions> objPermList = new List<ObjectPermissions>();
List<FieldPermissions> fieldPermList = new List<FieldPermissions>();
//get the object permisisons for a given profile – source
List<ObjectPermissions> objPermissionList = [SELECT Id, SobjectType, PermissionsCreate, PermissionsRead, PermissionsEdit, PermissionsDelete,
PermissionsModifyAllRecords,PermissionsViewAllRecords FROM ObjectPermissions
where ParentId in (select id from PermissionSet where profile.name = 'System Administrator')];
//get the field permissions for a given profile – source
List<FieldPermissions> fldPermissionList = [SELECT Id, ParentId, SobjectType, Field, PermissionsEdit, PermissionsRead FROM FieldPermissions
where ParentId in(select id from PermissionSet where profile.name = 'System Administrator')];
//destination permisison set
List<PermissionSet> permissionSetList = [select id from PermissionSet where name = 'System_Administrator'];
PermissionSet permissionSet = permissionSetList.get(0);
//set object permissions
for(ObjectPermissions oP : objPermissionList)
{
ObjectPermissions objPerm = new ObjectPermissions();
objPerm.ParentId = permissionSet.id;
objPerm.SobjectType = oP.SobjectType;
objPerm.PermissionsCreate = true;
objPerm.PermissionsDelete = true;
objPerm.PermissionsEdit = true;
objPerm.PermissionsModifyAllRecords = true;
objPerm.PermissionsRead = true;
objPerm.PermissionsViewAllRecords = true;
objPermList.add(objPerm);
}
Database.upsert(objPermList, false);
//set field permissions
for(FieldPermissions fp : fldPermissionList)
{
FieldPermissions fldPerm = new FieldPermissions();
fldPerm.ParentId = permissionSet.id;
fldPerm.SobjectType = fp.SobjectType;
fldPerm.Field = fp.Field;
fldPerm.PermissionsEdit = true;
fldPerm.PermissionsRead = true;
fieldPermList.add(fldPerm);
}
Database.upsert(fieldPermList, false);
But now I get this error message
System.LimitException: Too many DML rows: 10001
Can you please help on this