
//////////////////// Editar Formulario Moderno //////////////////////////////////
async function EditForm() {
    let organizationDataRequest = {};
    organizationDataRequest.getMetadata = () => ({
        boundParameter: null,
        operationType: 1,
        operationName: "RetrieveCurrentOrganization",
        parameterTypes: {
            AccessType: {
                typeName: "Microsoft.Dynamics.CRM.EndpointAccessType",
                structuralProperty: 3,
                enumProperties: [
                    {
                      name: "Default",
                      value: 0,
                    },
                    {
                      name: "Internet",
                      value: 1,
                    },
                    {
                      name: "Intranet",
                      value: 2, 
                    },
                  ],
            }
        }
    })
    organizationDataRequest.AccessType = 0; 
    let organizationDataResponse = await (await Xrm.WebApi.online.execute(organizationDataRequest)).json();
    let enviromentId = await organizationDataResponse.Detail.EnvironmentId;

let formId = await Xrm.Page.ui.formSelector.getCurrentItem().getId();
let pagetype = '?source=modernAppDesigner&cds-form-designer.promptForPublish=true';
let entityname = Xrm.Page.data.entity.getEntityName();

let makeId = 'https://make.powerapps.com/e/'+enviromentId+'/s/00000001-0000-0000-0001-00000000009b/entity/'+entityname+'/form/edit/'+formId+''+pagetype+'';
window.open(makeId, '_blank').focus();
}


//////////////////// Editar Formulario Clasico //////////////////////////////////
async function EditFormClassic() {
    debugger;
    let formId = await Xrm.Page.ui.formSelector.getCurrentItem().getId();
    let entityname = Xrm.Page.data.entity.getEntityName();
    let objcode;
fetch('/api/data/v8.2/EntityDefinitions?$select=LogicalName,ObjectTypeCode&$filter=LogicalName eq %27'+entityname+'%27')
  .then(response => response.json())
  .then(data => {
    debugger;
 console.log(data)
 objcode=(data.value[0].ObjectTypeCode);
 
 let pagetype = '&pagetype=formeditor#962280019';
 let makeId = '/main.aspx?appSolutionId=%7B00000001-0000-0000-0001-00000000009b%7D&etc='+objcode+'&extraqs=formtype%3dmain%26formId='+formId+''+pagetype+'';
 window.open(makeId, '_blank').focus();
  })
  .catch(error => {
    console.log(error);
  });

}


function hasCurrentUserRole(roleName){
  debugger;
  let hasRole = false;
  let roles = Xrm.Utility.getGlobalContext().userSettings.roles;
  roles.forEach(x => {
                if (x.name === "System Administrator") {
                    hasRole = true;
                    return;
                }
               });
   return hasRole;
}