Add a new field serial.publisheddatetext for displaying published date
in another format that dateformat syspref permit.
Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
serial.serialseq,
serial.planneddate,
serial.publisheddate,
serial.serialseq,
serial.planneddate,
serial.publisheddate,
+ serial.publisheddatetext,
serial.status,
serial.notes as notes,
year(IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate)) as year,
serial.status,
serial.notes as notes,
year(IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate)) as year,
serial.serialseq,
serial.planneddate,
serial.publisheddate,
serial.serialseq,
serial.planneddate,
serial.publisheddate,
+ serial.publisheddatetext,
serial.status,
serial.notes as notes,
year(IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate)) as year,
serial.status,
serial.notes as notes,
year(IF(serial.publisheddate="00-00-0000",serial.planneddate,serial.publisheddate)) as year,
$count = 5 unless ($count);
my @serials;
my $statuses = join( ',', ( ARRIVED, MISSING_STATUSES, NOT_ISSUED ) );
$count = 5 unless ($count);
my @serials;
my $statuses = join( ',', ( ARRIVED, MISSING_STATUSES, NOT_ISSUED ) );
- my $query = "SELECT serialid,serialseq, status, publisheddate, planneddate,notes, routingnotes
+ my $query = "SELECT serialid,serialseq, status, publisheddate,
+ publisheddatetext, planneddate,notes, routingnotes
FROM serial
WHERE subscriptionid = ? AND status NOT IN ( $statuses )
ORDER BY IF(publisheddate<>'0000-00-00',publisheddate,planneddate) DESC";
FROM serial
WHERE subscriptionid = ? AND status NOT IN ( $statuses )
ORDER BY IF(publisheddate<>'0000-00-00',publisheddate,planneddate) DESC";
}
# OK, now add the last 5 issues arrives/missing
}
# OK, now add the last 5 issues arrives/missing
- $query = "SELECT serialid,serialseq, status, planneddate, publisheddate,notes, routingnotes
+ $query = "SELECT serialid,serialseq, status, planneddate, publisheddate,
+ publisheddatetext, notes, routingnotes
FROM serial
WHERE subscriptionid = ?
AND status IN ( $statuses )
FROM serial
WHERE subscriptionid = ?
AND status IN ( $statuses )
my $dbh = C4::Context->dbh;
my $query = qq|
my $dbh = C4::Context->dbh;
my $query = qq|
- SELECT serialid,serialseq, status, planneddate, publisheddate,notes, routingnotes
+ SELECT serialid,serialseq, status, planneddate, publisheddate,
+ publisheddatetext, notes, routingnotes
FROM serial
WHERE subscriptionid=$subscription AND status IN ($statuses_string)
ORDER BY publisheddate,serialid DESC
FROM serial
WHERE subscriptionid=$subscription AND status IN ($statuses_string)
ORDER BY publisheddate,serialid DESC
-ModSerialStatus($serialid,$serialseq, $planneddate,$publisheddate,$status,$notes)
+ ModSerialStatus($serialid, $serialseq, $planneddate, $publisheddate,
+ $publisheddatetext, $status, $notes);
This function modify the serial status. Serial status is a number.(eg 2 is "arrived")
Note : if we change from "waited" to something else,then we will have to create a new "waited" entry
This function modify the serial status. Serial status is a number.(eg 2 is "arrived")
Note : if we change from "waited" to something else,then we will have to create a new "waited" entry
=cut
sub ModSerialStatus {
=cut
sub ModSerialStatus {
- my ( $serialid, $serialseq, $planneddate, $publisheddate, $status, $notes ) = @_;
+ my ($serialid, $serialseq, $planneddate, $publisheddate, $publisheddatetext,
+ $status, $notes) = @_;
return unless ($serialid);
return unless ($serialid);
DelIssue( { 'serialid' => $serialid, 'subscriptionid' => $subscriptionid, 'serialseq' => $serialseq } );
} else {
DelIssue( { 'serialid' => $serialid, 'subscriptionid' => $subscriptionid, 'serialseq' => $serialseq } );
} else {
- my $query = 'UPDATE serial SET serialseq=?,publisheddate=?,planneddate=?,status=?,notes=? WHERE serialid = ?';
+ my $query = '
+ UPDATE serial
+ SET serialseq = ?, publisheddate = ?, publisheddatetext = ?,
+ planneddate = ?, status = ?, notes = ?
+ WHERE serialid = ?
+ ';
$sth = $dbh->prepare($query);
$sth = $dbh->prepare($query);
- $sth->execute( $serialseq, $publisheddate, $planneddate, $status, $notes, $serialid );
+ $sth->execute( $serialseq, $publisheddate, $publisheddatetext,
+ $planneddate, $status, $notes, $serialid );
$query = "SELECT * FROM subscription WHERE subscriptionid = ?";
$sth = $dbh->prepare($query);
$sth->execute($subscriptionid);
$query = "SELECT * FROM subscription WHERE subscriptionid = ?";
$sth = $dbh->prepare($query);
$sth->execute($subscriptionid);
- my ( $serialseq, $subscriptionid, $biblionumber, $status, $planneddate, $publisheddate, $notes ) = @_;
+ my ( $serialseq, $subscriptionid, $biblionumber, $status, $planneddate,
+ $publisheddate, $publisheddatetext, $notes ) = @_;
### FIXME biblionumber CAN be provided by subscriptionid. So Do we STILL NEED IT ?
return unless ($subscriptionid);
my $dbh = C4::Context->dbh;
my $query = qq|
### FIXME biblionumber CAN be provided by subscriptionid. So Do we STILL NEED IT ?
return unless ($subscriptionid);
my $dbh = C4::Context->dbh;
my $query = qq|
- INSERT INTO serial
- (serialseq,subscriptionid,biblionumber,status,publisheddate,planneddate,notes)
- VALUES (?,?,?,?,?,?,?)
+ INSERT INTO serial (serialseq, subscriptionid, biblionumber, status,
+ publisheddate, publisheddatetext, planneddate, notes)
+ VALUES (?,?,?,?,?,?,?,?)
|;
my $sth = $dbh->prepare($query);
|;
my $sth = $dbh->prepare($query);
- $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status, $publisheddate, $planneddate, $notes );
+ $sth->execute( $serialseq, $subscriptionid, $biblionumber, $status,
+ $publisheddate, $publisheddatetext, $planneddate, $notes );
my $serialid = $dbh->{'mysql_insertid'};
$query = qq|
SELECT missinglist,recievedlist
my $serialid = $dbh->{'mysql_insertid'};
$query = qq|
SELECT missinglist,recievedlist
--- /dev/null
+ALTER TABLE serial
+ADD COLUMN publisheddatetext VARCHAR(100) DEFAULT NULL AFTER publisheddate
`planneddate` date default NULL, -- date expected
`notes` text, -- notes
`publisheddate` date default NULL, -- date published
`planneddate` date default NULL, -- date expected
`notes` text, -- notes
`publisheddate` date default NULL, -- date published
+ publisheddatetext varchar(100) default NULL, -- date published (descriptive)
`claimdate` date default NULL, -- date claimed
claims_count int(11) default 0, -- number of claims made related to this issue
`routingnotes` text, -- notes from the routing list
`claimdate` date default NULL, -- date claimed
claims_count int(11) default 0, -- number of claims made related to this issue
`routingnotes` text, -- notes from the routing list
[% END %]
<th class="title-string">Date published
</th>
[% END %]
<th class="title-string">Date published
</th>
+ <th class="title-string">Date published (text)
+ </th>
<th class="title-string">Date received
</th>
<th>Number
<th class="title-string">Date received
</th>
<th>Number
+ <td>
+ [% publisheddatetext = serial.publisheddatetext || serial.publisheddate %]
+ <span title="[% publisheddatetext %]">
+ [% IF serial.publisheddatetext %]
+ [% publisheddatetext %]
+ [% ELSIF serial.publisheddate %]
+ [% serial.publisheddate | $KohaDates %]
+ [% ELSE %]
+ Unknown
+ [% END %]
+ </span>
+ </td>
<td>
<span title="[% serial.planneddate %]">
[% IF serial.planneddate %]
<td>
<span title="[% serial.planneddate %]">
[% IF serial.planneddate %]
<tr>
<th>Numbered</th>
<th>Published on</th>
<tr>
<th>Numbered</th>
<th>Published on</th>
+ <th>Published on (text)</th>
<th>Expected on</th>
<th>Status</th>
<th>Notes</th>
<th>Expected on</th>
<th>Status</th>
<th>Notes</th>
<td>
<input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
<input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" class="datepicker" />
</td>
+ <td>
+ <input type="text" name="publisheddatetext" value="[% serialslis.publisheddatetext || serialslis.publisheddate %]" size="10" maxlength="15" />
+ </td>
<td>
<input type="text" id="expecteddate" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
<input type="text" id="expecteddate" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
<input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
<input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" class="datepicker" />
</td>
+ <td>
+ <input type="text" name="publisheddatetext" value="[% newserialloo.publisheddatetext || newserialloo.publisheddate %]" size="10" maxlength="15" />
+ </td>
<td>
<input type="text" name="planneddate" id="supexpecteddate" value="[% newserialloo.planneddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
<input type="text" name="planneddate" id="supexpecteddate" value="[% newserialloo.planneddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<th>Issue number</th>
<th>Planned date</th>
<th>Published date</th>
<th>Issue number</th>
<th>Planned date</th>
<th>Published date</th>
+ <th>Published date (text)</th>
<th>Status</th>
</tr>
[% FOREACH serialslis IN serialslist %]
<th>Status</th>
</tr>
[% FOREACH serialslis IN serialslist %]
+ <td>
+ [% serialslis.publisheddatetext || serialslis.publisheddate %]
+ </td>
<td>
[% IF ( serialslis.status1 ) %]Expected[% END %]
[% IF ( serialslis.status2 ) %]Arrived[% END %]
<td>
[% IF ( serialslis.status1 ) %]Expected[% END %]
[% IF ( serialslis.status2 ) %]Arrived[% END %]
{
$confirm
and ModSerialStatus( $issue->{serialid}, $issue->{serialseq},
{
$confirm
and ModSerialStatus( $issue->{serialid}, $issue->{serialseq},
- $issue->{planneddate}, $issue->{publisheddate},
+ $issue->{planneddate}, $issue->{publisheddate}, $issue->{publisheddatetext},
3, $note );
$verbose
and print "Serial issue with id=" . $issue->{serialid} . " updated\n";
3, $note );
$verbose
and print "Serial issue with id=" . $issue->{serialid} . " updated\n";
if($op eq 'gennext' && @subscriptionid){
my $subscriptionid = $subscriptionid[0];
if($op eq 'gennext' && @subscriptionid){
my $subscriptionid = $subscriptionid[0];
- my $sth = $dbh->prepare("SELECT publisheddate, serialid, serialseq, planneddate
- FROM serial WHERE status = 1 AND subscriptionid = ?");
+ my $sth = $dbh->prepare("
+ SELECT publisheddate, publisheddatetext, serialid, serialseq,
+ planneddate
+ FROM serial
+ WHERE status = 1 AND subscriptionid = ?
+ ");
my $status = defined( $nbissues ) ? 2 : 3;
$nbissues ||= 1;
for ( my $i = 0; $i < $nbissues; $i++ ){
my $status = defined( $nbissues ) ? 2 : 3;
$nbissues ||= 1;
for ( my $i = 0; $i < $nbissues; $i++ ){
if ( my $issue = $sth->fetchrow_hashref ) {
ModSerialStatus( $issue->{serialid}, $issue->{serialseq},
$issue->{planneddate}, $issue->{publisheddate},
if ( my $issue = $sth->fetchrow_hashref ) {
ModSerialStatus( $issue->{serialid}, $issue->{serialseq},
$issue->{planneddate}, $issue->{publisheddate},
+ $issue->{publisheddatetext}, $status, "" );
} else {
require C4::Serials::Numberpattern;
my $subscription = GetSubscription($subscriptionid);
} else {
require C4::Serials::Numberpattern;
my $subscription = GetSubscription($subscriptionid);
my @serialseqs = $query->param('serialseq');
my @planneddates = $query->param('planneddate');
my @publisheddates = $query->param('publisheddate');
my @serialseqs = $query->param('serialseq');
my @planneddates = $query->param('planneddate');
my @publisheddates = $query->param('publisheddate');
+my @publisheddates = $query->param('publisheddate');
+my @publisheddatetexts = $query->param('publisheddatetext');
my @status = $query->param('status');
my @notes = $query->param('notes');
my @subscriptionids = $query->param('subscriptionid');
my @status = $query->param('status');
my @notes = $query->param('notes');
my @subscriptionids = $query->param('subscriptionid');
$status[$i],
$plan_date,
$pub_date,
$status[$i],
$plan_date,
$pub_date,
+ $publisheddatetexts[$i],
$serialseqs[$i],
$plan_date,
$pub_date,
$serialseqs[$i],
$plan_date,
$pub_date,
+ $publisheddatetexts[$i],
$status[$i],
$notes[$i]
);
$status[$i],
$notes[$i]
);