[STUDIO] Champ "date de mise à jour"

Bonjour,

Nous avons amélioré notre module Compte pour y ajouter un onglet décomposé en panneau.

Chaque panneau porte sur une thématique particulière et est composé de plusieurs champs.

Notre besoin:

Si un utilisateur modifie un champ du panneau "Thématique xx", nous aimerions que la date du jour alimente en automatique le champ calculé "Date de mise à jour de la Thématique xx"

Je ne trouve pas la bonne formule.

Est-ce possible?

Merci pour votre aide.

Delphine.

Parents
  • Si j'ai bien compris la situation, vous avez, par example:

    panneau ThématiqueA, avec  champ_1, champ_2, champ_3, date_mise_a_jour_A

    et panneau ThématiqueB, avec  champ_4, champ_5, champ_6, date_mise_a_jour_B

    Si je modifie champ_1, 2 ou 3 vous voulez mettre à jour l'horodatage date_mise_a_jour_A 

    Si je modified champ_4, 5 ou 6 vous voulez mettre à jour l'horodatage date_mise_a_jour_B

    Je ne sais pas comment vous pouvez identifier les champs dans chaque panneau par programme, mais si le champs ne changent pas trop souvent vous pouvez utilizer un logic_hook avec des listes codées en dur. 

    Dans le before_save logic_hook, vous pouvez récoupérer une list des champs qui ont changé, voir si l'un des champs de chacun des panneaux a changé et mettre à jour l'horodatage de la Thématique correspondant, comme ça:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $changes = $bean->db->getDataChanges($bean);
    $changed_fields = array_keys($changes);
    $panelA = array ("champ_1", "champ_2", "champ_3);
    $panelB = array ("champ_4", "champ_5", "champ_6);
    if(count(array_intersect($changed_fields, $panelA)) > 0){
    // au moins un des champs panelA a été modifié
    //fixe l'horodatage pour le panelA
    }
    if(count(array_intersect($changed_fields, $panelB)) > 0){
    // au moins un des champs panelB a été modifié
    //fixe l'horodatage pour le panelB
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    Pardonnez, et s'il vous plait corrigez, mon français. Slight smile

    FrancescaS

  • Bonjour Francesca,

    Votre français est parfait ;)

    Merci votre réponse, je la garde précieusement.

    Delphine.

Reply Children
No Data