<?php
/**
 * Ce script définit la classe 'commune'.
 *
 * @package openresultat
 * @version SVN : $Id$
 */

require_once "../gen/obj/commune.class.php";

/**
 * Définition de la classe 'commune'.
 *
 * Cette classe gère les communes, qui sont les collectivités territoriales
 * de base du découpage administratif français. Elle hérite de la classe
 * générée commune_gen et ajoute l'exposition des données en JSON pour
 * permettre l'intégration avec des applications tierces.
 */
class commune extends commune_gen {

    /**
     * Définition des actions disponibles sur la classe.
     *
     * Ajoute les actions JSON permettant d'exposer les données des communes
     * via une API REST :
     * - json_list (997) : liste de toutes les communes
     * - json_data (998) : données d'une commune spécifique
     *
     * @return void
     */
    function init_class_actions() {
        parent::init_class_actions();
        // ACTION - 997 - json_list
        // Expose la liste des communes au format JSON
        $this->class_actions[997] = array(
            "identifier" => "json_list",
            "view" => "view_json_list",
            "permission_suffix" => "tab",
        );
        // ACTION - 998 - json_data
        // Expose les données d'une commune au format JSON
        $this->class_actions[998] = array(
            "identifier" => "json_data",
            "view" => "view_json_data",
            "permission_suffix" => "consulter",
        );
    }
}
