koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/opac opac-alert-subscribe.pl,NONE,1.1


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/opac opac-alert-subscribe.pl,NONE,1.1
Date: Thu, 04 Aug 2005 01:55:56 -0700

Update of /cvsroot/koha/koha/opac
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3371/opac

Added Files:
        opac-alert-subscribe.pl 
Log Message:
Letters / alert system, continuing...

* adding a package Letters.pm, that manages Letters & alerts.
* adding feature : it's now possible to define a "letter" for any subscription 
created. If a letter is defined, users in OPAC can put an alert on the 
subscription. When an issue is marked "arrived", all users in the alert will 
recieve a mail (as defined in the "letter"). This last part (= send the mail) 
is not yet developped. (Should be done this week)
* adding feature : it's now possible to "put to an alert" in OPAC, for any 
serial subscription. The alert is stored in a new table, called alert. An alert 
can be put only if the librarian has activated them in subscription (and they 
activate it just by choosing a "letter" to sent to borrowers on new issues)
* adding feature : librarian can see in borrower detail which alerts they have 
put, and a user can see in opac-detail which alert they have put too.

Note that the system should be generic enough to manage any type of alert.
I plan to extend it soon to virtual shelves : a borrower will be able to put an 
alert on a virtual shelf, to be warned when something is changed in the virtual 
shelf (mail being sent once a day by cron, or manually by the shelf owner. 
Anyway, a mail won't be sent on every change, users would be spammed by Koha 
;-) )

--- NEW FILE ---
#!/usr/bin/perl

use strict;
use CGI;
use C4::Auth;
use C4::Date;
use C4::Output;
use C4::Interface::CGI::Output;
use C4::Context;
use C4::Koha;
use C4::Letters;
use C4::Bull;
# use C4::Search;
use HTML::Template;

my $query = new CGI;
my $op = $query->param('op');
my $dbh = C4::Context->dbh;

my $sth;
my ($template, $loggedinuser, $cookie);
my $externalid = $query->param('externalid');
my $alerttype = $query->param('alerttype');
my $biblionumber = $query->param('biblionumber');

($template, $loggedinuser, $cookie)
        = get_template_and_user({template_name => "opac-alert-subscribe.tmpl",
                                query => $query,
                                type => "opac",
                                authnotrequired => 1,
                                debug => 1,
                                });

if ($op eq 'alert_confirmed') {
        addalert($loggedinuser,$alerttype,$externalid);
        if ($alerttype eq 'issue') {
                print 
$query->redirect("opac-serial-issues.pl?biblionumber=$biblionumber");
                exit;
        }
} elsif ($op eq 'cancel_confirmed') {
        my $alerts =getalert($loggedinuser,$alerttype,$externalid);
        foreach (@$alerts) { # we are supposed to have only 1 result, but just 
in case...
                delalert($_->{alertid});
        }
        if ($alerttype eq 'issue') {
                print 
$query->redirect("opac-serial-issues.pl?biblionumber=$biblionumber");
                exit;
        }

} else {
        if ($alerttype eq 'issue') { # alert for subscription issues
                my $subscription = &getsubscription($externalid);
                $template->param("typeissue$op" => 1,
                                                bibliotitle => 
$subscription->{bibliotitle},
                                                notes => $subscription->{notes},
                                                externalid => $externalid,
                                                biblionumber => $biblionumber,
                                                );
        } else {
        }
        
}
output_html_with_http_headers $query, $cookie, $template->output;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]