URL: /Profile/ForUpdate

Method: GET

Descrizione

Questo metodo ritorna un form HTML che consente di modificare un profilo.

Formato richieste

Legenda:
Parametro obbligatorio
Parametro opzionale
{
    'sessionID': SID,
    'objectId': 'object id',
    'MaskExternalId': 'mask external id',
    'languageCode': 'lang code',
    'DMAfterUpdateRedirect': 'https://mysite.com',
    'DMAfterUpdateReturnProfileInfo': 'Se si desidera utilizzare il parametro 'DMAfterUpdateRedirect' questo parametro se impostato a true accoderà tutti i parametri del profilo all'url, altrimenti solo l'objectid del profilo appena modificato
    'formOnly': true/false
    'UpdateButtonCaption': 'Eventuale caption personalizzata del pulsante di modifica.'
    'UpdateCompletedMessage': 'Se non si desidera gestire il parametro DMAfterUpdateRedirect, è possibile utilizzare questo parametro per mostrare un testo di conferma di avvenuta modifica. Nel testo sarà altresi possibile utilizzare dei parametru nella forma {NOMEPARAMETRO}, dove NOMPARAMETRO sarà l'externalId del campo',
    'UpdateCompletedMessageObjectId': 'Se non si desidera gestire il parametro DMAfterUpdateRedirect, è possibile utilizzare questo parametro per utilizzare il contenuto di un profilo come messaggio di conferma avvenuto aggiornamento. L'objectId è riferito al codice del profilo di riferimento (N.B. Da utilizzare in coppia con il parametro UpdateCompletedMessageFieldExternalId ).',
    'UpdateCompletedMessageFieldExternalId': 'Se non si desidera gestire il parametro DMAfterUpdateRedirect, è possibile utilizzare questo parametro per utilizzare il contenuto di un profilo come messaggio di conferma avvenuto inserimento. L'externalId del campo è riferito al campo aggiuntivo del profilo indicato con la proprietà UpdateCompletedMessageFieldExternalId. Se il campo è multilingua il sistema utilizzerà il valore della lingua del profilo di provenienza. Se il profilo inserito non sarà riferito ad una classe ManageContentByLanguage, verrà utilizzata la lingua dell'utente connesso. Come la proprietà UpdateCompletedMessage il contenuto del campo potrà contenere parametri nella forma {EXTERNALIDCAMPO}.',
    'HideMaskAfterComplete': 'Se si dedidera che dopo l'avvenuto aggiornamento con successo la maschera di update non venga visualizzata valorizzare a true questo parametro.',
    'SaveGridsLayout': 'Indica che, se nella maschera sono presenti DynamicAssociations, a queste deve essere passato il parametro SaveLayout = true, così da memorizzare il layout delle griglie',
    'LoadGridsLayout': 'Indica che, se nella maschera sono presenti DynamicAssociations, a queste deve essere passato il parametro LoadLayout = true, così da caricare il layout delle griglie precedentemente salvato',
    'GridsUserId': 'Indica che, se nella maschera sono presenti DynamicAssociations, a queste deve essere passato il parametro UserId con il valore indicato',
    'ShowObjectInfo': 'Booleano che indica se mostrare il pannello delle Object Info',
    'ObjectInfoPosition': 'Se ShowObjectInfo=true, allora questo parametro opzionale indica la posizione dove mostrare il pannello. Valori accettati: TOP, BOTTOM, LEFT, RIGHT. Valore di default: LEFT.',
    'UseLabelsFromLayout': 'Se UseLabelsFromLayout=true, allora i label dei campi non verranno ricavati dalla configurazione dei campi, ma dal label che gli è stato assegnato in fase di disegno della maschera.',
    'EditableFieldExternalIds': 'Permette di limitare i campi modificabili dall'utente. Se questo parametro è specificato, tutti i campi il cui ExternalId non è indicato diventano in sola lettura. Possono essere specificati uno o più ExternalId di campi aggiuntivi o di Dynamic Association separati dal carattere ";".',
    'EngineVersion': 'Permette di scegliere quale motore delle maschere utilizzare, sovrascrivendo l'opzione globale definita a livello di impianto nella Global Configuration. I valori possibili sono 1 e 2',
    'Presenter': [
        {
            'FieldId': 'ID del campo',
            'FieldExternalId': 'ExternalID del campo',
            'DynAssId': 'ID della Dynamic Association',
            'DynAssExternalId': 'ExternalID della Dynamic Association',
            'Type': 'Tipo dell'input',
            'StringSize': 'Lunghezza Massima del campo',
            'Precision': 'Quanti caratteri mostrare',
            'Scale': 'Numeri dopo la virgola',
            'AllowNull': 'true/false, se false imposta il campo come obbligatorio',
            'Label': 'Cambia l'etichetta mostrata',
            'ElementId': 'Definisci l'ID dell'input di questo campo del form',
            'ElementName': 'Definisci il Name dell'input di questo campo del form',
            'ReadOnly': 'true/false, se true imposta il campo solo in lettura',
        }
    ]
    'ApplyBootstrapContainer': true, //Parametro delle maschere versione >= 2, permette di definire se applicare gli stili della classe CSS 'container' di boostrap alla maschera
}

Note

  • sessionId: Se non specificato propone la maschera di login DocsMarshal.
  • UpdateButtonCaption: se non specificato la caption di default è Update;
  • MaskExternalId: specifica la maschera da utilizzare per il layout;
  • DMAfterUpdateRedirect: specifica una URL verso la quale redirigere l'utente al termine della modifica.;
  • formOnly: se impostato a true, verrà ritornato solamente il minimo indispensabile a visualizzare il contenuto ovvero gli script, gli stili ed un contenitore HTML;
    Se impostato a false o non impostato affatto, verrà ritornata una pagina web completa.
  • DMAfterUpdateReturnProfileInfo: Se non specificato il default false.
  • Presenter: Permette di modificare il presenter applicato a un campo aggiuntivo o a una Dynamic Association. Per sapere i valori possibili per il campo Type seguire la LISTA DEI PRESENTER TYPE

Formato risposte

    <codice HTML>

Note

  • La pagina contiene riferimenti a librerie CSS e JavaScript esterne quali jQuery e Bootstrap necessarie per rendere il form completo e funzionante;
  • Nelle maschere V1 veniva applicato al contenitore la classe CSS 'container', apportando alla maschera dimensioni ridotte, e riposizionandola al centro della pagina.
    A partire dalle maschere V2, Boostrap non è più utilizzato, tuttavia è ancora possibile gestire questo comportamento, attraverso il parametro 'ApplyBootstrapContainer', true di default.

API Javascript

Vai alla documentazione del componente (consigliato)

API Javascript legacy

Attenzione: la seguente API è deprecata e il suo utilizzo è fortemente scoraggiato. La documentazione che segue è ad uso e consumo di chi necessita specificatamente di utilizzare le maschere legacy.

DM.Masks.Profile.Update({
    // titolo del popup
    title: 'modifica i dati',

    // contenitore all'interno del quale inserire la maschera;
    // se non viene specificato un contenitore allora la maschera verrà aperta in un popup a schermo pieno;
    // il contenitore può essere una stringa rappresentante un selettore CSS, oppure un HTMLElement Javascript, oppure un elemento jQuery;
    // se si specifica un contenitore la mascherà ne prenderà le dimensioni, quindi è necessario che il contenitore abbia altezza e larghezza definite.
    container: '#my-container',

    // parametri da passare alla maschera
    params: {
        ObjectId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
        MaskExternalId: 'MyMask'
    },

    // callback invocato in seguito al caricamento della maschera di update
    onLoad: function(e) {
        // struttura dell'oggetto passato al callback
        e = {
            iframe: {...}, // oggetto jQuery contenente l'iframe
            popup: {...}, // istanza di dxPopup
            close: (function) // metodo per chiudere la maschera
        };
    },

    // callback invocato quando l'utente utilizza il bottone "close" o il tasto "esc" per chiudere il popup senza interagire con il suo contenuto.
    onUserClose: function() {},

    // callback invocato in seguito all'operazione di update
    onUpdate: function(e) {
        // struttura dell'oggetto passato al callback
        e = {
            iframe: {...}, // oggetto jQuery contenente l'iframe
            popup: {...}, // istanza di dxPopup
            message: {
                Type: 'UPDATE',
                // ObjectId del profilo aggiornato
                ObjectId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' 
                // profilo aggiornato, inclusi i campi di sistema e i campi aggiuntivi
                // i campi aggiuntivi sono presenti utilizzando come chiave sia il loro ID che il loro ExternalId
                Profile: {
                    ObjectId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
                    DomainId: 1,
                    ClassTypeId: 1,
                    ObjectStateId: 1,
                    RefIdCliente: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
                    Importo: 55,
                    Quantita: 2,
                    Totale: 110
                }
            },
            close: (function) // metodo per chiudere la maschera
        };
    }
});