Changeset 93875 in spip-zone


Ignore:
Timestamp:
Dec 22, 2015, 9:36:16 AM (4 years ago)
Author:
tcharlss@…
Message:

Ajout des autorisations de base : voir et modifier un identifiant, seuls les admins peuvent. Ajout d'une colonne id_identifiant, et mise à jour des clés primaires en conséquence. Dans le formulaire, on met le bouton enregistrer avant le bouton annuler, comme ça en validant au clavier avec la touche entrée, on enregistre au lieu d'annuler.

Location:
_plugins_/identifiants/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/identifiants/trunk/base/identifiants.php

    r93843 r93875  
    4141function identifiants_declarer_tables_auxiliaires($tables) {
    4242
    43         // PRIX
     43        // IDENTIFIANTS
    4444        $tables['spip_identifiants'] = array(
    4545                'field'=> array(
    46                         "identifiant"   => "VARCHAR (255) DEFAULT '' NOT NULL",
    47                         "objet"         => "VARCHAR (25) DEFAULT '' NOT NULL",
    48                         "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
    49                         "maj"           => "TIMESTAMP"
     46                        "id_identifiant" => "bigint(21) NOT NULL AUTO_INCREMENT",
     47                        "identifiant"    => "VARCHAR (255) DEFAULT '' NOT NULL",
     48                        "objet"          => "VARCHAR (25) DEFAULT '' NOT NULL",
     49                        "id_objet"       => "bigint(21) DEFAULT '0' NOT NULL",
     50                        "maj"            => "TIMESTAMP"
    5051                ),
    5152                'key' => array(
    52                         "PRIMARY KEY"       => "identifiant",
    53                         "KEY identifiant"   => "identifiant",
    54                         "KEY objet"         => "objet",
    55                         "KEY id_objet"      => "id_objet",
     53                        "PRIMARY KEY"    => "id_identifiant, identifiant, objet, id_objet",
    5654                )
    5755        );
  • _plugins_/identifiants/trunk/formulaires/editer_identifiant.html

    r93843 r93875  
    3636        <p class='boutons'[(#ENV{_saisie_en_cours}|non)style="display:none;"]>
    3737                        <span class='image_loading'>&nbsp;</span>
     38                        <input type='submit' class='submit' name='enregistrer' value='<:bouton_enregistrer:>' />
    3839                        <input type='submit' class='submit' name='annuler' value='<:bouton_annuler:>' />
    39                         <input type='submit' class='submit' name='enregistrer' value='<:bouton_enregistrer:>' />
    4040                </p>
    4141        </div></form>
  • _plugins_/identifiants/trunk/identifiants_administrations.php

    r93843 r93875  
    2929        );
    3030
     31        // ajout d'une colonne `id_identifiant`, modification de la clé primaire
     32        $maj['1.0.1'] = array(
     33                // supprimer la clé primaire actuelle `identifiant`
     34                array('sql_alter', "TABLE spip_identifiants DROP PRIMARY KEY"),
     35                // ajout de la nouvelle colonne `id_identifiant`
     36                array('maj_tables', array('spip_identifiants')),
     37                // nouvelle clé primaire
     38                array('sql_alter', "TABLE spip_identifiants ADD PRIMARY KEY (id_identifiant,identifiant,objet,id_objet)")
     39        );
     40
    3141        include_spip('base/upgrade');
    3242        maj_plugin($nom_meta_base_version, $version_cible, $maj);
  • _plugins_/identifiants/trunk/identifiants_autorisations.php

    r93843 r93875  
    1717 * @pipeline autoriser */
    1818function identifiants_autoriser(){}
     19
     20
     21/**
     22 * Autorisation à voir les identifiants.
     23 *
     24 * Uniquement les admins (complets et restreints).
     25 *
     26 * @param  string $faire Action demandée
     27 * @param  string $type  Type d'objet sur lequel appliquer l'action
     28 * @param  int    $id    Identifiant de l'objet
     29 * @param  array  $qui   Description de l'auteur demandant l'autorisation
     30 * @param  array  $opts  Options de cette autorisation
     31 * @return bool          true s'il a le droit, false sinon
     32 */
     33function autoriser_identifiant_voir_dist($faire, $type, $id, $qui, $opts) {
     34        $is_admin  = ($qui['statut']=='0minirezo');
     35        $autoriser = $is_admin;
     36        return $autoriser;
     37}
     38
     39
     40/**
     41 * Autorisation à modifier les identifiants.
     42 *
     43 * Uniquement les admins (complets et restreints).
     44 *
     45 * @param  string $faire Action demandée
     46 * @param  string $type  Type d'objet sur lequel appliquer l'action
     47 * @param  int    $id    Identifiant de l'objet
     48 * @param  array  $qui   Description de l'auteur demandant l'autorisation
     49 * @param  array  $opts  Options de cette autorisation
     50 * @return bool          true s'il a le droit, false sinon
     51 */
     52function autoriser_identifiant_modifier_dist($faire, $type, $id, $qui, $opts) {
     53        $is_admin  = ($qui['statut']=='0minirezo');
     54        $autoriser = $is_admin;
     55        return $autoriser;
     56}
  • _plugins_/identifiants/trunk/identifiants_pipelines.php

    r93843 r93875  
    3232        if (
    3333                $e !== false // page d'un objet éditorial
    34                 AND $e['edition'] === false // pas en mode édition
    35                 AND $table_objet_sql = $e['table_objet_sql']
    36                 AND in_array($table_objet_sql,$objets)
     34                and $e['edition'] === false // pas en mode édition
     35                and $table_objet_sql = $e['table_objet_sql']
     36                and in_array($table_objet_sql,$objets)
     37                and autoriser('voir','identifiant')
    3738        ) {
    3839                $texte .= recuperer_fond('prive/objets/editer/identifiant', array(
  • _plugins_/identifiants/trunk/paquet.xml

    r93843 r93875  
    22        prefix="identifiants"
    33        categorie="divers"
    4         version="1.0.0"
     4        version="1.0.1"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.1.*]"
    77        logo="prive/themes/spip/images/identifiants.png"
    88        documentation=""
    9         schema="1.0.0"
     9        schema="1.0.1"
    1010>
    1111
     
    1717
    1818        <pipeline nom="affiche_milieu" inclure="identifiants_pipelines.php" />
     19        <pipeline nom="autoriser" inclure="identifiants_autorisations.php" />
    1920
    2021        <pipeline nom="declarer_tables_interfaces" inclure="base/identifiants.php" />
    2122        <pipeline nom="declarer_tables_auxiliaires" inclure="base/identifiants.php" />
    22         <!--<pipeline nom="declarer_tables_objets_sql" inclure="base/identifiants.php" />-->
    2323
    2424</paquet>
Note: See TracChangeset for help on using the changeset viewer.