Skip to content
Snippets Groups Projects
categories.org 9.25 KiB
Newer Older
llaffont's avatar
llaffont committed
#+TITLE: Carte OPAC

* AFI Multimedia
llaffont's avatar
llaffont committed
** Planning des ouvertures
	 Note: les ouvertures sont une option conditionnés par la variable MULTIMEDIA_KEY
	 [[file:library/Class/Ouverture.php::class%20Class_Ouverture%20extends%20Storm_Model_Abstract%20{][Modele Ouverture]]
	 [[file:application/modules/admin/views/scripts/ouvertures/edit.phtml::<?php%20echo%20$this->renderForm($this->form)%3B%20?][Vue edit ouverture]] - [[http://localhost/afi-opac3/admin/ouvertures/edit/site_id/1/id/2][Page édition d'une ouverture]]
llaffont's avatar
llaffont committed
	 [[file:tests/application/modules/admin/controllers/OuverturesControllerTest.php::abstract%20class%20OuverturesControllerTestCase%20extends%20Admin_AbstractControllerTestCase%20{][Tests Controller Ouvertures]]
	 [[file:application/modules/admin/controllers/OuverturesController.php::class%20Admin_OuverturesController%20extends%20ZendAfi_Controller_Action%20{][Controller Ouvertures]]	 
** TODO prendre en compte admin_url dans le push

** Réservation automatique [2/3]
cf [[file:application/modules/opac/controllers/AbonneController.php::and%20null%20!%3D%20($hold%20%3D%20$device->getCurrentHoldForUser($user))][Abonne authenticateAction]]
[[file:library/Class/Multimedia/Device.php::public%20function%20autoHoldByUser($user,%20$current_hold)%20{][Device autoHoldByUser]]
[[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::class%20AbonneControllerMultimediaAuthenticateLaurentTest%20extends%20AbonneControllerMultimediaAuthenticateValidTestCase%20{][Tests autoHold]] - [[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::protected%20function%20_prepareLocationInSession()%20{][TestCase de base]]
*** DONE adapter getMaxTimeForToday avec les ouvertures dans [[file:library/Class/Multimedia/Device.php::if%20($end%20>%20($next_closing%20%3D%20$this->getMaxTimeForToday()))][Device autoHold]]
		 CLOSED: [2012-08-07 Tue 17:59]
*** TODO Ajouter la vérification du quota (factoriser avec [[file:application/modules/opac/controllers/AbonneController.php::/*%20V%C3%A9rification%20du%20quota%20sur%20le%20jour%20choisi%20*/][ce qui est fait dans AbonneController]] (en fait déjà dans [[file:library/Class/Users.php::public%20function%20getMultimediaQuotaErrorForDay($day)%20{][Users::getMultimediaQuotaErrorForDay]]
*** DONE Rajouter les erreurs [4/4]
		 CLOSED: [2012-08-10 Fri 14:19]
Erreurs renvoyées [[file:application/modules/opac/controllers/AbonneController.php::$response->error%20%3D%20$request->getError()%3B][dans authenticate]] avec le Multimedia_AuthenticateRequest
Rajouter erreurs: 
**** DONE réservation prévue sur une durée < slot: peux pas réserver, réservation prévue dans xx mn  => Rajouter une durée minimale de réservation auto (par ex., si on réserve en plein milieu d'un slot et que le slot suivant déjà réservé, on peut ou pas utiliser le poste selon le temps restant avant ce prochain slot)
		 CLOSED: [2012-08-10 Fri 14:19]
**** DONE réservation auto. pas activée et aucune réservation pour l'utilisateur
		 CLOSED: [2012-08-10 Fri 12:03]
**** DONE c'est pas l'utilisateur qui a réservé (réservation en cours)
		 CLOSED: [2012-08-10 Fri 12:03]
**** DONE poste/device non trouvé (DeviceNotFound)
		 CLOSED: [2012-08-10 Fri 11:28]
	 [[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::abstract%20class%20AbonneControllerMultimediaAuthenticateTestCase%20extends%20AbstractControllerTestCase%20{][Test controller Abonne]]
*** [[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::class%20AbonneControllerMultimediaHoldLocationTest%20extends%20AbonneControllerMultimediaHoldTestCase%20{][1er écran choix du lieu]]
*** TODO [[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::class%20AbonneControllerMultimediaHoldDayTest%20extends%20AbonneControllerMultimediaHoldTestCase%20{][2nd écran choix du jour]] - [[file:application/modules/opac/controllers/AbonneController.php::public%20function%20multimediaHoldDayAction()%20{][action controller]] [1/2]
**** DONE Remplacer le getDays qui retourne la liste des coches par les ouvertures récurentes de la bib cf [[file:application/modules/opac/controllers/AbonneController.php::if%20(-1%20%3D%3D%20$.inArray(date.getDay(),%20%5B'%20.%20$location->getDays()%20.%20'%5D))%20{][$location->getDays()]]
		 CLOSED: [2012-08-09 Thu 18:55]
**** TODO Si le bidouilleux mets une date bidon dans l'url, l'écran suivant ne proposera pas d'heure de départ. Donc faire la vérification pour ne pas changer d'écran et afficher message erreur
		 
*** DONE [[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::class%20AbonneControllerMultimediaHoldHoursTest%20extends%20AbonneControllerMultimediaHoldTestCase%20{][3ème écran choix de l'heure]] [1/1]
		 CLOSED: [2012-08-09 Thu 18:55]
**** DONE Brancher getMin/MaxTimeForDate aux ouvertures [[file:application/modules/opac/controllers/AbonneController.php::if%20($start%20<%20$location->getMinTimeForDate($bean->day)][vérification créneau ouverture]]


*** TODO [[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::class%20AbonneControllerMultimediaHoldDeviceTest%20extends%20AbonneControllerMultimediaHoldTestCase%20{][4ème écran choix du poste]] [0/1]
**** TODO Rajouter un écran choix de groupe + schuffle des postes que pour un groupe donné [[file:library/Class/Multimedia/Location.php::public%20function%20getHoldableDevicesForDateTimeAndDuration($date,%20$time,%20$duration)%20{][Recherche des postes pour horaire donné]]

*** [[file:tests/application/modules/opac/controllers/AbonneControllerMultimediaTest.php::class%20AbonneControllerMultimediaHoldConfirmTest%20extends%20AbonneControllerMultimediaHoldTestCase%20{][5ème écran confirmation]]
** TODO Fiche abonné: afficher conso + temps restant par jour / semaine / mois
llaffont's avatar
llaffont committed
** Skin réservation timeline 
llaffont's avatar
llaffont committed
	[[http://localhost/afi-opac3/abonne/multimedia-hold-location][url page réservation]]
	[[file:public/opac/css/global.css::.timeline%20{][CSS .timeline]]
	[[file:application/modules/opac/views/scripts/abonne/multimedia-hold-location.phtml::<?php%20foreach%20($this->locations%20as%20$location)%20{%20?][vue réservation]]
** Admin multimedia
	 [[file:tests/application/modules/admin/controllers/MultimediaControllerTest.php::class%20Admin_MultimediaControllerIndexTest%20extends%20Admin_AbstractControllerTestCase%20{][Tests controller Multimedia]]
	 [[file:application/modules/admin/controllers/MultimediaController.php::class%20Admin_MultimediaController%20extends%20ZendAfi_Controller_Action%20{][Controller Multimedia]]
llaffont's avatar
llaffont committed
* Oeil accessibilité
	[[file:public/admin/js/global.js::function%20createAccessibilityDialog()%20{][JS création dialogue]]

* Bib numérique
	[[file:public/opac/css/global.css::/**%20bib%20numerique%20*/][CSS Bib num]]
llaffont's avatar
llaffont committed
	
llaffont's avatar
llaffont committed
* WS SIGB Maze
** Info emprunteur
	 [[file:library/Class/WebService/SIGB/Microbib/Service.php::public%20function%20getEmprunteur($user)%20{][Service::getEmprunteur]]
	 [[file:library/Class/WebService/SIGB/Microbib/InfosExemplairesResponseReader.php::return%20$instance->getNoticeFromXML($xml)%3B][Parsing XML]]
	 [[file:tests/library/Class/WebService/SIGB/MicrobibServiceTest.php::$this->emprunteur%20%3D%20$this->_microbib->getEmprunteur(Class_Users::getLoader()][Tests getEmprunteur]]
llaffont's avatar
llaffont committed



* Scaffolding avec ZendAfi
	[[file:application/modules/admin/controllers/OaiController.php::public%20function%20getRessourceDefinitions()%20{][Exemple de définition de ressources dans l'OAI controller]]
	[[file:application/modules/admin/views/scripts/oai/index.phtml::echo%20$this->tagModelTable($this->entrepots,][Exemple TagModelTable pour rendre la liste des modèles]]
	[[file:application/modules/admin/views/scripts/oai/edit.phtml::<?php%20echo%20$this->renderForm($this->form)%3B?][edit.phtml rend juste le form]]

* ZendForm
	[[file:application/modules/admin/controllers/FormationController.php::->addElement('datePicker',%20'date_debut',%20array(][Exemple complet (datePicker, select, CKEditor)]]
	[[file:library/ZendAfi/View/Helper/RenderForm.php::class%20ZendAfi_View_Helper_RenderForm%20extends%20ZendAfi_View_Helper_BaseHelper%20{][Helper_RenderForm]]
llaffont's avatar
llaffont committed


* A refactorer [0/1]
** TODO [#A] [[file:library/Class/Multimedia/Location.php::public%20function%20getPossibleHours($increment,%20$from%20%3D%20null,%20$to%20%3D%20null)%20{][::getPossibleHours à mettre dans une classe Date ou Time ...]]


* doc
** [[https://gist.github.com/3126866][Basic Meta Programming with PHP5.4]]
** Histoire de faire un canvas:
#+BEGIN_SRC php
function html ($code , $id="", $class=""){
    if ($id !== "") $id = " id = \"$id\"" ;
    $class =  ($class !== "")? " class =\"$class\"":">";
    $open = "<$code$id$class";
    $close = "</$code>";
    return function ($inner = "") use ($open, $close){
        return "$open$inner$close";};

}
$layout = array('container','header','pmain','lsidebar','rsidebar','footer');

foreach ($layout as $element)
   $$element = html ("div", $element);

$div = html("div", "test");

$bold = html('strong');
$italic = html('i');

$msg= $div($bold($italic("hello from the left sidebar")));

echo $container(
    $header(
        "This is the header").$pmain(
            $lsidebar(
                $msg).$rsidebar(
                "This is the right sidebar")).$footer(
    ));
 #+END_SRC