new feature : stocktaking/inventory.
authortipaul <tipaul>
Thu, 12 Feb 2004 09:16:18 +0000 (09:16 +0000)
committertipaul <tipaul>
Thu, 12 Feb 2004 09:16:18 +0000 (09:16 +0000)
Look in reports menu
(no DB changes)

C4/Circulation/Circ2.pm
koha-tmpl/intranet-tmpl/default/en/reports/inventory.tmpl [new file with mode: 0644]
koha-tmpl/intranet-tmpl/default/en/reports/reports-home.tmpl
koha-tmpl/intranet-tmpl/default/fr/reports/inventory.tmpl [new file with mode: 0644]
koha-tmpl/intranet-tmpl/default/fr/reports/reports-home.tmpl
misc/translator/intranet.fr
reports-home.pl
reports/inventory.pl [new file with mode: 0755]

index f2ffa29..3784b85 100755 (executable)
@@ -52,6 +52,7 @@ C4::Circulation::Circ2 - Koha circulation module
 
 The functions in this module deal with circulation, issues, and
 returns, as well as general information about the library.
+Also deals with stocktaking.
 
 =head1 FUNCTIONS
 
@@ -63,10 +64,41 @@ returns, as well as general information about the library.
 @EXPORT = qw(&getpatroninformation
        &currentissues &getissues &getiteminformation
        &issuebook &returnbook &find_reserves &transferbook &decode
-       &calc_charges);
+       &calc_charges &listitemsforinventory &itemseen);
 
 # &getbranches &getprinters &getbranch &getprinter => moved to C4::Koha.pm
 
+=item itemseen
+&itemseen($itemnum)
+Mark item as seen. Is called when an item is issued, returned or manually marked during inventory/stocktaking
+C<$itemnum> is the item number
+
+=back
+
+=cut
+sub itemseen {
+       my ($itemnum) = @_;
+       my $dbh = C4::Context->dbh;
+       my $sth = $dbh->prepare("update items set datelastseen  = now() where items.itemnumber = ?");
+       $sth->execute($itemnum);
+       return;
+}
+
+sub listitemsforinventory {
+       my ($minlocation,$maxlocation,$datelastseen,$offset,$size) = @_;
+       my $dbh = C4::Context->dbh;
+       my $sth = $dbh->prepare("select itemnumber,barcode,bulk,title,author from items,biblio where items.biblionumber=biblio.biblionumber and bulk>= ? and bulk <=? and (datelastseen< ? or datelastseen is null) order by bulk,title");
+       $sth->execute($minlocation,$maxlocation,$datelastseen);
+       my @results;
+       while (my $row = $sth->fetchrow_hashref) {
+               $offset-- if ($offset);
+               if ((!$offset) && $size) {
+                       push @results,$row;
+                       $size--;
+               }
+       }
+       return \@results;
+}
 =item getpatroninformation
 
   ($borrower, $flags) = &getpatroninformation($env, $borrowernumber,
@@ -444,7 +476,8 @@ sub dotransfer {
        $dbh->do("INSERT INTO   branchtransfers (itemnumber, frombranch, datearrived, tobranch)
                                        VALUES ($itm, $fbr, now(), $tbr)");
        #update holdingbranch in items .....
-       $dbh->do("UPDATE items SET      datelastseen  = now(), holdingbranch = $tbr WHERE       items.itemnumber = $itm");
+       $dbh->do("UPDATE items holdingbranch = $tbr WHERE       items.itemnumber = $itm");
+       &itemseen($itm);
        return;
 }
 
@@ -756,9 +789,10 @@ sub issuebook {
                $sth->execute($patroninformation->{'borrowernumber'}, $iteminformation->{'itemnumber'}, $dateduef, $env->{'branchcode'});
                $sth->finish;
                $iteminformation->{'issues'}++;
-               $sth=$dbh->prepare("update items set issues=?,datelastseen=now() where itemnumber=?");
+               $sth=$dbh->prepare("update items set issues=? where itemnumber=?");
                $sth->execute($iteminformation->{'issues'},$iteminformation->{'itemnumber'});
                $sth->finish;
+               &itemseen($iteminformation->{'itemnumber'});
                # If it costs to borrow this book, charge it to the patron's account.
                my ($charge,$itemtype)=calc_charges($env, $dbh, $iteminformation->{'itemnumber'}, $patroninformation->{'borrowernumber'});
                if ($charge > 0) {
@@ -918,9 +952,7 @@ sub doreturn {
                and (itemnumber = ?) and (returndate is null)");
        $sth->execute($brn,$itm);
        $sth->finish;
-       $sth=$dbh->prepare("update items set datelastseen=now() where itemnumber=?");
-       $sth->execute($itm);
-       $sth->finish;
+       &itemseen($itm);
        return;
 }
 
diff --git a/koha-tmpl/intranet-tmpl/default/en/reports/inventory.tmpl b/koha-tmpl/intranet-tmpl/default/en/reports/inventory.tmpl
new file mode 100644 (file)
index 0000000..602da82
--- /dev/null
@@ -0,0 +1,112 @@
+<!-- TMPL_INCLUDE NAME="reports-top.inc" -->
+<h1>Inventory/Stocktaking</h1>
+<form method="post">
+       <table>
+               <tr>
+                       <th colspan=2>
+                               Select items you want to check
+                       </th>
+               </tr>
+               <tr>
+                       <td>
+                                       Item Location (items.bulk) between
+                       </td>
+                       <td>
+                                <input type="text" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->"> and <input type="text" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+                       </td>
+               </tr>
+               <tr>
+                       <td>
+                                       not seen since
+                       </td>
+                       <td>
+                               <input type="text" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+                       </td>
+               </tr>
+               <tr>
+                       <td>
+                                       show
+                       </td>
+                       <td>
+                               <input type="text" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+                               <i> items beginning at offset</i>
+                                <input type="text" name="offset" value="<!-- TMPL_VAR name="offset" -->">
+                       </td>
+               </tr>
+               <tr colspan=2>
+                       <td>
+                               <input type="submit" value="OK" class="button">
+                       </td>
+               </tr>
+       </table>
+</form>
+
+<form method="post">
+<input type="hidden" name="markseen" value="1">
+<input type="hidden" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->">
+<input type="hidden" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+<input type="hidden" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+<input type="hidden" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+<input type="hidden" name="offset" value="<!-- TMPL_VAR name="offset" -->">
+<!-- TMPL_IF name="loop" -->
+<table width="100%">
+       <tr>
+               <th>Seen</th>
+               <th>Barcode</th>
+               <th>Bulk</th>
+               <th>Title</th>
+               <th>Author</th>
+       </tr>
+<!-- TMPL_LOOP name="loop" -->
+       <tr>
+               <td>
+                       <input type="checkbox" name="SEEN-<!-- TMPL_VAR name="itemnumber" -->" value="1">
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="barcode" -->
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="bulk" -->
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="title" -->
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="author" -->
+               </td>
+       </tr>
+<!-- /TMPL_LOOP -->
+</table>
+<input type="submit" value="Mark seen" class="button">
+</form>
+<!-- /TMPL_IF -->
+
+<table>
+<tr>
+       <td>
+               <!-- TMPL_IF name="offset" -->
+               <form method="post">
+                       <input type="hidden" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->">
+                       <input type="hidden" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+                       <input type="hidden" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+                       <input type="hidden" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+                       <input type="hidden" name="offset" value="<!-- TMPL_VAR name="prevoffset" -->">
+                       <input type="submit" value="&lt;&lt;&lt;" class="button">
+               </form>
+               <!-- /TMPL_IF -->
+       </td>
+       <td>
+               <!-- TMPL_IF name="nextoffset" -->
+               <form method="post">
+                       <input type="hidden" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->">
+                       <input type="hidden" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+                       <input type="hidden" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+                       <input type="hidden" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+                       <input type="hidden" name="offset" value="<!-- TMPL_VAR name="nextoffset" -->">
+                       <input type="submit" value="&gt;&gt;&gt;" class="button">
+               </form>
+               <!-- /TMPL_IF -->
+       </td>
+</tr>
+</table>
+<!-- TMPL_INCLUDE NAME="reports-bottom.inc" -->
index f140902..3d34d19 100644 (file)
@@ -1,16 +1,12 @@
 <!-- TMPL_INCLUDE NAME="reports-top.inc" -->
 <!-------------------------MAIN BODY OF PAGE-------------------------->
 
-<h1>Reports</h1><br>
-
-
-
-
-<ul><li><a href=/cgi-bin/koha/stats.pl?time=yesterday>Till Reconciliation:</a> Daily Report (yesterday)
-<li><a href=/cgi-bin/koha/stats.pl?time=today>Till Reconciliation:</a> Daily Report (today)
-<li><a href=/cgi-bin/koha/overdue.pl>Overdue items</a>
-
-
+<h1>Reports</h1><br/>
+<ul>
+       <li><a href="/cgi-bin/koha/stats.pl?time=yesterday">Till Reconciliation:</a> Daily Report (yesterday)</li>
+       <li><a href="/cgi-bin/koha/stats.pl?time=today">Till Reconciliation:</a> Daily Report (today)</li>
+       <li><a href="/cgi-bin/koha/overdue.pl">Overdue items</a></li>
+       <li><a href="/cgi-bin/koha/reports/inventory.pl">Inventory/Stocktaking</a></li>
 </ul>
 <!-- TMPL_INCLUDE NAME="reports-bottom.inc" -->
 
diff --git a/koha-tmpl/intranet-tmpl/default/fr/reports/inventory.tmpl b/koha-tmpl/intranet-tmpl/default/fr/reports/inventory.tmpl
new file mode 100644 (file)
index 0000000..9783504
--- /dev/null
@@ -0,0 +1,112 @@
+<!-- TMPL_INCLUDE NAME="reports-top.inc" -->
+<h1>Récolement</h1>
+<form method="post">
+       <table>
+               <tr>
+                       <th colspan=2>
+                               Sélectionnez les ouvrages que vous voulez récoler
+                       </th>
+               </tr>
+               <tr>
+                       <td>
+                                       Ouvrage (champ items.bulk) localisé entre
+                       </td>
+                       <td>
+                                <input type="text" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->"> et <input type="text" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+                       </td>
+               </tr>
+               <tr>
+                       <td>
+                                       pas vu depuis le (AAAA-MM-JJ)
+                       </td>
+                       <td>
+                               <input type="text" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+                       </td>
+               </tr>
+               <tr>
+                       <td>
+                                       Voir
+                       </td>
+                       <td>
+                               <input type="text" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+                               <i> ouvrage à partir du</i>
+                                <input type="text" name="offset" value="<!-- TMPL_VAR name="offset" -->">
+                       </td>
+               </tr>
+               <tr colspan=2>
+                       <td>
+                               <input type="submit" value="OK" class="button">
+                       </td>
+               </tr>
+       </table>
+</form>
+
+<form method="post">
+<input type="hidden" name="markseen" value="1">
+<input type="hidden" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->">
+<input type="hidden" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+<input type="hidden" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+<input type="hidden" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+<input type="hidden" name="offset" value="<!-- TMPL_VAR name="offset" -->">
+<!-- TMPL_IF name="loop" -->
+<table width="100%">
+       <tr>
+               <th>Vu</th>
+               <th>Code barre</th>
+               <th>en gros</th>
+               <th>Titre</th>
+               <th>Auteur</th>
+       </tr>
+<!-- TMPL_LOOP name="loop" -->
+       <tr>
+               <td>
+                       <input type="checkbox" name="SEEN-<!-- TMPL_VAR name="itemnumber" -->" value="1">
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="barcode" -->
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="bulk" -->
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="title" -->
+               </td>
+               <td>
+                       <!-- TMPL_VAR name="author" -->
+               </td>
+       </tr>
+<!-- /TMPL_LOOP -->
+</table>
+<input type="submit" value="Noté vu" class="button">
+</form>
+<!-- /TMPL_IF -->
+
+<table>
+<tr>
+       <td>
+               <!-- TMPL_IF name="offset" -->
+               <form method="post">
+                       <input type="hidden" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->">
+                       <input type="hidden" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+                       <input type="hidden" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+                       <input type="hidden" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+                       <input type="hidden" name="offset" value="<!-- TMPL_VAR name="prevoffset" -->">
+                       <input type="submit" value="&lt;&lt;&lt;" class="button">
+               </form>
+               <!-- /TMPL_IF -->
+       </td>
+       <td>
+               <!-- TMPL_IF name="nextoffset" -->
+               <form method="post">
+                       <input type="hidden" name="minlocation" value="<!-- TMPL_VAR name="minlocation" -->">
+                       <input type="hidden" name="maxlocation" value="<!-- TMPL_VAR name="maxlocation" -->">
+                       <input type="hidden" name="datelastseen" value="<!-- TMPL_VAR name="datelastseen" -->">
+                       <input type="hidden" name="pagesize" value="<!-- TMPL_VAR name="pagesize" -->">
+                       <input type="hidden" name="offset" value="<!-- TMPL_VAR name="nextoffset" -->">
+                       <input type="submit" value="&gt;&gt;&gt;" class="button">
+               </form>
+               <!-- /TMPL_IF -->
+       </td>
+</tr>
+</table>
+<!-- TMPL_INCLUDE NAME="reports-bottom.inc" -->
index 6914f32..2b11c37 100644 (file)
@@ -1,16 +1,12 @@
 <!-- TMPL_INCLUDE NAME="reports-top.inc" -->
 <!-------------------------MAIN BODY OF PAGE-------------------------->
 
-<h1>Rapports</h1><br>
-
-
-
-
-<ul><li><a href=/cgi-bin/koha/stats.pl?time=yesterday>Jusqu'à la réconciliation:</a> Rapport quotidien (hier)
-<li><a href=/cgi-bin/koha/stats.pl?time=today>Jusqu'à la réconciliation:</a> Rapport quotidien (aujourd'hui)
-<li><a href=/cgi-bin/koha/overdue.pl>Ouvrages en retard</a>
-
-
+<h1>Rapports</h1><br/>
+<ul>
+       <li><a href="/cgi-bin/koha/stats.pl?time=yesterday">Jusqu'à la réconciliation:</a> Rapport quotidien (hier)</li>
+       <li><a href="/cgi-bin/koha/stats.pl?time=today">Jusqu'à la réconciliation:</a> Rapport quotidien (aujourd'hui)</li>
+       <li><a href="/cgi-bin/koha/overdue.pl">Ouvrages en retard</a></li>
+       <li><a href="/cgi-bin/koha/reports/inventory.pl">Récolement</a></li>
 </ul>
 <!-- TMPL_INCLUDE NAME="reports-bottom.inc" -->
 
index e4fcce4..f097418 100644 (file)
@@ -12,14 +12,14 @@ Active      Actif
 ACTUAL ACTUEL
 Actual Cost    Coût effectif
 Adam Thick     *****
-add    LIMITED;ajouter
 Add    LIMITED;Ajouter
+add    LIMITED;ajouter
 Add a book by barcode in       Ajouter un livre par son code barre dans
 Add a New Item for     Ajouter un nouvel ouvrage pour
 Add a system preference        Ajouter une préférence système
 Add another Website Link       Ajouter un autre lien Internet
-Add Authorised value   Ajouter une valeur autorisée
 Add authorised Value   Ajouter une valeur autorisée
+Add Authorised value   Ajouter une valeur autorisée
 Add biblio     Ajouter une notice biblio
 Add Bookfund   Ajouter un compte
 Add Budget     Ajouter Budget
@@ -27,8 +27,8 @@ Add category  Ajouter une cat
 Add Child      Ajouter un enfant
 Add criteria   Ajouter un critère
 Add currency   Ajouter une monnaie
-Add item       Ajouter un ouvrage
 Add Item       Ajouter un ouvrage
+Add item       Ajouter un ouvrage
 Add item type  Ajouter catégorie d'ouvrage
 Add member     Ajouter un lecteur
 Add New Branch Ajouter une nouvelle annexe
@@ -81,8 +81,8 @@ Alternative Contact   Autre contact
 ALTERNATIVE CONTACT DETAIL     DETAIL AUTRE CONTACT
 Alternative Phone      Autre téléphone
 Ambrose Li     *****
-Amount Montant
 AMOUNT MONTANT
+Amount Montant
 AMOUNT OWING   Montant de l'avoir
 An "authorised value": it refers to a list of authorised values for this subfield. See the corresponding admin table   Une "valeur autorisée": se réfère à une liste de valeurs autorisées pour ce sous-champs. Voir la table admin correspondante.
 and    et
@@ -96,8 +96,8 @@ Ann?e d?but   *****
 Ann?e fin      *****
 Année début    *****
 Année fin      *****
-Any    Tout
 any    tout
+Any    Tout
 Apache version version Apache
 Area   Aire
 Attempting to issue  by  to    Essaie de prêter  par  à
@@ -117,8 +117,8 @@ Available   Disponible
 Back   Retour
 Back to acquisition    Retour vers acquisition
 Bar Code       Code barre
-BARCODE        CODE BARRE
 Barcode        Code barre
+BARCODE        CODE BARRE
 BASKET PANIER
 Basket Panier
 Baycorp Adjustment     *****
@@ -128,7 +128,6 @@ be mapped to a MARC subfield        
 be mapped to the same tag      être relié à la même étiquette
 Become a Member        S'inscrire
 Benedykt P. Barszcz (polish for 2.0    *****
-Benedykt P. Barszcz (polish for 2.0)   UNUSED;1
 Between Brothers by Irene Morck at Main Library        *****
 bgcolor=#99cccc background=/images/background-opac.gif background="/images/background-mem.gif">        *****
 bgcolor=#99cccc background=/images/background-opac.gif>  bgcolor="#ad11ad">    *****
@@ -189,8 +188,8 @@ Card number N
 Cash Refund    Argent rendu
 Cat maintenance        Maintenance Cat
 Cataline Library       *****
-Catalogue      Catalogue
 CATALOGUE      CATALOGUE
+Catalogue      Catalogue
 CATALOGUE DETAILS      DETAILS CATALOGUE
 Catalogue Search       Recherche Catalogue
 Categories     Catégories
@@ -205,8 +204,8 @@ Change status to waiting and print  Mettre le statut "Attente" et imprimer
 CHANGES TO AFFECT THESE BARCODES       MODIFS SUR CES CODES-BARRES
 Character encoding (MARC21 or UNIMARC  Codage des caractères (MARC21 ou UNIMARC
 Charge Frais
-Charges        Frais
 CHARGES        FRAIS
+Charges        Frais
 Charges amounts for itemtypes / borrower types Frais en fonction du type de document / de lecteur
 Checked        Vérifié
 checked  > No  *****
@@ -294,8 +293,8 @@ Define item types   D
 Define links between the Koha standard DB and the MARC one. Note those links can be defined through MARC structure. This tool is just a shortcut to speed up linkage   Définir les liens entre les bases de données standards Koha et MARC. Ces liens peuvent être définis à partir de la structure MARC. Cet outil est simplement un raccourci pour accélérer la création des liens.
 Define the categories of borrowers     Définir catégories d'emprunteurs
 Del    Suppr.
-delete LIMITED;supprimer
 Delete LIMITED;Supprimer
+delete LIMITED;supprimer
 Delete a request by selecting "del" from the rank list Supprimer une demande en sélectionnant "suppr." dans la liste
 Delete Shelves Supprimer Rayonnages
 Delete this Website link       Supprimer lien Internet
@@ -321,8 +320,8 @@ Each box needs to be filled in with fine,time to start charging,charging cycle      C
 Easy / Picture Books   BD
 Easy Reader    Lecture facile
 Ed Summers     *****
-Edit   LIMITED;Editer
 edit   LIMITED;éditer
+Edit   LIMITED;Editer
 Edit Institution       Editer Institution
 editcategory   *****
 eg 1,7,7 = $1 fine, after 7 days, every 7 days ex 1,7,7 = 1EUR,FS,CFA,etc d'amende, après 7 jours, chaque 7 jours
@@ -346,14 +345,14 @@ error(s) in your MARC configuration. Please fix them before using koha    erreurs d
 Ethnicity      Appartenance éthnique
 Ethnicity Notes        Notes appartenance ethnique
 ex GST, inc discount   ex TVA, remise
-exact  exact
 Exact  Exact
+exact  exact
 EXCHANGE RATES TAUX DE CHANGE
 Existing items Ouvrages existant
 Expiry Date    Date d'expiration
 Explanation    Explication
-export LIMITED;exporter
 Export LIMITED;Exporter
+export LIMITED;exporter
 Export in MARC format the following biblios    Exporter en format MARC les les biblios suivants
 Exporting in MARC format       Exporter en format MARC
 Fax    Fax
@@ -366,8 +365,8 @@ Fine        Amende
 Fine type      Type d'amende
 FINES & CHARGES        AMENDES & FRAIS
 Firstname      Prénom
-FLAGS  DRAPEAUX
 Flags  Drapeaux
+FLAGS  DRAPEAUX
 Florian Bischof        *****
 for    LIMITED;pour
 For a website add the group only       Pour une site Web, ajouter uniquement le groupe
@@ -402,8 +401,8 @@ HDL INTRANET        *****
 HELP   AIDE
 HELP Ordering  AIDE commande
 Henri-Damien Laurent   *****
-here   ici
 HERE   ICI
+here   ici
 holdingbranch defined  Annexe dépositaire définie
 holdingbranch NOT mapped       Annexe dépositaire non reliée
 Home   Accueil
@@ -441,14 +440,15 @@ Institution Name  Nom Institution
 intra  *****
 intranet       intranet
 Invalid cardnumber     N° carte invalide
+Inventory/Stocktaking  Récolement
 Invoice        Facture
 Invoice Item Price Includes GST        Prix de la facture de l'ouvrage inclus le GST
 Invoice Number N° facture
 Invoice Prices are     Prix facturés sont
 is already in the database with biblionumber  and biblioitemnumber     déjà existant dans la base avec le n° biblio et le n° d'ouvrage
 is marked waiting at   est marqué en attente à
-Isbn   Isbn
 ISBN   ISBN
+Isbn   Isbn
 ISBN title     ISBN titre
 ISSN   ISSN
 Issue  Prêt
@@ -457,12 +457,12 @@ Issues    Pr
 ISSUES & RETURNS       PRETS & RETOURS
 Issuing Question       Question sur le prêt
 Item   Ouvrage
-Item  ()       UNUSED;Ouvrage
 Item added with barcode        Ouvrage ajouté avec un code barre
 Item Barcode   Code barre d'un ouvrage
 Item Count     Nombre d'ouvrages
 item fields    champ ouvrage
 Item is marked waiting at  for Ouvrage marqué en attente à
+Item Location (items.bulk) between     Ouvrage (champ items.bulk) localisé entre
 Item lost      Ouvrage perdu
 Item marked Waiting    Ouvrage marqué en attente
 ITEM RESERVED: () barcode:  itemtype:  COLLECT AT:  BORROWER:    card number:  Phone:      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ">        *****
@@ -471,12 +471,12 @@ Item type Cat
 Item type Admin        Admin Categ ouvrage
 Item types     Categ. ouvrages
 Item waiting at        Ouvrage en attente à
-Item:  ()      UNUSED;Ouvrage
 ItemNotes      Notes ouvrage
 itemnum        IGNORE
 itemnum : the field itemnumber is mapped to a field in tab -1  Ouvrage : le champ itemnumber est connecté à un sous-champ dans un onglet -1
 Itemnumber     IGNORE
 Items  Ouvrages
+items beginning at offset      ouvrage à partir du
 ITEMS CURRENTLY ON ISSUE       OUVRAGES ACTUELLEMENT EN PRET
 Items Overdue as of    Ouvrages en retard depuis
 ITEMS REQUESTED        OUVRAGES RESERVES
@@ -537,8 +537,8 @@ LOCATION    LOCALISATION
 Log In S'identifier
 Log Out        Déconnecter
 Logged in as   Connecté comme
-Login  Identifiant
 login  connecter
+Login  Identifiant
 Lost   Perdu
 LOST   PERDU
 Lost Item      Document perdu
@@ -565,6 +565,7 @@ MARC tag structure  Structure des 
 MARC tag structure admin       Admin Structure étiquette MARC
 MARC21 MARC21
 Marco Gaiarin  *****
+Mark seen      Noter vu
 maybe  peut-être
 Md. Aftabuddin *****
 meaningful only if not for loan is not set     Utilisé seulement si "Non empruntable" n'est pas coché.
@@ -587,12 +588,10 @@ Messages  Messages
 method=post>   *****
 Michaes Herman *****
 Michel Lerenard (Esiee School  *****
-Michel Lerenard (Esiee School) UNUSED;1
 Mike Hansen    *****
 Mike Johnson   *****
 Mike Mylonas   *****
 MJ Ray and Turo Technology LLP, england (quality control, installer & updater  *****
-MJ Ray and Turo Technology LLP, england (quality control, installer & updater) UNUSED;1
 Modify Modifier
 modify modifier
 Modify a system preference     Modifier une préférence système
@@ -632,8 +631,8 @@ Next Available, or choose from list below   Prochain dispo, ou choix dans la liste
 Next Borrower  Emprunteur suivant
 Nicholas Rosasco, (Documentation Compiler      *****
 Nicolas Morin, French Translation      *****
-No     LIMITED;Non
 NO     LIMITED;NON
+No     LIMITED;Non
 no     LIMITED;non
 no categories set      pas de catégorie définie
 No debts       Pas de dettes
@@ -653,6 +652,7 @@ not imported because already in DB  pas import
 not imported because already in farm   pas importé, car déjà existant dans le réservoir
 not imported because they seems not to be MARC format (or ISBN/ISSN missing) ! pas importé, car il semble que ce n'est pas un format MARC (ou ISBN/ISSN manquant) !
 Not on Issue   Pas en prêt
+not seen since pas vu depuis le (AAAA-MM-JJ)
 Note : fines are calculated by the fines2.pl script, located in misc directory. Ask your administrator to put this script in crontab, after midnight, to have fines calculated every night     Note : les amendes sont calculées par le misc/script fines2.pl. Demandez à votre administrateur de mettre ce script dans le crontab, après minuit,  pour que les amendes soient calculées chaque nuit
 NOTE : if you change something in this table, ask your administrator to run misc/rebuildnonmarc.pl script      Note : si vous changez quelque chose dans cette table, demandez à votre administrateur de lancer le script misc/rebuildnonmarc.pl
 NOTE : if you change the link between a MARC subfield and a non-MARC field, ask your administrator to run misc/rebuildnonmarc.pl script        Note : si vous changez le lien du sous-champ MARC vers un champ non-MARC, demandez à votre administrateur de lancer le script misc/rebuildnonmarc.pl
@@ -705,7 +705,6 @@ PARENT OR GUARDIAN  PARENT OU TUTEUR
 Password       Mot de passe
 Pat Eyler, Kaitiaki    *****
 Patron Utilisateur
-Patron information     Information Utilisateur
 Paul Poulain, 2.0 release manager (MARC developper     *****
 Pawel Skuza (Polish for 1.2    *****
 pay    LIMITED;payer
@@ -791,8 +790,8 @@ Repet       *****
 Replacement Cost       Frais Remplacement
 Replacement Price      Prix Remplacement
 Reporter       Reporter
-Reports        LIMITED;Rapports
 reports        LIMITED;rapports
+Reports        LIMITED;Rapports
 request        LIMITED;Réservation
 Request        LIMITED;Réservation
 Requested      Reservé
@@ -800,8 +799,8 @@ Requesting  Reserve
 Reserve        Réserver
 Reserve Cancelled      Réservation annulée
 Reserve fee    Frais Réservation
-Reserve found  Réservation trouvée
 Reserve Found  Réservation trouvée
+Reserve found  Réservation trouvée
 reserve found for      Réservation trouvée pour
 Reserved       Réservé
 Reserves       Réservations
@@ -834,6 +833,7 @@ Section One: Copyright Information  Section Un: Information sur le Copyright
 Sedgewick Library      *****
 see data depending of this one Voir les formes associées
 see other forms of this authority entry        Voir les formes rejetées
+Seen   Vu
 select LIMITED;sélectionner
 Select a borrower      Sélectionner un emprunteur
 Select a collection    Sélectionner une collection
@@ -842,6 +842,7 @@ Select a New File   S
 Select a Record to Import from Sélectionner une notice à importer de
 Select a set of MARC records   Sélectionner un ensemble de notices MARC
 Select Branch  Sélectionner une annexe
+Select items you want to check Sélectionnez les ouvrages que vous voulez récoler
 Select Shelves to Delete       Sélectionner des rayonnages à effacer
 Select the file to import      Sélectionner le fichier à importer
 selected value="0">No  *****
@@ -885,6 +886,7 @@ Shelf List  Liste des rayonnages
 Shopping Basket        Panier
 Shopping Basket  for   Panier pour
 Shopping Basket For    Panier pour
+show   Voir
 Site   Site
 Size   Taille
 size=10 value="">      *****
@@ -937,8 +939,8 @@ Tab LIMITED;Onglet
 tag    LIMITED;etiquette
 Tag    LIMITED;Etiquette
 Teacher Reference      Référence Enseignant
-test   test
 Test   Test
+test   test
 Text messaging Ecriture d'un texte
 Text Messaging Ecriture d'un texte
 Thanks to      Grâce à
@@ -978,8 +980,8 @@ Till Reconciliation Jusqu'
 Title  Titre
 TITLE  TITRE
 Title Search   Recherche Titre
-to     *****
 To     LIMITED;à
+to     LIMITED;à
 To "unmap", click ==>  Pour "déconnecter" cliquer ==>
 To add a new biblio/item, scan or type the ISBN/ISSN number    Pour ajouter une nouvelle notice ou un ouvrage, scannez ou saisissez l'ISBN ou l'ISSN.
 to be picked up by     pour être retiré à
@@ -995,8 +997,8 @@ Todays Issues       Pr
 Tools  Outils
 Total  Total
 TOTAL  TOTAL
-Total Due      Total dû
 Total due      Total dû
+Total Due      Total dû
 Total Number of Items  Nombre total d'ouvrages
 Total paid     Total payé
 Total written off      Total déduit
@@ -1013,8 +1015,8 @@ UNIMARC Field 225a builder        UNIMARC constructeur champ 225a
 unimarc_field_60X.pl   *****
 unimarc_field_700_701_702.pl   *****
 Unititle       Titre uniforme
-Update Mettre à jour
 update mettre à jour
+Update Mettre à jour
 Update Member Details  Mise à jour du lecteur
 Update this Website Link       Corriger ce lien Internet
 Upload a set of MARC records   Charger un ensemble de notices MARC
@@ -1029,8 +1031,8 @@ Userid    Identifiant utilisateur
 Using more fields for your search will slow it down    L'utilisation de plusieurs critères pour votre recherche ralentit le système
 Val build      *****
 Valid values. click OK to confirm this new borrower    Valeurs valides. Cliquez sur OK pour confirmer ce nouveau lecteur
-Value  LIMITED;Valeur
 value  LIMITED;valeur
+Value  LIMITED;Valeur
 Value builder  Constructeur de valeur
 value=" ">No Title     *****
 value="">      *****
@@ -1076,8 +1078,8 @@ You have the following books waiting to be picked up      Vous avez les livres suivan
 You have the following requests for items on loan      Vous avez les demandes suivantes pour des ouvrages en prêt
 You must create a new group for your item to be added to       Vous devez créer un nouveau groupe pour ajouter vos ouvrages
 You must give the item a barcode       Vous devez attribuer un code barre à l'ouvrage
-You searched for       Votre recherche sur
 You Searched for       Votre recherche sur
+You searched for       Votre recherche sur
 You searched on        Recherche effectuée sur
 Young Adult Fiction    Fiction Ados
 Z39.50 Search  Recherche Z39.50
index 488b7c4..a220183 100755 (executable)
@@ -14,7 +14,7 @@ my ($template, $loggedinuser, $cookie)
                                query => $query,
                                type => "intranet",
                                authnotrequired => 0,
-                               flagsrequired => {permissions => 1},
+                               flagsrequired => {catalogue => 1},
                                debug => 1,
                                });
 output_html_with_http_headers $query, $cookie, $template->output;
diff --git a/reports/inventory.pl b/reports/inventory.pl
new file mode 100755 (executable)
index 0000000..dcd2fc4
--- /dev/null
@@ -0,0 +1,82 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Context;
+use C4::Output;
+use C4::Interface::CGI::Output;
+use C4::Circulation::Circ2;
+use HTML::Template;
+
+# Fixed variables
+my $linecolor1='#ffffcc';
+my $linecolor2='white';
+my $backgroundimage="/images/background-mem.gif";
+my $script_name="/cgi-bin/koha/admin/branches.pl";
+my $pagepagesize=20;
+
+
+#######################################################################################
+# Main loop....
+my $input = new CGI;
+my $minlocation=$input->param('minlocation');
+my $maxlocation=$input->param('maxlocation');
+$maxlocation=$minlocation.'Z' unless $maxlocation;
+my $datelastseen = $input->param('datelastseen');
+my $offset = $input->param('offset');
+my $markseen = $input->param('markseen');
+$offset=0 unless $offset;
+my $pagesize = $input->param('pagesize');
+$pagesize=20 unless $pagesize;
+
+my ($template, $borrowernumber, $cookie)
+    = get_template_and_user({template_name => "reports/inventory.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {editcatalogue => 1},
+                            debug => 1,
+                            });
+$template->param(minlocation => $minlocation,
+                               maxlocation => $maxlocation,
+                               offset => $offset,
+                               pagesize => $pagesize,
+                               datelastseen => $datelastseen,
+                               );
+if ($markseen) {
+       foreach my $field ($input->param) {
+               if ($field =~ /SEEN-(.*)/) {
+                       &itemseen($1);
+               }
+       }
+}
+if ($minlocation) {
+       my $res = C4::Circulation::Circ2::listitemsforinventory($minlocation,$maxlocation,$datelastseen,$offset,$pagesize);
+       $template->param(loop =>$res,
+                                       nextoffset => ($offset+$pagesize),
+                                       prevoffset => ($offset?$offset-$pagesize:0),
+                                       );
+}
+output_html_with_http_headers $input, $cookie, $template->output;
+
+# Local Variables:
+# tab-width: 8
+# End: