}
}
- if (C4::Context->preference('GranularPermissions')) {
- if ( $flags ) {
- foreach my $module (keys %$all_perms) {
- if ( $flags->{$module} == 1) {
- foreach my $subperm (keys %{ $all_perms->{$module} }) {
- $template->param( "CAN_user_${module}_${subperm}" => 1 );
- }
- } elsif ( ref($flags->{$module}) ) {
- foreach my $subperm (keys %{ $flags->{$module} } ) {
- $template->param( "CAN_user_${module}_${subperm}" => 1 );
- }
- }
- }
- }
- } else {
+ if ( $flags ) {
foreach my $module (keys %$all_perms) {
- foreach my $subperm (keys %{ $all_perms->{$module} }) {
- $template->param( "CAN_user_${module}_${subperm}" => 1 );
+ if ( $flags->{$module} == 1) {
+ foreach my $subperm (keys %{ $all_perms->{$module} }) {
+ $template->param( "CAN_user_${module}_${subperm}" => 1 );
+ }
+ } elsif ( ref($flags->{$module}) ) {
+ foreach my $subperm (keys %{ $flags->{$module} } ) {
+ $template->param( "CAN_user_${module}_${subperm}" => 1 );
+ }
}
}
}
proceed. To make sure that access control is correct, the
C<$flagsrequired> parameter must be specified correctly.
-If the GranularPermissions system preference is ON, the
-value of each key in the C<flagsrequired> hash takes on an additional
-meaning, e.g.,
+Koha also has a concept of sub-permissions, also known as
+granular permissions. This makes the value of each key
+in the C<flagsrequired> hash take on an additional
+meaning, i.e.,
1
}
return $flags if $flags->{superlibrarian};
foreach my $module ( keys %$flagsrequired ) {
- if (C4::Context->preference('GranularPermissions')) {
- my $subperm = $flagsrequired->{$module};
- if ($subperm eq '*') {
- return 0 unless ( $flags->{$module} == 1 or ref($flags->{$module}) );
- } else {
- return 0 unless ( $flags->{$module} == 1 or
- ( ref($flags->{$module}) and
- exists $flags->{$module}->{$subperm} and
- $flags->{$module}->{$subperm} == 1
- )
- );
- }
+ my $subperm = $flagsrequired->{$module};
+ if ($subperm eq '*') {
+ return 0 unless ( $flags->{$module} == 1 or ref($flags->{$module}) );
} else {
- return 0 unless ( $flags->{$module} );
+ return 0 unless ( $flags->{$module} == 1 or
+ ( ref($flags->{$module}) and
+ exists $flags->{$module}->{$subperm} and
+ $flags->{$module}->{$subperm} == 1
+ )
+ );
}
}
return $flags;
}
}
else {
- for (keys(%$PERL_DEPS)) {
- eval "require $_";
+ for (sort keys(%{$PERL_DEPS})) {
+ my $pkg = $_; # $_ holds the string
+ eval "require $pkg";
if ($@) {
push (@{$self->{'missing_pm'}}, {$_ => {cur_ver => 0, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
}
- elsif ($_->VERSION lt $PERL_DEPS->{$_}->{'min_ver'}) {
- push (@{$self->{'upgrade_pm'}}, {$_ => {cur_ver => $_->VERSION, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
+ elsif ($pkg->VERSION lt $PERL_DEPS->{$_}->{'min_ver'}) {
+ push (@{$self->{'upgrade_pm'}}, {$_ => {cur_ver => $pkg->VERSION, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
}
else {
- push (@{$self->{'current_pm'}}, {$_ => {cur_ver => $_->VERSION, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
+ push (@{$self->{'current_pm'}}, {$_ => {cur_ver => $pkg->VERSION, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
}
}
return;
return;
}
my $which_address = C4::Context->preference('AutoEmailPrimaryAddress');
- $to_address = $member->{$which_address};
+ # If the system preference is set to 'first valid' (value == OFF), look up email address
+ if ($which_address eq 'OFF') {
+ $to_address = GetFirstValidEmailAddress( $message->{'borrowernumber'} );
+ } else {
+ $to_address = $member->{$which_address};
+ }
unless ($to_address) {
# warn "FAIL: No 'to_address' and no email for " . ($member->{surname} ||'') . ", borrowernumber ($message->{borrowernumber})";
# warning too verbose for this more common case?
&getzipnamecity
&getidcity
+ &GetFirstValidEmailAddress
+
&GetAge
&GetCities
&GetRoadTypes
return $data;
}
+=head2 GetFirstValidEmailAddress
+
+ $email = GetFirstValidEmailAddress($borrowernumber);
+
+Return the first valid email address for a borrower, given the borrowernumber. For now, the order
+is defined as email, emailpro, B_email. Returns the empty string if the borrower has no email
+addresses.
+
+=cut
+
+sub GetFirstValidEmailAddress {
+ my $borrowernumber = shift;
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare( "SELECT email, emailpro, B_email FROM borrowers where borrowernumber = ? ");
+ $sth->execute( $borrowernumber );
+ my $data = $sth->fetchrow_hashref;
+
+ if ($data->{'email'}) {
+ return $data->{'email'};
+ } elsif ($data->{'emailpro'}) {
+ return $data->{'emailpro'};
+ } elsif ($data->{'B_email'}) {
+ return $data->{'B_email'};
+ } else {
+ return '';
+ }
+}
=head2 GetExpiryDate
- priority >0 : then the reserve is at 1st stage, and not yet affected to any item.
=0 : then the reserve is being dealed
- found : NULL : means the patron requested the 1st available, and we haven't choosen the item
- W(aiting) : the reserve has an itemnumber affected, and is on the way
+ T(ransit) : the reserve is linked to an item but is in transit to the pickup branch
+ W(aiting) : the reserve is linked to an item, is at the pickup branch, and is waiting on the hold shelf
F(inished) : the reserve has been completed, and is done
- itemnumber : empty : the reserve is still unaffected to an item
filled: the reserve is attached to an item
a library having it run "transfertodo", and clic on the list
if there is no transfer to do, the reserve waiting
patron can pick it up P =0, F=W, I=filled
- if there is a transfer to do, write in branchtransfer P =0, F=NULL, I=filled
+ if there is a transfer to do, write in branchtransfer P =0, F=T, I=filled
The pickup library recieve the book, it check in P =0, F=W, I=filled
The patron borrow the book P =0, F=F, I=filled
==== 2nd use case ====
patron requests a document, a given item,
If pickup is holding branch P =0, F=W, I=filled
- If transfer needed, write in branchtransfer P =0, F=NULL, I=filled
- The pickup library recieve the book, it checks it in P =0, F=W, I=filled
+ If transfer needed, write in branchtransfer P =0, F=T, I=filled
+ The pickup library receive the book, it checks it in P =0, F=W, I=filled
The patron borrow the book P =0, F=F, I=filled
=head1 FUNCTIONS
$sth->execute( $biblio, $borr );
# now fix the priority on the others....
- _FixPriority( $priority, $biblio );
+ _FixPriority( $biblio, $borr );
}
}
# now fix the priority on the others (if the priority wasn't
# already sorted!)....
unless ( $priority == 0 ) {
- _FixPriority( $priority, $biblionumber );
+ _FixPriority( $biblionumber, $borrowernumber );
}
}
$query = "
UPDATE reserves
SET priority = 0,
- itemnumber = ?
+ itemnumber = ?,
+ found = 'T'
WHERE borrowernumber = ?
AND biblionumber = ?
";
}
if ( $rank eq "W" || $rank eq "0" ) {
- # make sure priority for waiting items is 0
+ # make sure priority for waiting or in-transit items is 0
my $query = qq/
UPDATE reserves
SET priority = 0
WHERE biblionumber = ?
AND borrowernumber = ?
- AND found ='W'
+ AND found IN ('W', 'T')
/;
my $sth = $dbh->prepare($query);
$sth->execute( $biblio, $borrowernumber );
SELECT borrowernumber, reservedate, constrainttype
FROM reserves
WHERE biblionumber = ?
- AND ((found <> 'W') or found is NULL)
+ AND ((found <> 'W' AND found <> 'T') or found is NULL)
ORDER BY priority ASC
/;
my $sth = $dbh->prepare($query);
my $itemsxml = buildKohaItemsNamespace($biblionumber);
my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
my $sysxml = "<sysprefs>\n";
- foreach my $syspref ( qw/OPACURLOpenInNewWindow DisplayOPACiconsXSLT URLLinkText viewISBD/ ) {
+ foreach my $syspref ( qw/OPACURLOpenInNewWindow DisplayOPACiconsXSLT URLLinkText viewISBD OPACBaseURL/ ) {
$sysxml .= "<syspref name=\"$syspref\">" .
C4::Context->preference( $syspref ) .
"</syspref>\n";
name => "No group");
if ( ! $basket->{basketgroupid} ) {
$emptygroup{default} = 1;
+ $emptygroup{nogroup} = 1;
}
unshift( @$basketgroups, \%emptygroup );
}
my $frameworks = getframeworks;
my @frameworkcodeloop;
foreach my $thisframeworkcode ( keys %$frameworks ) {
- my %row = (
+ my $row = {
value => $thisframeworkcode,
frameworktext => $frameworks->{$thisframeworkcode}->{'frameworktext'},
- );
- if ( %row->{'value'} eq $frameworkcode){
- %row->{'active'} = 'true';
+ };
+ if ( $row->{'value'} eq $frameworkcode){
+ $row->{'active'} = 'true';
}
- push @frameworkcodeloop, \%row;
+ push @frameworkcodeloop, $row;
}
$template->param( frameworkcode => $frameworkcode,
$budget->{'remaining_pos'} = 1 if $budget->{'budget_remaining'} > 0;
$budget->{'remaining_neg'} = 1 if $budget->{'budget_remaining'} < 0;
for (grep {/total_levels_spent|budget_spent|budget_amount|budget_remaining|budget_unalloc/} keys %$budget){
- $$budget{$_} = $num->format_price( $$budget{$_} ) if defined($$budget{$_})
+ $budget->{$_} = $num->format_price( $budget->{$_} ) if defined($budget->{$_})
}
# Value of budget_spent equals 0 instead of undefined value
- $$budget{"budget_spent"} = $num->format_price(0) unless defined($$budget{"budget_spent"});
+ $budget->{"budget_spent"} = $num->format_price(0) unless defined($budget->{"budget_spent"});
my $borrower = &GetMember( borrowernumber=>$budget->{budget_owner_id} );
$budget->{"budget_owner_name"} = $borrower->{'firstname'} . ' ' . $borrower->{'surname'};
my $script_name = "/cgi-bin/koha/admin/authorised_values.pl";
my $dbh = C4::Context->dbh;
-# my $subpermission = C4::Context->preference('GranularPermissions') ?
-# { editcatalogue => ... } :
-# { parameters => 1 } ;
-
my ($template, $borrowernumber, $cookie)= get_template_and_user({
template_name => "admin/authorised_values.tmpl",
authnotrequired => 0,
- flagsrequired => {parameters => 1}, # soon $subpermission
+ flagsrequired => {parameters => 1},
query => $input,
type => "intranet",
debug => 1,
$tabsysprefs{SessionStorage} = "Admin";
$tabsysprefs{noItemTypeImages} = "Admin";
$tabsysprefs{OPACBaseURL} = "Admin";
-$tabsysprefs{GranularPermissions} = "Admin";
# Authorities
$tabsysprefs{authoritysep} = "Authorities";
$dat->{MARCURLS} = $marcurlsarray;
$dat->{HASAUTHORS} = $hasauthors;
- if ( C4::Context->preference("BiblioDefaultView") eq "normal" ) {
+ if ( C4::Context->preference("IntranetBiblioDefaultView") eq "normal" ) {
$dat->{dest} = "/cgi-bin/koha/catalogue/detail.pl";
}
- elsif ( C4::Context->preference("BiblioDefaultView") eq "marc" ) {
+ elsif ( C4::Context->preference("IntranetBiblioDefaultView") eq "marc" ) {
$dat->{dest} = "/cgi-bin/koha/catalogue/MARCdetail.pl";
}
else {
May 4 2010 Koustubha Kale becomes the 113th committer to have a patch accepted
May 4 2010 Community Handover meeting http://wiki.koha-community.org/wiki/Community_Handover_IRC_Meeting,_4_May_2010
May 5 2010 General IRC meeting http://wiki.koha-community.org/wiki/General_Meeting,_May_5_2010
-May 14 2010 Matthew Hunt becomes the 114th committer to have a patch accepted
+May 5 2010 Matthew Hunt becomes the 114th committer to have a patch accepted
+May 19 2010 Marcel de Rooy becomes the 115th committer to have a patch accepted
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH:ConfFile','','If empty, Koha OAI Server operates in normal mode, otherwise it operates in extended mode.',NULL,'File');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemHolds','1','Allow OPAC users to place hold on specific items. If OFF, users can only request next available copy.','','YesNo');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Use detailed staff user permissions',NULL,'YesNo');
INSERT INTO `systempreferences` (variable, value,options,type, explanation) VALUES ('AddPatronLists','categorycode','categorycode|category_type','Choice','Allow user to choose what list to pick up from when adding patrons');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ExtendedPatronAttributes','0','Use extended patron IDs and attributes',NULL,'YesNo');
( 6, 'modify_holds_priority', 'Vormerkungspriorität verändern'),
( 9, 'edit_catalogue', 'Katalogdaten bearbeiten (Titel- und Exemplardaten ändern)'),
( 9, 'fast_cataloging', 'Schnellaufnahmen anlegen'),
+ ( 9, 'edit_items', 'Exemplare bearbeiten'),
(11, 'vendors_manage', 'Lieferanten verwalten'),
(11, 'contracts_manage', 'Vereinbarungen verwalten'),
(11, 'period_manage', 'Etats verwalten'),
(13, 'manage_csv_profiles', 'CSV-Profile für Export verwalten'),
(13, 'moderate_tags', 'Von Benutzern vergebene Tags moderieren'),
(13, 'rotating_collections', 'Wandernde Sammlungen verwalten'),
+ (15, 'check_expiration', 'Ablauf eines Abonnements prüfen'),
+ (15, 'claim_serials', 'Fehlende Hefte reklamieren'),
+ (15, 'create_subscription', 'Neues Abonnement anlegen'),
+ (15, 'delete_subscription', 'Bestehende Abonnements löschen'),
+ (15, 'edit_subscription', 'Bestehende Abonnements bearbeiten'),
+ (15, 'receive_serials', 'Zugang von Heften'),
+ (15, 'renew_subscription', 'Abonnements verlängern'),
+ (15, 'routing', 'Umlauflisten verwalten'),
(16, 'execute_reports', 'SQL-Reports ausführen'),
(16, 'create_reports', 'SQL-Reports erstellen')
;
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH:ConfFile','','If empty, Koha OAI Server operates in normal mode, otherwise it operates in extended mode.',NULL,'File');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemHolds','1','Allow OPAC users to place hold on specific items. If OFF, users can only request next available copy.','','YesNo');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Use detailed staff user permissions',NULL,'YesNo');
INSERT INTO `systempreferences` (variable, value,options,type, explanation) VALUES ('AddPatronLists','categorycode','categorycode|category_type','Choice','Allow user to choose what list to pick up from when adding patrons');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ExtendedPatronAttributes','0','Use extended patron IDs and attributes',NULL,'YesNo');
(13, 'manage_csv_profiles', 'Manage CSV export profiles'),
(13, 'moderate_tags', 'Moderate patron tags'),
(13, 'rotating_collections', 'Manage rotating collections'),
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing'),
(16, 'execute_reports', 'Execute SQL reports'),
(16, 'create_reports', 'Create SQL Reports')
;
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('CircControl',"ItemHomeLibrary",'Précise la bibliothèque qui contrôle les règles de prêt et d''amende',"PickupLibrary|PatronLibrary|ItemHomeLibrary",'Choice');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemHolds','1','Si activé, les adhérents peuvent placer des réservations sur un exemplaire spécifique. Sinon, il ne peuvent que réserver le prochain disponible.','','YesNo');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Utiliser les permissions détaillées',NULL,'YesNo');
INSERT INTO `systempreferences` (variable, value,options,type, explanation) VALUES ('AddPatronLists','categorycode','categorycode|category_type','Choice','Slectionner categorycode ou category_type permet d''afficher la liste des catégories ou des types de catégories à l''ajout d''un lecteur');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ExtendedPatronAttributes','0','Utiliser les attributs étendus pour les adhérents',NULL,'YesNo');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('RenewSerialAddsSuggestion','0','Si activé, génère une suggestion d''achat à chaque Renouvellement d''abonnement',NULL,'YesNo');
(13, 'manage_csv_profiles', 'Gérer les profils d''export CSV'),
(13, 'moderate_tags', 'Moderate patron tags'),
(13, 'rotating_collections', 'Gérer les collections tournantes'),
- (13, 'batchmod', 'Modifier les exemplaires par lot'),
- (13, 'batchdel', 'Supprimer les exemplaires par lot'),
+ (13, 'items_batchmod', 'Modifier les exemplaires par lot'),
+ (13, 'items_batchdel', 'Supprimer les exemplaires par lot'),
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing'),
(16, 'execute_reports', 'Lancer les rapports SQL'),
(16, 'create_reports', 'Créer les rapports SQL Reports')
KEY `bibinoidx` (`biblioitemnumber`),
KEY `bibnoidx` (`biblionumber`),
KEY `isbn` (`isbn`),
+ KEY `issn` (`issn`),
KEY `publishercode` (`publishercode`),
CONSTRAINT `biblioitems_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
`altcontactcountry` text default NULL,
`altcontactphone` varchar(50) default NULL,
`smsalertnumber` varchar(50) default NULL,
+ `privacy` integer(11) DEFAULT '1' NOT NULL,
UNIQUE KEY `cardnumber` (`cardnumber`),
PRIMARY KEY `borrowernumber` (`borrowernumber`),
KEY `categorycode` (`categorycode`),
UNIQUE KEY `categorycode` (`categorycode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+--
+-- Table: collections
+--
+CREATE TABLE collections (
+ colId integer(11) NOT NULL auto_increment,
+ colTitle varchar(100) NOT NULL DEFAULT '',
+ colDesc text NOT NULL,
+ colBranchcode varchar(4) DEFAULT NULL comment 'branchcode for branch where item should be held.',
+ PRIMARY KEY (colId)
+) ENGINE=InnoDB DEFAULT CHARACTER SET utf8;
+
+--
+-- Table: collections_tracking
+--
+CREATE TABLE collections_tracking (
+ ctId integer(11) NOT NULL auto_increment,
+ colId integer(11) NOT NULL DEFAULT 0 comment 'collections.colId',
+ itemnumber integer(11) NOT NULL DEFAULT 0 comment 'items.itemnumber',
+ PRIMARY KEY (ctId)
+) ENGINE=InnoDB DEFAULT CHARACTER SET utf8;
+
--
-- Table structure for table `borrower_branch_circ_rules`
--
`serialid` int(11) NOT NULL,
UNIQUE KEY `serialitemsidx` (`itemnumber`),
KEY `serialitems_sfk_1` (`serialid`),
- CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE
+ CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT serialitems_sfk_2 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `user_permissions`;
DROP TABLE IF EXISTS `message_attributes`;
CREATE TABLE `message_attributes` (
`message_attribute_id` int(11) NOT NULL auto_increment,
- `message_name` varchar(20) NOT NULL default '',
+ `message_name` varchar(40) NOT NULL default '',
`takes_days` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`message_attribute_id`),
UNIQUE KEY `message_name` (`message_name`)
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH:Subset','itemtype=\'BOOK\'','Restrict answer to matching raws of the biblioitems table EXPERIMENTAL',NULL,'Free');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemHolds','1','Allow OPAC users to place hold on specific items. If OFF, users can only request next available copy.','','YesNo');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Use detailed staff user permissions',NULL,'YesNo');
INSERT INTO `systempreferences` (variable, value,options,type, explanation) VALUES ('AddPatronLists','categorycode','categorycode|category_type','Choice','Allow user to choose what list to pick up from when adding patrons');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ExtendedPatronAttributes','0','Use extended patron IDs and attributes',NULL,'YesNo');
( 6, 'modify_holds_priority', 'Modify holds priority'),
( 9, 'edit_catalogue', 'Edit catalogue'),
( 9, 'fast_cataloging', 'Szybkie katalogowanie'),
+ ( 9, 'edit_items', 'Edit Items'),
(11, 'vendors_manage', 'Zarządzanei dostawcami'),
(11, 'contracts_manage', 'Zarządzanie kontraktami'),
(11, 'period_manage', 'Manage periods'),
(13, 'delete_anonymize_patrons', 'Delete old borrowers and anonymize circulation history (deletes borrower reading history)'),
(13, 'batch_upload_patron_images', 'Upload patron images in batch or one at a time'),
(13, 'schedule_tasks', 'Schedule tasks to run'),
- (13, 'batchmod', 'Perform batch modification of items'),
- (13, 'batchdel', 'Perform batch deletion of items'),
+ (13, 'items_batchmod', 'Perform batch modification of items'),
+ (13, 'items_batchdel', 'Perform batch deletion of items'),
(13, 'manage_csv_profiles', 'Manage CSV export profiles'),
+ (13, 'moderate_tags', 'Moderate patron tags'),
+ (16, 'execute_reports', 'Execute SQL reports'),
+ (13, 'rotating_collections', 'Manage rotating collections'),
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing'),
(16, 'execute_reports', 'Execute SQL reports'),
(16, 'create_reports', 'Create SQL Reports')
;
INSERT INTO permissions (module_bit, code, description) VALUES
( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
( 1, 'override_renewals', 'Override blocked renewals'),
+ ( 6, 'place_holds', 'Place holds for patrons'),
+ ( 6, 'modify_holds_priority', 'Modify holds priority'),
+ ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
+ ( 9, 'fast_cataloging', 'Fast cataloging'),
+ ( 9, 'edit_items', 'Edit Items'),
+ (11, 'vendors_manage', 'Manage vendors'),
+ (11, 'contracts_manage', 'Manage contracts'),
+ (11, 'period_manage', 'Manage periods'),
+ (11, 'budget_manage', 'Manage budgets'),
+ (11, 'budget_modify', 'Modify budget (can''t create lines, but can modify existing ones)'),
+ (11, 'planning_manage', 'Manage budget plannings'),
+ (11, 'order_manage', 'Manage orders & basket'),
+ (11, 'group_manage', 'Manage orders & basketgroups'),
+ (11, 'order_receive', 'Manage orders & basket'),
+ (11, 'budget_add_del', 'Add and delete budgets (but cant modify budgets)'),
(13, 'edit_news', 'Написание новостей для электронного каталога и интерфейса библиотекарей'),
(13, 'label_creator', 'Создание печатных наклеек и штрихкодов из каталога и с данными о пользователях'),
(13, 'edit_calendar', 'Определение дней, когда библиотека закрыта'),
(13, 'delete_anonymize_patrons', 'Удаление пользователей с протерминованим периодом регистрации и анонимизация истории обращения (изъятие история чтения пользователей)'),
(13, 'batch_upload_patron_images', 'Загрузка изображений посетителей партиями или всех сразу'),
(13, 'schedule_tasks', 'Планирование задач к выполнению'),
+ (13, 'items_batchmod', 'Perform batch modification of items'),
+ (13, 'items_batchdel', 'Perform batch deletion of items'),
(13, 'manage_csv_profiles', 'Manage CSV export profiles'),
+ (13, 'moderate_tags', 'Moderate patron tags'),
+ (13, 'rotating_collections', 'Manage rotating collections'),
(15, 'check_expiration', 'Check the expiration of a serial'),
(15, 'claim_serials', 'Claim missing serials'),
(15, 'create_subscription', 'Create a new subscription'),
(15, 'edit_subscription', 'Edit an existing subscription'),
(15, 'receive_serials', 'Serials receiving'),
(15, 'renew_subscription', 'Renew a subscription'),
- (15, 'routing', 'Routing')
+ (15, 'routing', 'Routing'),
+ (16, 'execute_reports', 'Execute SQL reports'),
+ (16, 'create_reports', 'Create SQL Reports')
;
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH:Subset','itemtype=\'BOOK\'','Restrict answer to matching raws of the biblioitems table EXPERIMENTAL',NULL,'Free');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemHolds','1','Allow OPAC users to place hold on specific items. If OFF, users can only request next available copy.','','YesNo');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Use detailed staff user permissions',NULL,'YesNo');
INSERT INTO `systempreferences` (variable, value,options,type, explanation) VALUES ('AddPatronLists','categorycode','categorycode|category_type','Choice','Allow user to choose what list to pick up from when adding patrons');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ExtendedPatronAttributes','1','Use extended patron IDs and attributes',NULL,'YesNo');
UPDATE systempreferences SET explanation='Список загруженных структур в веб-инсталляторе' WHERE variable='FrameworksLoaded';
-- Frameworks loaded through webinstaller
-UPDATE systempreferences SET explanation='Использование подразделения привилегий для работников' WHERE variable='GranularPermissions';
--- Use detailed staff user permissions
UPDATE systempreferences SET explanation='Если включено, то повышает безопасность между библиотеками. Используется, когда библиотеки используют одну инсталляцию Коха.' WHERE variable='IndependantBranches';
-- If ON, increases security between libraries
INSERT INTO permissions (module_bit, code, description) VALUES
( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
( 1, 'override_renewals', 'Override blocked renewals'),
+ ( 6, 'place_holds', 'Place holds for patrons'),
+ ( 6, 'modify_holds_priority', 'Modify holds priority'),
+ ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
+ ( 9, 'fast_cataloging', 'Fast cataloging'),
+ ( 9, 'edit_items', 'Edit Items'),
+ (11, 'vendors_manage', 'Manage vendors'),
+ (11, 'contracts_manage', 'Manage contracts'),
+ (11, 'period_manage', 'Manage periods'),
+ (11, 'budget_manage', 'Manage budgets'),
+ (11, 'budget_modify', 'Modify budget (can''t create lines, but can modify existing ones)'),
+ (11, 'planning_manage', 'Manage budget plannings'),
+ (11, 'order_manage', 'Manage orders & basket'),
+ (11, 'group_manage', 'Manage orders & basketgroups'),
+ (11, 'order_receive', 'Manage orders & basket'),
+ (11, 'budget_add_del', 'Add and delete budgets (but cant modify budgets)'),
(13, 'edit_news', 'Написання новин для електронного каталогу та інтерфейсу бібліотекарів'),
(13, 'label_creator', 'Створення друкованих наклейок і штрих-кодів з каталогу та з даними про користувачів'),
(13, 'edit_calendar', 'Визначення днів, коли бібліотека закрита'),
(13, 'delete_anonymize_patrons', 'Вилучення користувачів з протермінованим періодом реєстрації та анонімізація історії обігу (вилучення історія читання користувачів)'),
(13, 'batch_upload_patron_images', 'Завантаження зображень відвідувачів партіями чи усіх за раз'),
(13, 'schedule_tasks', 'Планування задач до виконання'),
- (13, 'manage_csv_profiles', 'Manage CSV export profiles'),
+ (13, 'items_batchmod', 'Perform batch modification of items'),
+ (13, 'items_batchdel', 'Perform batch deletion of items'),
+ (13, 'manage_csv_profiles', 'Manage CSV export profiles'),
+ (13, 'moderate_tags', 'Moderate patron tags'),
+ (13, 'rotating_collections', 'Manage rotating collections'),
(15, 'check_expiration', 'Check the expiration of a serial'),
(15, 'claim_serials', 'Claim missing serials'),
(15, 'create_subscription', 'Create a new subscription'),
(15, 'edit_subscription', 'Edit an existing subscription'),
(15, 'receive_serials', 'Serials receiving'),
(15, 'renew_subscription', 'Renew a subscription'),
- (15, 'routing', 'Routing')
+ (15, 'routing', 'Routing'),
+ (16, 'execute_reports', 'Execute SQL reports'),
+ (16, 'create_reports', 'Create SQL Reports')
;
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH:Subset','itemtype=\'BOOK\'','Restrict answer to matching raws of the biblioitems table EXPERIMENTAL',NULL,'Free');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemHolds','1','Allow OPAC users to place hold on specific items. If OFF, users can only request next available copy.','','YesNo');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Use detailed staff user permissions',NULL,'YesNo');
INSERT INTO `systempreferences` (variable, value,options,type, explanation) VALUES ('AddPatronLists','categorycode','categorycode|category_type','Choice','Allow user to choose what list to pick up from when adding patrons');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ExtendedPatronAttributes','1','Use extended patron IDs and attributes',NULL,'YesNo');
UPDATE systempreferences SET explanation='Перелік завантажених структур у веб-встановлювачі' WHERE variable='FrameworksLoaded';
-- Frameworks loaded through webinstaller
-UPDATE systempreferences SET explanation='Використання підрозділення привілеїв для працівників' WHERE variable='GranularPermissions';
--- Use detailed staff user permissions
-
UPDATE systempreferences SET explanation='Якщо ввімкнуто, то підвищує безпеку між бібліотеками. Використовується, коли бібліотеки використовують одну інсталяцію Коха.' WHERE variable='IndependantBranches';
-- If ON, increases security between libraries
SetVersion ($DBversion);
}
+$DBversion = "3.01.00.137";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("
+ INSERT INTO permissions (module_bit, code, description) VALUES
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing');
+ ");
+ print "Upgrade to $DBversion done (adding granular permissions for serials)";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.138";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("DELETE FROM systempreferences WHERE variable = 'GranularPermissions'");
+ print "Upgrade to $DBversion done (bug 4896: removing GranularPermissions syspref; use of granular permissions is now the default)";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.139';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("ALTER TABLE message_attributes CHANGE message_name message_name varchar(40);");
+ print "Upgrade to $DBversion done (bug 3682: change message_name from varchar(20) to varchar(40))\n";
+ SetVersion ($DBversion);
+}
+
=item DropAllForeignKeys($table)
.linktools a {margin:0 2px;padding:2px;background-color:#FFF;text-align:center; }
.linktools a:first-child { border-bottom: 1px solid #DDD; }
.linktools a:hover { background-color: #FFC; }
+.subfield_controls { margin : 0 .5em; }
\ No newline at end of file
--- /dev/null
+<!-- TMPL_IF name="BiblioDefaultViewmarc" -->
+ <a class="title" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
+<!-- TMPL_ELSIF NAME="BiblioDefaultViewlabeled_marc" -->
+ <a class="title" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
+<!-- TMPL_ELSIF NAME="BiblioDefaultViewisbd" -->
+ <a class="title" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
+<!-- TMPL_ELSE -->
+ <a class="title" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
+<!-- /TMPL_IF -->
\ No newline at end of file
<li><a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a><ul>
<li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl">Add MARC Record</a></li>
<li><a href="/cgi-bin/koha/authorities/authorities-home.pl">Authorities</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials" -->
<li><a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_editcatalogue" -->
</ul></li>
<li><a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a></li>
<!-- TMPL_IF NAME="subscriptionid" -->
<ul>
<li><a href="serials-collection.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Serial Collection</a></li>
- <!-- TMPL_IF NAME="routing" --><li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->">Edit Routing List</a></li><!-- TMPL_ELSE -->
- <li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->&op=new">Create Routing List</a></li><!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_routing" -->
+ <!-- TMPL_IF NAME="routing" -->
+ <li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->">Edit Routing List</a></li>
+ <!-- TMPL_ELSE -->
+ <li><a href="routing.pl?subscriptionid=<!-- TMPL_VAR NAME="subscriptionid" -->&op=new">Create Routing List</a></li>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
</ul>
<!-- /TMPL_IF -->
<ul>
+ <!-- TMPL_IF NAME="CAN_user_serials_claim_serials" -->
<li><a href="/cgi-bin/koha/serials/claims.pl">Claims</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_check_expiration" -->
<li><a href="/cgi-bin/koha/serials/checkexpiration.pl">Check Expiration</a></li>
-</ul>
\ No newline at end of file
+ <!-- /TMPL_IF -->
+</ul>
<!-- TMPL_IF NAME="subscriptionid" -->
var editmenu = [
- { text: _("Edit Subscription"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
- { text: _("Edit as New (Duplicate)"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
+ <!-- TMPL_IF NAME="CAN_user_serials_edit_subscription" -->
+ { text: _("Edit Subscription"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_create_subscription" -->
+ { text: _("Edit as New (Duplicate)"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> url: "/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->" },
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="CAN_user_serials_delete_subscription" -->
{ text: _("Delete Subscription"), <!-- TMPL_IF NAME="cannotedit" -->disabled: true, <!-- /TMPL_IF --> onclick: {fn: confirm_deletion }}
+ <!-- /TMPL_IF -->
];
<!-- /TMPL_IF -->
new YAHOO.widget.Button("newsubscription");
//]]>
</script>
<ul class="toolbar">
- <!-- TMPL_IF NAME="biblionumber_for_new_subscription" -->
- <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=<!-- TMPL_VAR NAME="biblionumber_for_new_subscription" -->">New Subscription</a></li>
- <!-- TMPL_ELSE -->
- <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl">New Subscription</a></li>
+ <!-- TMPL_IF NAME="CAN_user_serials_create_subscription" -->
+ <!-- TMPL_IF NAME="biblionumber_for_new_subscription" -->
+ <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl?biblionumber_for_new_subscription=<!-- TMPL_VAR NAME="biblionumber_for_new_subscription" -->">New Subscription</a></li>
+ <!-- TMPL_ELSE -->
+ <li><a id="newsubscription" href="/cgi-bin/koha/serials/subscription-add.pl">New Subscription</a></li>
+ <!-- /TMPL_IF -->
<!-- /TMPL_IF -->
- <!-- TMPL_IF NAME="subscriptionid" -->
- <!-- TMPL_UNLESS name="cannotedit" -->
- <li id="editmenuc"><a id="edit" href="/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Edit</a></li>
- <!-- /TMPL_UNLESS -->
- <li><a id="duplicate" href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Duplicate </a></li>
- <!-- TMPL_UNLESS name="cannotedit" -->
- <li id="renewc"><a id="renew" href="#" onclick="popup(<!--TMPL_VAR Name="subscriptionid"-->)">Renew </a></li>
- <li><a id="receive" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3">Receive</a></li>
- <li><a id="delete" href="javascript:confirm_deletion()">Delete</a></li>
- <!-- /TMPL_UNLESS -->
+
+ <!-- TMPL_IF EXPR="CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription" -->
+ <!-- TMPL_IF NAME="subscriptionid" -->
+
+ <!-- TMPL_IF expr="CAN_user_serials_edit_subscription || CAN_user_serials_create_subscription || CAN_user_serials_delete_subscription" -->
+ <!-- TMPL_UNLESS name="cannotedit" -->
+ <li id="editmenuc"><a id="edit" href="/cgi-bin/koha/serials/subscription-add.pl?op=mod&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Edit</a></li>
+ <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
+
+ <!-- TMPL_IF name="CAN_user_serials_create_subscription" -->
+ <li><a id="duplicate" href="/cgi-bin/koha/serials/subscription-add.pl?op=dup&subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Duplicate </a></li>
+ <!-- /TMPL_IF -->
+
+ <!-- TMPL_UNLESS name="cannotedit" -->
+ <!-- TMPL_IF name="CAN_user_serials_renew_subscription" -->
+ <li id="renewc"><a id="renew" href="#" onclick="popup(<!--TMPL_VAR Name="subscriptionid"-->)">Renew </a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF name="CAN_user_serials_receive_serials" -->
+ <li><a id="receive" href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3">Receive</a></li>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF name="CAN_user_serials_delete_subscription" -->
+ <li><a id="delete" href="javascript:confirm_deletion()">Delete</a></li>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_UNLESS -->
+ <!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</ul>
</div>
<li><a href="basketheader.pl?basketno=<!-- TMPL_VAR NAME="basketno" -->&op=add_form" class="button" id="basketheadbutton">Edit basket header information</a></li>
<li><a href="javascript:confirm_deletion();" class="button" id="delbasketbutton">Delete this basket</a></li>
<!-- TMPL_IF name="unclosable" -->
- <li><button onclick="confirm_close()" class="yui-button-disabled" id="closebutton" type="push" disabled="true" title="You can not close this basket" >Can not close basket</a></li>
+ <li><button onclick="confirm_close()" class="yui-button-disabled" id="closebutton" type="button" disabled="disabled" title="You can not close this basket" />Can not close basket</li>
<!-- TMPL_ELSIF name="uncertainprices" -->
<li><a href="/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=<!-- TMPL_VAR name="booksellerid" -->&owner=1" class="button" id="uncertpricesbutton">Uncertain prices</a></li>
<!-- TMPL_ELSE -->
<p>Contract name: <a href="../admin/aqcontract.pl?op=add_form&contractnumber=<!-- TMPL_VAR NAME="basketcontractno" -->&booksellerid=<!-- TMPL_VAR NAME="booksellerid" -->"><!-- TMPL_VAR NAME="basketcontractname" --></a></p>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="authorisedbyname" --><p>Managed by: <!-- TMPL_VAR NAME="authorisedbyname" --></p><!-- /TMPL_IF -->
- <!-- TMPL_IF NAME="creationdate" --><p>Open on: <!-- TMPL_VAR NAME="creationdate" --></p><!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="creationdate" --><p>Opened on: <!-- TMPL_VAR NAME="creationdate" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="closedate" -->
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="post">
<p>Closed on: <!-- TMPL_VAR name="closedate" --></p>
<input type="submit" value="Change basket group" />
</p>
</form>
+ <!-- TMPL_ELSE -->
+ <a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&booksellerid=<!-- TMPL_VAR name="basketgroups" -->&basketgroupid=<!-- TMPL_VAR name="id" -->"><!-- TMPL_VAR name="name" --></a>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</div>
<tr>
<!-- /TMPL_UNLESS -->
<td> <!-- TMPL_IF name="active" -->
- <a href="basketheader.pl?booksellerid=<!-- TMPL_VAR name="supplierid" -->&op=add_form">Add basket</a>
+ <a href="basketheader.pl?booksellerid=<!-- TMPL_VAR name="supplierid" -->&op=add_form">Add basket</a>
<!-- TMPL_ELSE -->
Inactive
<!-- /TMPL_IF -->
<input type="hidden" name="invoice_gst" value="0" />
<!-- /TMPL_UNLESS -->
</fieldset>
- <fieldset class="action"><input type="button" value="Save" onclick="check(this.form);" /> <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?supplierid=<!-- TMPL_VAR NAME="id" -->">Cancel</a></fieldset>
+ <fieldset class="action"><input type="button" value="Save" onclick="check(this.form);" /> <!--TMPL_IF Name="id"-->
+ <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?supplierid=<!--TMPL_VAR Name="id"-->"><!--TMPL_ELSE--><a class="cancel" href="/cgi-bin/koha/acqui/acqui-home.pl">
+ <!--/TMPL_IF-->Cancel</a></fieldset>
</div>
</form>
<!--TMPL_ELSE-->
// var actTotal ="";
if (!(isNotNull(f.budget_code,1))) {
- _alertString += _("- Budget code cannot be blank\n");
+ _alertString += _("- Budget code cannot be blank") + "\n";
}
if (!(isNotNull(f.budget_name,1))) {
- _alertString += _("- Budget name cannot be blank\n");
+ _alertString += _("- Budget name cannot be blank") + "\n";
}
if (!(isNotNull(f.budget_amount,1))) {
- _alertString += _("- Budget amount cannot be blank\n");
+ _alertString += _("- Budget amount cannot be blank") + "\n";
}
var budgetId;
if (budgetId > 0) { ; //its a mod ...
// if parent eq curent-budget, fail...
if ( newBudgetParent == budgetId ) {
- _alertString += _("- Budget parent is current budget\n");
+ _alertString += _("- Budget parent is current budget") + "\n";
}
else if (newBudgetParent) {
if (_alertString.length==0) {
document.Aform.submit();
} else {
- alertString2 = _("Form not submitted because of the following problem(s)\n");
- alertString2 += "------------------------------------------------------------------------------------\n\n";
+ alertString2 = _("Form not submitted because of the following problem(s)");
+ alertString2 += "\n------------------------------------------------------------------------------------\n\n";
alertString2 += _alertString;
alert(alertString2);
}
<select name="budget_branchcode" id="budget_branchcode">
<option value=""></option>
<!-- TMPL_LOOP name="branchloop_select" -->
- <!-- TMPL_IF name="selected" --> <option value="<!-- TMPL_VAR name="value" -->" > <!--TMPL_ELSE--> <option value="<!-- TMPL_VAR name="value" -->" selected="selected"> <!-- /TMPL_IF --> <!-- TMPL_VAR name="branchname" --></option>
+ <!-- TMPL_UNLESS name="selected" --> <option value="<!-- TMPL_VAR name="value" -->" > <!--TMPL_ELSE--> <option value="<!-- TMPL_VAR name="value" -->" selected="selected"> <!-- /TMPL_UNLESS --> <!-- TMPL_VAR NAME="value" -->-<!-- TMPL_VAR name="branchname" --></option>
<!-- /TMPL_LOOP -->
</select>
</li>
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
-<title>Koha › Administration › Contracts ›
+<title>Koha › Acquisitions › Contracts ›
<!-- TMPL_IF NAME="add_form" -->
<!-- TMPL_IF NAME="contractnumber" -->Modify contract '<!-- TMPL_VAR NAME="contractname" -->'
<!-- TMPL_ELSE -->New contract<!-- /TMPL_IF -->
// to check if the data are correctly entered.
function Check(ff) {
var ok=0;
- var _alertString=_("Form not submitted because of the following problem(s)\n");
- _alertString +="-------------------------------------------------------------------\n\n";
+ var _alertString=_("Form not submitted because of the following problem(s)");
+ _alertString +="\n-------------------------------------------------------------------\n\n";
if (!(isNotNull(ff.contractname,0))){
ok=1;
- _alertString += _("- Name missing\n");
+ _alertString += _("- Name missing") + "\n";
}
var startDate = Date_from_syspref($("#contractstartdate").val());
var endDate = Date_from_syspref($("#contractenddate").val());
if (!parseInt(startDate.getTime())) {
ok=1;
- _alertString += _("- Start date missing or invalid.\n");
+ _alertString += _("- Start date missing or invalid.") + "\n";
}
if (!parseInt(endDate.getTime())) {
ok=1;
- _alertString += _("- End date missing or invalid.\n");
+ _alertString += _("- End date missing or invalid.") + "\n";
}
if (startDate > endDate) {
ok=1;
- _alertString += _("Wrong date! start date cannot be after end date.\n");
+ _alertString += _("Wrong date! start date cannot be after end date.") + "\n";
}
if (endDate < (new Date)) {
ok=1;
- _alertString += _("End date before today, Invalid end date!\n");
+ _alertString += _("End date before today, Invalid end date!") + "\n";
}
if (ok) { // if there is a problem
alert(_alertString);
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
›
- <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
+ <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a>
›
<a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=<!--TMPL_VAR name="booksellerid" -->"><!-- TMPL_VAR name="booksellername" --></a>
›
<!-- TMPL_IF NAME="else" -->Contracts<!-- /TMPL_IF -->
</div>
-<div id="doc3" class="yui-t2">
+<div id="doc" class="yui-t7">
<div id="bd">
<div id="yui-main">
- <div class="yui-b">
<!-- TMPL_IF NAME="add_form" -->
<form name="Aform" action="<!-- TMPL_VAR NAME="script_name" -->" method="post">
<input type="hidden" name="op" value="add_validate" />
</ol>
</fieldset>
<fieldset class="action">
- <input type="button" value="Save" onclick="Check(this.form);" />
+ <input type="button" value="Save" onclick="Check(this.form);" /> <a class="cancel" href="/cgi-bin/koha/admin/aqcontract.pl?booksellerid=<!-- TMPL_VAR NAME="booksellerid" -->&contractnumber=<!-- TMPL_VAR NAME="contractnumber" -->">Cancel</a>
</fieldset>
</form>
<!-- /TMPL_IF -->
</tr>
<!-- /TMPL_LOOP -->
</table>
+ <!-- TMPL_ELSE -->
+ <div class="dialog message">There are no contracts with this vendor.</div>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</div>
- </div>
- <div class="yui-b">
- <!-- TMPL_INCLUDE NAME="admin-menu.inc" -->
- </div>
</div>
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
-<title>
-Budget & fund planning
-</title>
+<title>Koha › Administration › Budgets › Budget planning</title>
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<!-- TMPL_INCLUDE NAME="calendar.inc" -->
-<link href="<!-- TMPL_VAR NAME="yuipath" -->/reset/reset.css" rel="stylesheet" type="text/css" />
-<link href="<!-- TMPL_VAR NAME="yuipath" -->/fonts/fonts.css" rel="stylesheet" type="text/css" />
-<link href="<!-- TMPL_VAR NAME="yuipath" -->/menu/assets/menu.css" rel="stylesheet" type="text/css" />
-<link href="<!-- TMPL_VAR NAME="yuipath" -->/container/assets/skins/sam/container.css" rel="stylesheet" type="text/css" />
-
-<script src="<!-- TMPL_VAR NAME="yuipath" -->/yahoo/yahoo.js" type="text/javascript"></script>
-<script src="<!-- TMPL_VAR NAME="yuipath" -->/event/event.js" type="text/javascript"></script>
-<script src="<!-- TMPL_VAR NAME="yuipath" -->/dom/dom.js" type="text/javascript"></script>
-<script src="<!-- TMPL_VAR NAME="yuipath" -->/menu/menu.js" type="text/javascript"></script>
-<script src="<!-- TMPL_VAR NAME="yuipath" -->/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"></script>
-
<script type="text/javascript" src="<!-- TMPL_VAR NAME='themelang' -->/js/acq.js"></script>
<script type="text/javascript">
//<![CDATA[
mysql: in the MySQL database.
Pg: in the PostgreSQL database (not supported).
tmp: as temporary files.
- -
- - Control staff access to pages within Koha based on
- - pref: GranularPermissions
- default: 0
- choices:
- yes: the specific page.
- no: the general module (such as administration or circulation).
-
- pref: IndependantBranches
default: 0
- of CAS when logging out of Koha.
-
- The CAS Authentication Server can be found at
- - pref: casServerUrl
\ No newline at end of file
+ - pref: casServerUrl
class: date
- .
-
+ - Calculate the due date using
- pref: useDaysMode
choices:
- Days: Include
- Calendar: "Don't include"
- - days when the library in closed when calculating due dates.
+ Days: circulation rules only.
+ Calendar: the calendar to skip all days the library is closed.
+ Datedue: the calendar to push the due date to the next open day
-
- When renewing checkouts, base the new due date on
- pref: RenewalPeriodBase
- pref: singleBranchMode
default: 0
choices:
- yes: Allow
- no: "Don't allow"
+ yes: "Don't allow"
+ no: Allow
- patrons to select their branch on the OPAC.
-
- pref: SearchMyLibraryFirst
if(isempty){
flag = 1;
- StrAlert += "\t* Field " + arr[0] + " is mandatory, at least one of its subfields must be filled\n";
+ StrAlert += "\t* Field " + arr[0] + _(" is mandatory, at least one of its subfields must be filled") + "\n";
}
}
if(StrAlert){
- return _("Can't save this record because the following field aren't filled :\n\n") + StrAlert;
+ return _("Can't save this record because the following field aren't filled :") + "\n\n" + StrAlert;
}
return false;
}
<!-- TMPL_VAR NAME="marc_value" -->
<!-- TMPL_IF NAME="repeatable" -->
- <span class="buttonPlus" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' -->')">+</span>
+ <a href="#" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' -->'); return false;"><img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" /></a>
<!-- /TMPL_IF -->
<!-- TMPL_UNLESS NAME="mandatory" -->
- <span class="buttonMinus" onclick="UnCloneField('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')">−</span>
+ <a href="#" onclick="UnCloneField('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->'); return false;"><img src="/intranet-tmpl/prog/img/delete-subfield.png" alt="Delete" title="Delete this subfield" /></a>
<!-- /TMPL_UNLESS -->
</div>
<div class="yui-b">
<!-- TMPL_INCLUDE NAME="cat-toolbar.inc" -->
- <!-- TMPL_IF NAME="AmazonEnabled" --><div class="yui-gb"><!-- TMPL_ELSE --><div class="yui-g"><!-- /TMPL_IF -->
- <div id="catalogue_detail_biblio" class="yui-u first">
+ <!-- TMPL_IF NAME="AmazonEnabled" -->
+ <!-- TMPL_IF NAME="XSLTDetailsDisplay" -->
+ <div class="yui-gc">
+ <div id="catalogue_detail_biblio" class="yui-u first">
+ <!-- TMPL_ELSE -->
+ <div class="yui-gb">
+ <div id="catalogue_detail_biblio" class="yui-u first">
+ <!-- /TMPL_IF -->
+ <!-- TMPL_ELSE -->
+ <!-- TMPL_IF NAME="XSLTDetailsDisplay" -->
+ <div class="yui-g">
+ <div id="catalogue_detail_biblio">
+ <!-- TMPL_ELSE -->
+ <div class="yui-g">
+ <div id="catalogue_detail_biblio" class="yui-u first">
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+
<!-- TMPL_IF NAME="XSLTDetailsDisplay" -->
<!-- TMPL_VAR NAME="XSLTBloc" -->
+ <!-- TMPL_IF NAME="AmazonEnabled" --><!-- TMPL_IF NAME="AmazonCoverImages" --></div><div class="yui-u" id="bookcoverimg">
+ <a href="http://www.amazon<!-- TMPL_VAR NAME="AmazonTld" -->/gp/reader/<!-- TMPL_VAR NAME="normalized_isbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="normalized_isbn" -->.01.MZZZZZZZ.jpg" alt="" /></a><!-- /TMPL_IF --><!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
<h3><!-- TMPL_VAR NAME="title" escape="html"--></h3>
</td>
<td>
<p><!-- TMPL_VAR NAME="result_number" -->.
- <!-- TMPL_IF name="BiblioDefaultViewmarc" -->
- <a class="title" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSIF NAME="BiblioDefaultViewlabeled_marc" -->
- <a class="title" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSIF NAME="BiblioDefaultViewisbd" -->
- <a class="title" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSE -->
- <a class="title" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- /TMPL_IF -->
+ <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" -->
<b><!-- TMPL_IF NAME="title" --><!-- TMPL_VAR NAME="title" ESCAPE="html" --><!-- TMPL_ELSE -->No title<!-- /TMPL_IF --></b>
</a>
<!-- TMPL_LOOP NAME="subtitle" --> , <!-- TMPL_VAR NAME="subfield" --> <!-- /TMPL_LOOP -->
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="norequests" -->
- No holds allowed
+ <span class="noholdstext">No holds allowed</span>
<!-- TMPL_ELSE -->
<a class="reserve" id="reserve_<!-- TMPL_VAR NAME="biblionumber" -->" href="/cgi-bin/koha/reserve/request.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Holds</a>
<!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="marc_value" -->
<!-- TMPL_IF NAME="repeatable" -->
- <span class="buttonPlus" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')">+</span>
- <span class="buttonMinus" onclick="UnCloneField('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')">−</span>
+ <span class="subfield_controls"><a href="#" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->'); return false;"><img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" /></a>
+ <a href="#" onclick="UnCloneField('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->'); return false;"><img src="/intranet-tmpl/prog/img/delete-subfield.png" alt="Delete" title="Delete this subfield" /></a></span>
<!-- /TMPL_IF -->
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<style type="text/css">
div.record ul, div.record li { float:none; display:block; }
+div#result { margin-top: 1em; }
/* We use this style "against" the li ui-tabs-nav style automatically applied */
</style>
<script type="text/javascript">
$(document).ready(function(){
// Creating tabs
- $("#tabs").tabs();
+ $("#tabs > ul").tabs();
// Getting marc structure via ajax
tagslib = [];
</head>
<body>
<!-- TMPL_INCLUDE NAME="header.inc" -->
+<!-- TMPL_INCLUDE NAME="cataloging-search.inc" -->
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a> › <!-- TMPL_IF NAME="biblionumber" -->Editing <em><!-- TMPL_VAR NAME="title" escape="html" --></em> (Record Number <!-- TMPL_VAR name="biblionumber" -->)<!-- TMPL_ELSE -->Add MARC Record<!-- /TMPL_IF --></div>
<div id="doc" class="yui-t7">
<div id="bd">
<div id="yui-main">
- <div class="yui-g">
<h1>Merging records</h1>
<!-- TMPL_IF name="result" -->
<!-- TMPL_IF name="errors" -->
<!-- TMPL_LOOP name="errors" -->
- <div class="error"><!-- TMPL_VAR name="error" -->.<br />Therefore, the record to be merged has not been deleted.</div>
+ <div class="dialog alert"><!-- TMPL_VAR name="error" -->.<br />Therefore, the record to be merged has not been deleted.</div>
<!-- /TMPL_LOOP -->
<!-- TMPL_ELSE -->
<!-- TMPL_ELSE -->
<!-- TMPL_IF NAME="choosereference" -->
-<p>Please choose which record will be the reference for the merge (the record chosen as reference will be kept, and the other will be deleted) : </p>
+<p>Please choose which record will be the reference for the merge. The record chosen as reference will be kept, and the other will be deleted.</p>
<form id="mergeform" action="/cgi-bin/koha/cataloguing/merge.pl" method="post">
- <fieldset>
+ <fieldset class="rows">
<legend>Merge reference</legend>
- <input type="radio" value="<!-- TMPL_VAR NAME="biblio1" -->" checked="checked" id="mergereference1" name="mergereference" /><label for="mergereference1"><!-- TMPL_VAR NAME="title1" --> (<!-- TMPL_VAR NAME="biblio1" -->)</label><br />
- <input type="radio" value="<!-- TMPL_VAR NAME="biblio2" -->" id="mergereference2" name="mergereference" /><label for="mergereference2"><!-- TMPL_VAR NAME="title2" --> (<!-- TMPL_VAR NAME="biblio2" -->)</label><br />
+ <ol>
+ <li class="radio"><input type="radio" value="<!-- TMPL_VAR NAME="biblio1" -->" checked="checked" id="mergereference1" name="mergereference" /><label for="mergereference1"><!-- TMPL_VAR NAME="title1" --> (<!-- TMPL_VAR NAME="biblio1" -->)</label></li>
+ <li class="radio"><input type="radio" value="<!-- TMPL_VAR NAME="biblio2" -->" id="mergereference2" name="mergereference" /><label for="mergereference2"><!-- TMPL_VAR NAME="title2" --> (<!-- TMPL_VAR NAME="biblio2" -->)</label></li>
+</ol>
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR name="biblio1" -->" />
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR name="biblio2" -->" />
- <input type="submit" />
+ <fieldset class="action"><input type="submit" value="Next" /></fieldset>
</fieldset>
</form>
<!-- TMPL_ELSE -->
<!-- TMPL_ELSE -->
<form id="mergeform" action="/cgi-bin/koha/cataloguing/merge.pl" method="post" onsubmit="return mergeformsubmit()">
-<div id="tabs" class="yui-u first">
+<div class="yui-g">
+<div class="yui-u first">
+<div id="tabs" class="toptabs">
<h2>Source records</h2>
<ul>
<li><a href="#tabrecord1"><!-- TMPL_VAR name="biblio1" --></a></li>
</ul>
<div id="tabrecord1">
<!-- TMPL_IF name="record1" -->
- <br />
+
<div class="record">
<ul id="ulrecord1">
<!-- TMPL_LOOP NAME="record1" -->
</li>
<!-- /TMPL_LOOP -->
</ul>
- </div>
- </div>
+ </div><!-- /div.record -->
+ </div><!-- /div#tabrecord1 -->
<div id="tabrecord2">
<!-- TMPL_IF name="record2" -->
- <br />
+
<div class="record">
<ul id="ulrecord2">
<!-- TMPL_LOOP NAME="record2" -->
<!-- /TMPL_LOOP -->
</ul>
</div>
-
+ <!-- /div.record -->
<!-- /TMPL_IF -->
- </div>
+ </div><!-- /div#tabrecord2 -->
</div> <!-- // #tabs -->
-
-<div id="result" class="yui-u">
+</div>
+<div class="yui-u">
+<div id="result">
<h2>Destination record</h2>
- <br /><br />
+ <div style="border:1px solid #E8E8E8;padding:1em;margin-top:2em;">
<ul id="resultul">
<!-- TMPL_LOOP NAME="record1" -->
<!-- TMPL_LOOP NAME="field" --><li id="k<!-- TMPL_VAR name="key" -->"><span class="field"><!-- TMPL_VAR NAME="tag" --></span>
<input type="hidden" name="biblio2" value="<!-- TMPL_VAR name="biblio2" -->" />
<input type="hidden" name="mergereference" value="<!-- TMPL_VAR name="mergereference" -->" />
-<p><input type="submit" name="merge" value="merge" /></p>
-
+</div>
</div> <!-- // #result -->
+</div> <!-- .yui-u -->
+<fieldset class="action"><input type="submit" name="merge" value="Merge" /></fieldset>
+</div>
</form>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="date_due" -->
</td>
<td>
- <!-- TMPL_IF name="BiblioDefaultViewmarc" -->
-<a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a>
-<!-- TMPL_ELSIF NAME="BiblioDefaultViewisbd" -->
-<a href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a>
-<!-- TMPL_ELSE -->
-<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_VAR NAME="subtitle" --></a><!-- /TMPL_IF -->
+ <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" -->
(<b><!-- TMPL_VAR NAME="description" --></b>)
<br />Barcode : <!-- TMPL_VAR NAME="barcode" -->
</td>
<!-- TMPL_IF NAME="email" -->[<a href="mailto:<!-- TMPL_VAR NAME="email" -->?subject=Overdue: <!-- TMPL_VAR NAME="title" ESCAPE="html" -->">email</a>]<!-- /TMPL_IF -->
(<!--TMPL_IF NAME="phone" --><!-- TMPL_VAR NAME="phone" --><!-- TMPL_ELSIF NAME="mobile" --><!-- TMPL_VAR NAME="mobile" --><!-- TMPL_ELSIF NAME="phonepro" --><!-- TMPL_VAR NAME="phonepro" --><!-- /TMPL_IF -->)</td>
<td><!-- TMPL_VAR name="branchcode" --></td>
- <td><!-- TMPL_IF name="BiblioDefaultViewmarc" -->
-<a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" ESCAPE="html" --></a>
-<!-- TMPL_ELSIF NAME="BiblioDefaultViewisbd" -->
-<a href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" ESCAPE="html" --></a>
-<!-- TMPL_ELSE -->
-<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" ESCAPE="html" --> <!-- TMPL_VAR NAME="subtitle" --></a><!-- /TMPL_IF --> <!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF -->
+ <td><!-- TMPL_INCLUDE NAME="biblio-default-view.inc" --><!-- TMPL_VAR NAME="title" ESCAPE="html" --> <!-- TMPL_VAR NAME="subtitle" --></a> <!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF -->
</td>
<td><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&itemnumber=<!-- TMPL_VAR NAME="itemnum" -->#item<!-- TMPL_VAR NAME="itemnum" -->"><!-- TMPL_VAR name="barcode" --></a></td>
<td><!-- TMPL_VAR name="itemcallnumber" --></td>
<td><!-- TMPL_VAR NAME="rcount" --></td>
<td>
<p>
- <!-- TMPL_IF name="BiblioDefaultViewmarc" -->
- <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_VAR NAME="subtitle" -->
- </a>
- <!-- TMPL_ELSE -->
- <!-- TMPL_IF name="BiblioDefaultViewisbd" -->
- <a href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_VAR NAME="subtitle" -->
- </a>
- <!-- TMPL_ELSE -->
- <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
+ <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" -->
<!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_VAR NAME="subtitle" -->
</a>
- <!-- /TMPL_IF -->
- <!-- /TMPL_IF -->
</p>
</td>
<!-- TMPL_ELSE -->
<td><p><!-- TMPL_VAR NAME="itemcount" --></p></td>
<td><p class="ratiolimit"><!-- TMPL_VAR NAME="thisratio" --></p></td>
<td><p>
- <!-- TMPL_IF name="BiblioDefaultViewmarc" -->
- <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSIF name="BiblioDefaultViewisbd" -->
- <a href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSE -->
- <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- /TMPL_IF -->
- <!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_VAR NAME="subtitle" -->
+ <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" --><!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_VAR NAME="subtitle" -->
</a>
</p>
<p><!-- TMPL_VAR NAME="notes" --></p>
<!-- /TMPL_IF -->
<td><p><!-- TMPL_VAR NAME="datetransfer" --></p> <!-- TMPL_IF NAME="messcompa" --><span class="error">Transfer is <!-- TMPL_VAR NAME="diff" --> days late</span><!-- /TMPL_IF --></td>
<td><span style="display:none;"><!-- TMPL_VAR NAME="title" escape="html" --></span><!-- invisible title for tablesorter -->
- <!-- TMPL_IF name="BiblioDefaultViewmarc" -->
-<a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!-- TMPL_VAR NAME="subfield" --><!-- /TMPL_LOOP --><!-- /TMPL_IF --></a>
-<!-- TMPL_ELSIF NAME="BiblioDefaultViewisbd" -->
-<a href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!-- TMPL_VAR NAME="subfield" --><!-- /TMPL_LOOP --><!-- /TMPL_IF --></a>
-<!-- TMPL_ELSE -->
-<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->"><!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!-- TMPL_VAR NAME="subfield" --><!-- /TMPL_LOOP --><!-- /TMPL_IF --></a><!-- /TMPL_IF --> <!-- TMPL_IF NAME="author" -->by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF -->
+ <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" --><!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!-- TMPL_VAR NAME="subfield" --><!-- /TMPL_LOOP --><!-- /TMPL_IF --></a> <!-- TMPL_IF NAME="author" -->by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="itemtype" --> (<b><!-- TMPL_VAR NAME="itemtype" --></b>)<!-- /TMPL_IF -->
<br />Barcode: <!-- TMPL_VAR NAME="barcode" -->
</td>
<tr>
<td><p><!-- TMPL_VAR NAME="waitingdate" --></p></td>
<td>
- <!-- TMPL_IF name="BiblioDefaultViewmarc" -->
- <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSIF NAME="BiblioDefaultViewisbd" -->
- <a href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSE -->
- <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- /TMPL_IF -->
+ <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" -->
<!-- TMPL_VAR NAME="title" escape="html" --> <!-- TMPL_VAR NAME="subtitle" ESCAPE="html" -->
</a>
(<b><!-- TMPL_VAR NAME="itemtype" --></b>)
<span style="background-color: #ffe599">
TIP: If a staff member is set to 'superlibrarian' they have access to all functions and do not need any other permissions checked</span></li>
</ul></li>
- <li>To give staff members more granular permissions, you can turn on the GranularPermissions system preference
- <ul>
- <li><em>Get there:</em> More > Administration > General preferences > Admin > GranularPermissions</li>
- <li>If this setting is on the permissions menu will offer more granual permissions</li>
- <li>This allows staff members access to specific tools
- <ul>
- <li>
- <span style="background-color: #ffe599">
-TIP: If this preference is turned OFF after being ON, the system reverts to the original behavior, although the specific permissions are retained. This means if a staff member has been given granular permissions they will retain those even if this is turned OFF</span></li>
- </ul></li>
- </ul></li>
</ul>
<h3>What will each permission level do?</h3>
<li><strong>circulate</strong>
<ul>
<li>Ability for logged in user to check books out and back in</li>
- <li>With GranularPermissions on this section will be expanded to allow access to specific ciculation functions.
- <ul>
- <li><em>Get there:</em> More > Administration > Global System Preferences > Admin > GranularPermissions</li>
- </ul></li>
</ul></li>
<li><strong>catalog</strong>
<ul>
<li><strong>tools</strong>
<ul>
<li>Use tools (export, import, barcodes)</li>
- <li>With GranularPermissions on this section will be expanded to allow access only to specific tools
- <ul>
- <li><em>Get there:</em> More > Administration > Global System Preferences > Admin > GranularPermissions</li>
- </ul></li>
</ul></li>
<li><strong>editauthorities</strong>
<ul>
<ul>
<li>Provides the ability to modify login / permissions for staff users</li>
</ul></li>
- </ul><!-- TMPL_INCLUDE NAME="help-bottom.inc" -->
\ No newline at end of file
+ </ul><!-- TMPL_INCLUDE NAME="help-bottom.inc" -->
<li><span class="label">Address 2: </span><!-- TMPL_VAR NAME="B_address2" --></li>
<li><span class="label">City, State: </span><!-- TMPL_VAR NAME="B_city" --></li>
<li><span class="label">Zip/Postal Code: </span><!-- TMPL_VAR NAME="B_zipcode" --></li>
- <li><span class="label">Country: </span><!-- TMPL_VAR NAME="B_country" --></li></ol></div>
+ <li><span class="label">Country: </span><!-- TMPL_VAR NAME="B_country" --></li>
+ <!-- TMPL_IF NAME="B_phone"--><li><span class="label">Phone: </span><!-- TMPL_VAR NAME="B_phone" --></li><!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="B_email"--><li><span class="label">Email: </span><!-- TMPL_VAR NAME="B_email" --></li><!-- /TMPL_IF --></ol></div>
<!-- /TMPL_UNLESS --><!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="C" -->
<div class="rows"> <ol><li><span class="label">Surname: </span><!-- TMPL_VAR NAME="contactname" --></li>
}
if (count_reserv == "0"){
- msg += (_("- Please select an item to place a hold\n"));
+ msg += (_("- Please select an item to place a hold") + "\n");
}
if (count_reserv >= "2"){
- msg += (_("- You may only place a hold on one item at a time\n"));
+ msg += (_("- You may only place a hold on one item at a time") + "\n");
}
if (alreadyreserved > "0"){
- msg += (_("- This patron had already placed a hold on this item\n Please cancel the previous hold first \n"));
+ msg += (_("- This patron had already placed a hold on this item") + "\n" + _("Please cancel the previous hold first") + "\n");
}
if (msg == "") return(true);
<!-- /TMPL_IF -->
<!-- TMPL_UNLESS NAME="multi_hold" -->
- <h1>Place a hold on <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a></h1>
+ <h1>Place a hold on <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" --><!-- TMPL_VAR NAME="title" escape="html" --></a></h1>
<!-- TMPL_ELSE -->
<h1>Confirm Holds</h1>
<!-- /TMPL_UNLESS -->
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
<select name="rank-request">
<!-- TMPL_IF Name="wait" -->
+ <!-- TMPL_IF NAME="intransit" -->
+ <option value="T" selected="selected">In transit</option>
+ <!-- TMPL_ELSE -->
<option value="W" selected="selected">Waiting</option>
+ <!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="CAN_user_reserveforothers_modify_holds_priority" --><!-- TMPL_LOOP Name="optionloop" -->
<!-- TMPL_IF Name="selected" --><option value="<!-- TMPL_VAR NAME="num" -->" selected="selected"><!-- TMPL_VAR NAME="num" --></option><!-- TMPL_ELSE --><option value="<!-- TMPL_VAR NAME="num" -->"><!-- TMPL_VAR NAME="num" --></option><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="cannotedit" -->
<!-- TMPL_ELSE -->
- <a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3,7">Serial receive</a>
+ <!-- TMPL_IF name="CAN_user_serials_receive_serials" --><a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&serstatus=1,3,7">Serial receive</a><!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</td>
</tr>
<input type="text" name="biblionumber" id="biblionumber" value="<!-- TMPL_VAR name="bibnum" -->" size="8" />
(<input type="text" name="title" value="<!-- TMPL_VAR name="bibliotitle" -->" disabled="disabled" readonly="readonly" />) <span class="required" title="Subscriptions must be associated with a bibliographic record">Required</span>
- <div class="inputnote"> <a href="#" onclick="Plugin(f)">Search for Biblio</a> | <!--TMPL_IF Name="mod"--><a href="#" onclick="addbiblioPopup(<!-- TMPL_VAR NAME="bibnum" -->); return false;">Edit biblio</a><!-- TMPL_ELSE -->
- <a href="#" onclick="addbiblioPopup(); return false;">Create Biblio</a><!--/TMPL_IF--></div>
+ <div class="inputnote"> <a href="#" onclick="Plugin(f)">Search for Biblio</a>
+ <!-- TMPL_IF name="CAN_user_editcatalogue" -->
+ <!--TMPL_IF Name="mod"-->
+ | <a href="#" onclick="addbiblioPopup(<!-- TMPL_VAR NAME="bibnum" -->); return false;">Edit biblio</a>
+ <!-- TMPL_ELSE -->
+ | <a href="#" onclick="addbiblioPopup(); return false;">Create Biblio</a>
+ <!--/TMPL_IF-->
+ <!--/TMPL_IF-->
+ </div>
</li>
<li class="radio">
<!-- /TMPL_IF -->
<!-- /TMPL_UNLESS -->
-<!-- TMPL_ELSE -->
- <p>No items found</p>
-<!-- /TMPL_IF -->
-
<!-- TMPL_IF name="action" -->
<div class="dialog message"><p><!-- TMPL_VAR NAME="deleted_items" --> item(s) deleted.</p></div>
<!-- TMPL_IF NAME="not_deleted_items" -->
var alertString2;
if(f.addshelf.value.length ==0){
- _alertString += _("- You must enter a List Name\n");
+ _alertString += _("- You must enter a List Name") + "\n";
}
if (_alertString.length==0) {
document.Aform.submit();
} else {
- alertString2 = _("Form not submitted because of the following problem(s)\n");
- alertString2 += "------------------------------------------------------------------------------------\n\n";
+ alertString2 = _("Form not submitted because of the following problem(s)");
+ alertString2 += "\n------------------------------------------------------------------------------------\n\n";
alertString2 += _alertString;
alert(alertString2);
}
<img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="<!-- TMPL_VAR NAME="description" -->" title="<!-- TMPL_VAR NAME="description" -->" /><!-- TMPL_VAR NAME="description" -->
</td><!-- /TMPL_UNLESS -->
<td>
- <!-- TMPL_IF name="BiblioDefaultViewmarc" -->
- <a class="title" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSIF NAME="BiblioDefaultViewisbd" -->
- <a class="title" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- TMPL_ELSE -->
- <a class="title" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
- <!-- /TMPL_IF -->
+ <!-- TMPL_INCLUDE NAME="biblio-default-view.inc" -->
<!-- TMPL_VAR NAME="title" escape="html" --><!-- TMPL_LOOP NAME="subtitle" --> <!-- TMPL_VAR NAME="subfield" --><!-- /TMPL_LOOP --></a>
</td>
<td><!-- TMPL_VAR NAME="author" --></td>
<!-- Option: Display Alternate Graphic Representation (MARC 880) -->
<xsl:variable name="display880" select="boolean(marc:datafield[@tag=880])"/>
- <xsl:variable name="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/>
- <xsl:variable name="OPACURLOpenInNewWindow" select="marc:sysprefs/marc:syspref[@name='OPACURLOpenInNewWindow']"/>
- <xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/>
+ <xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/>
+ <xsl:variable name="OPACBaseURL" select="marc:sysprefs/marc:syspref[@name='OPACBaseURL']"/>
+
<xsl:variable name="leader" select="marc:leader"/>
<xsl:variable name="leader6" select="substring($leader,7,1)"/>
<xsl:variable name="leader7" select="substring($leader,8,1)"/>
<xsl:when test="$leader6='m'">CF</xsl:when>
<xsl:when test="$leader6='e' or $leader6='f'">MP</xsl:when>
<xsl:when test="$leader6='g' or $leader6='k' or $leader6='o' or $leader6='r'">VM</xsl:when>
- <xsl:when test="$leader6='c' or $leader6='d' or $leader6='i' or $leader6='j'">MU</xsl:when>
+ <xsl:when test="$leader6='i' or $leader6='j'">MU</xsl:when>
+ <xsl:when test="$leader6='c' or $leader6='d'">PR</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="materialTypeLabel">
<xsl:when test="$leader6='m'">Computer File</xsl:when>
<xsl:when test="$leader6='e' or $leader6='f'">Map</xsl:when>
<xsl:when test="$leader6='g' or $leader6='k' or $leader6='o' or $leader6='r'">Visual Material</xsl:when>
- <xsl:when test="$leader6='c' or $leader6='d' or $leader6='i' or $leader6='j'">Sound</xsl:when>
+ <xsl:when test="$leader6='j'">Music</xsl:when>
+ <xsl:when test="$leader6='i'">Sound</xsl:when>
+ <xsl:when test="$leader6='c' or $leader6='d'">Score</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:with-param name="codes">h</xsl:with-param>
</xsl:call-template>
</xsl:if>
+ <xsl:text> </xsl:text>
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">fgknps</xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
- <xsl:if test="$DisplayOPACiconsXSLT!='0'">
- <xsl:if test="$materialTypeCode!=''">
+ <xsl:if test="$materialTypeCode!=''">
<span class="results_summary"><span class="label">Type: </span>
- <xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/prog/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt"></xsl:attribute></xsl:element>
+ <xsl:element name="img"><xsl:attribute name="src">/intranet-tmpl/prog/img/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt"></xsl:attribute></xsl:element>
+ <xsl:text> </xsl:text>
<xsl:value-of select="$materialTypeLabel"/>
</span>
- </xsl:if>
</xsl:if>
<!--Series: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="marc:datafield[@tag=856]">
<span class="results_summary"><span class="label">Online Resources: </span>
<xsl:for-each select="marc:datafield[@tag=856]">
- <xsl:if test="$OPACURLOpenInNewWindow='0'">
<a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
<xsl:choose>
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
</xsl:when>
</xsl:choose>
</a>
- </xsl:if>
- <xsl:if test="$OPACURLOpenInNewWindow='1'">
- <a target='_blank'><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
- <xsl:choose>
- <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
- <xsl:call-template name="subfieldSelect">
- <xsl:with-param name="codes">y3z</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])">
- <xsl:choose>
- <xsl:when test="$URLLinkText!=''">
- <xsl:value-of select="$URLLinkText"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>Click here to access online</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </a>
- </xsl:if>
<xsl:choose>
<xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when>
<xsl:otherwise> | </xsl:otherwise>
</xsl:if>
<xsl:if test="marc:datafield[@tag=505]">
<xsl:for-each select="marc:datafield[@tag=505]">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind1=0">
- Contents:
+ <span class="label">Contents:</span>
</xsl:when>
<xsl:when test="@ind1=1">
- Incomplete contents:
+ <span class="label">Incomplete contents:</span>
</xsl:when>
<xsl:when test="@ind1=1">
- Partial contents:
+ <span class="label">Partial contents:</span>
</xsl:when>
</xsl:choose>
- </span>
<xsl:choose>
<xsl:when test="@ind2=0">
<xsl:for-each select="marc:subfield[@code='t']">
<!-- 780 -->
<xsl:if test="marc:datafield[@tag=780]">
<xsl:for-each select="marc:datafield[@tag=780]">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind2=0">
- Continues:
+ <span class="label">Continues:</span>
</xsl:when>
<xsl:when test="@ind2=1">
- Continues in part:
+ <span class="label">Continues in part:</span>
</xsl:when>
<xsl:when test="@ind2=2">
- Supersedes:
+ <span class="label">Supersedes:</span>
</xsl:when>
<xsl:when test="@ind2=3">
- Supersedes in part:
+ <span class="label">Supersedes in part:</span>
</xsl:when>
<xsl:when test="@ind2=4">
- Formed by the union: ... and: ...
+ <span class="label">Formed by the union: ... and: ...</span>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed:
+ <span class="label">Absorbed:</span>
</xsl:when>
<xsl:when test="@ind2=6">
- Absorbed in part:
+ <span class="label">Absorbed in part:</span>
</xsl:when>
<xsl:when test="@ind2=7">
- Separated from:
+ <span class="label">Separated from:</span>
</xsl:when>
</xsl:choose>
- </span>
<xsl:variable name="f780">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
<!-- 785 -->
<xsl:if test="marc:datafield[@tag=785]">
<xsl:for-each select="marc:datafield[@tag=785]">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind2=0">
- Continued by:
+ <span class="label">Continued by:</span>
</xsl:when>
<xsl:when test="@ind2=1">
- Continued in part by:
+ <span class="label">Continued in part by:</span>
</xsl:when>
<xsl:when test="@ind2=2">
- Superseded by:
+ <span class="label">Superseded by:</span>
</xsl:when>
<xsl:when test="@ind2=3">
- Superseded in part by:
+ <span class="label">Superseded in part by:</span>
</xsl:when>
<xsl:when test="@ind2=4">
- Absorbed by:
+ <span class="label">Absorbed by:</span>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed in part by:
+ <span class="label">Absorbed in part by:</span>
</xsl:when>
<xsl:when test="@ind2=6">
- Split into .. and ...:
+ <span class="label">Split into .. and ...:</span>
</xsl:when>
<xsl:when test="@ind2=7">
- Merged with ... to form ...
+ <span class="label">Merged with ... to form ...</span>
</xsl:when>
<xsl:when test="@ind2=8">
- Changed back to:
+ <span class="label">Changed back to:</span>
</xsl:when>
</xsl:choose>
- </span>
<xsl:variable name="f785">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
</xsl:for-each>
</xsl:if>
+ <xsl:if test="$OPACBaseURL!=''">
+ <span class="results_summary"><span class="label">OPAC view: </span>
+ <a><xsl:attribute name="href">http://<xsl:value-of select="$OPACBaseURL"/>/cgi-bin/koha/opac-detail.pl?biblionumber=<xsl:value-of select="marc:datafield[@tag=999]/marc:subfield[@code='c']"/></xsl:attribute><xsl:attribute name="target">_blank</xsl:attribute>Open in new window</a>.
+ </span>
+ </xsl:if>
+
</xsl:template>
<xsl:template name="nameABCDQ">
</xsl:variable>
<xsl:value-of select="substring($str,1,string-length($str)-1)"/>
</xsl:template>
+
</xsl:stylesheet>
<xsl:variable name="leader6" select="substring($leader,7,1)"/>
<xsl:variable name="leader7" select="substring($leader,8,1)"/>
<xsl:variable name="biblionumber" select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/>
-
+
<xsl:if test="marc:datafield[@tag=200]">
<xsl:for-each select="marc:datafield[@tag=200]">
<li>
<strong>Note sur la provenance: </strong>
<xsl:for-each select="marc:datafield[@tag=317]">
- <xsl:value-of select="marc:subfield[@code='a']"/>
+ <xsl:value-of select="marc:subfield[@code='a']"/>
</xsl:for-each>
</li>
</xsl:if>
<li>
<strong>SUDOC serial history: </strong>
<xsl:for-each select="marc:datafield[@tag=955]">
- <xsl:value-of select="marc:subfield[@code='9']"/>:
+ <xsl:value-of select="marc:subfield[@code='9']"/>:
<xsl:value-of select="marc:subfield[@code='r']"/>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
<li>
<strong>SUDOC serial history: </strong>
<xsl:for-each select="marc:datafield[@tag=955]">
- <xsl:value-of select="marc:subfield[@code='9']"/>:
+ <xsl:value-of select="marc:subfield[@code='9']"/>:
<xsl:value-of select="marc:subfield[@code='r']"/>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
<xsl:choose>
<xsl:when test="position()=last()"></xsl:when>
<xsl:otherwise> | </xsl:otherwise>
- </xsl:choose>
+ </xsl:choose>
</xsl:for-each>
</li>
</xsl:if>
<!-- 780 -->
<xsl:if test="marc:datafield[@tag=780]">
<xsl:for-each select="marc:datafield[@tag=780]">
- <li><strong>
+ <li>
<xsl:choose>
<xsl:when test="@ind2=0">
- Continues:
+ <strong>Continues:</strong>
</xsl:when>
<xsl:when test="@ind2=1">
- Continues in part:
+ <strong>Continues in part:</strong>
</xsl:when>
<xsl:when test="@ind2=2">
- Supersedes:
+ <strong>Supersedes:</strong>
</xsl:when>
<xsl:when test="@ind2=3">
- Supersedes in part:
+ <strong>Supersedes in part:</strong>
</xsl:when>
<xsl:when test="@ind2=4">
- Formed by the union: ... and: ...
+ <strong>Formed by the union: ... and: ...</strong>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed:
+ <strong>Absorbed:</strong>
</xsl:when>
<xsl:when test="@ind2=6">
- Absorbed in part:
+ <strong>Absorbed in part:</strong>
</xsl:when>
<xsl:when test="@ind2=7">
- Separated from:
+ <strong>Separated from:</strong>
</xsl:when>
</xsl:choose>
- </strong>
+
<xsl:variable name="f780">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
<xsl:value-of select="translate($f780, '()', '')"/>
</a>
</li>
-
+
<xsl:choose>
<xsl:when test="@ind1=0">
<li><xsl:value-of select="marc:subfield[@code='n']"/></li>
<!-- 785 -->
<xsl:if test="marc:datafield[@tag=785]">
<xsl:for-each select="marc:datafield[@tag=785]">
- <li><strong>
+ <li>
<xsl:choose>
<xsl:when test="@ind2=0">
- Continued by:
+ <strong>Continued by:</strong>
</xsl:when>
<xsl:when test="@ind2=1">
- Continued in part by:
+ <strong>Continued in part by:</strong>
</xsl:when>
<xsl:when test="@ind2=2">
- Superseded by:
+ <strong>Superseded by:</strong>
</xsl:when>
<xsl:when test="@ind2=3">
- Superseded in part by:
+ <strong>Superseded in part by:</strong>
</xsl:when>
<xsl:when test="@ind2=4">
- Absorbed by:
+ <strong>Absorbed by:</strong>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed in part by:
+ <strong>Absorbed in part by:</strong>
</xsl:when>
<xsl:when test="@ind2=6">
- Split into .. and ...:
+ <strong>Split into .. and ...:</strong>
</xsl:when>
<xsl:when test="@ind2=7">
- Merged with ... to form ...
+ <strong>Merged with ... to form ...</strong>
</xsl:when>
<xsl:when test="@ind2=8">
- Changed back to:
+ <strong>Changed back to:</strong>
</xsl:when>
-
</xsl:choose>
- </strong>
<xsl:variable name="f785">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
}
$(function() {
- <!-- TMPL_IF NAME="loggedinusername" -->$("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_('Clear All')+"<\/a>|");
- $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_('Select All')+"<\/a>");<!-- /TMPL_IF -->
- $("a.print").show();
+ $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_('Clear All')+"<\/a>|");
+ $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_('Select All')+"<\/a>");
+ $("a.print").show();
<!-- TMPL_IF NAME="RequestOnOpac" -->$("#placehold").html("<a href=\"#\" class=\"hold tag_hides\">"+_('Place Hold')+"<\/a>");
$("a.hold").click(function(){
holdSelections();
});<!-- /TMPL_IF -->
$("#listcontents").tablesorter({
widgets : ['zebra'],
- <!-- TMPL_IF NAME="manageshelf" -->
<!-- TMPL_IF NAME="authorsort" -->
sortList: [[2,0]],
<!-- TMPL_ELSIF NAME="yearsort" -->
sortList: [[1,0]],
<!-- /TMPL_IF -->
headers: { 0: { sorter: false },1:{sorter: 'articles'}
- <!-- TMPL_ELSE -->
- <!-- TMPL_IF NAME="authorsort" -->
- sortList: [[1,0]],
- <!-- TMPL_ELSIF NAME="yearsort" -->
- sortList: [[2,1]],
- <!-- TMPL_ELSE -->
- sortList: [[0,0]],
- <!-- /TMPL_IF -->
- headers: { 0:{sorter:'articles'}
- <!-- /TMPL_IF -->
}
});
$("#CheckAll").click(function(){
var alertString2;
if(f.addshelf.value.length ==0){
- _alertString += _("- You must enter a List Name\n");
+ _alertString += _("- You must enter a List Name") + "\n";
}
if (_alertString.length==0) {
document.Aform.submit();
} else {
- alertString2 = _("Form not submitted because of the following problem(s)\n");
- alertString2 += "------------------------------------------------------------------------------------\n\n";
+ alertString2 = _("Form not submitted because of the following problem(s)");
+ alertString2 += "\n------------------------------------------------------------------------------------\n\n";
alertString2 += _alertString;
alert(alertString2);
}
<!-- TMPL_IF NAME="viewshelf" --><!-- Viewing a particular shelf -->
<h3><a href="/cgi-bin/koha/opac-shelves.pl">Lists</a> <img src="<!-- TMPL_VAR NAME="themelang" -->/../images/caret.gif" width="16" height="16" alt=">" border="0" /> <em><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></em></h3>
<!-- TMPL_IF NAME="itemsloop" -->
- <div id="toolbar" class="list-actions">
-<!-- TMPL_IF NAME="loggedinusername" --> <span class="checkall"></span>
+ <div id="toolbar" class="list-actions"> <span class="checkall"></span>
<span class="clearall"></span>
<!-- TMPL_IF NAME="RequestOnOpac" -->
<span id="placehold"></span><!-- TMPL_UNLESS NAME="TagsEnabled" --> |<!-- /TMPL_UNLESS -->
<!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="loggedinusername" -->
<!-- TMPL_IF NAME="TagsEnabled" -->
<span id="addtags"></span>
<span id="tagsel_form" style="display:none">
<span class="sendlist"><a href="/cgi-bin/koha/opac-sendshelf.pl?shelfid=<!-- TMPL_VAR NAME="shelfnumber" -->" class="send tag_hides" onclick="open(CGIBIN+'opac-sendshelf.pl?shelfid=<!-- TMPL_VAR NAME="shelfnumber" -->','win_form','dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); return false; ">Send List</a></span>
+<a class="print tag_hides" href="opac-shelves.pl" onclick="print(); return false;">Print List</a>
- <!-- TMPL_IF NAME="manageshelf" --><a class="editshelf tag_hides" href="/cgi-bin/koha/opac-shelves.pl?shelfnumber=<!-- TMPL_VAR NAME="shelfnumber" -->&op=modif">Edit List</a>
+ <!-- TMPL_IF NAME="manageshelf" --> | <a class="editshelf tag_hides" href="/cgi-bin/koha/opac-shelves.pl?shelfnumber=<!-- TMPL_VAR NAME="shelfnumber" -->&op=modif">Edit List</a>
<form method="post" action="opac-shelves.pl" class="tag_hides">
<input type="hidden" value="1" name="shelves"/>
<!-- TMPL_IF NAME="showprivateshelves" -->
<input type="submit" class="deleteshelf" value="Delete List" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);"/>
</form> <!-- /TMPL_IF -->
- <a class="print tag_hides" href="opac-shelves.pl" onclick="print(); return false;">Print List</a>
-<!-- TMPL_UNLESS NAME="loggedinusername" -->
- | <span><a class="login" href="/cgi-bin/koha/opac-user.pl">Log in</a> to place holds or add tags</span><!-- /TMPL_UNLESS -->
+
</div>
- <!-- TMPL_IF NAME="manageshelf" -->
<form action="/cgi-bin/koha/opac-shelves.pl" method="post" name="myform" class="checkboxed">
+ <!-- TMPL_IF NAME="manageshelf" -->
<input type="hidden" name="viewshelf" value="<!-- TMPL_VAR NAME="shelfnumber" -->" />
<input type="hidden" name="modifyshelfcontents" value="1" />
<!-- /TMPL_IF -->
<!-- TMPL_VAR name='pagination_bar'-->
<table id="listcontents">
<thead><tr>
- <!-- TMPL_IF NAME="manageshelf" --><th> </th><!-- /TMPL_IF -->
+ <th> </th>
<!-- TMPL_UNLESS NAME="item-level_itypes" --><th>Item Type</th><!-- /TMPL_UNLESS -->
<th>Title</th>
<th>Author</th>
<!-- TMPL_ELSE -->
<tr>
<!-- /TMPL_UNLESS -->
- <!-- TMPL_IF NAME="manageshelf" -->
<td><input type="checkbox" name="REM-<!-- TMPL_VAR NAME="biblionumber" -->"
value="<!-- TMPL_VAR NAME="biblionumber">" /></td>
- <!-- /TMPL_IF -->
<!-- TMPL_UNLESS NAME="item-level_itypes" -->
<td>
<img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="<!-- TMPL_VAR NAME="description" -->" title="<!-- TMPL_VAR NAME="description" -->" /><!-- TMPL_VAR NAME="description" -->
<input type="hidden" name="shelves" value="1" />
<input type="submit" class="icon delete" value="Delete this List" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST)" />
<!-- /TMPL_IF -->
- </form>
<!-- /TMPL_IF -->
+ </form>
<!-- TMPL_IF NAME="edit" -->
<!-- TMPL_ELSE -->
No Private Lists.
<!-- /TMPL_IF --><!-- /shelveslooppriv -->
- <!-- /TMPL_IF --><! -- /showprivateshelves -->
+ <!-- /TMPL_IF --><!-- /showprivateshelves -->
<!-- TMPL_ELSE --><!-- /loggedinusername -->
<div><a href="/cgi-bin/koha/opac-user.pl">Log in</a> to create new Lists.</div>
<!-- /TMPL_IF --><!-- /loggedinusername -->
var alertString2;
if(f.title.value.length ==0){
- _alertString += _("- You must enter a Title\n");
+ _alertString += _("- You must enter a Title") + "\n";
}
if (_alertString.length==0) {
f.submit();
} else {
- alertString2 = _("Form not submitted because of the following problem(s)\n");
- alertString2 += "------------------------------------------------------------------------------------\n\n";
+ alertString2 = _("Form not submitted because of the following problem(s)");
+ alertString2 += "\n------------------------------------------------------------------------------------\n\n";
alertString2 += _alertString;
alert(alertString2);
}
<input type="text" name="address" value="<!-- TMPL_VAR NAME="address" -->" id="address" />
<input type="text" name="address2" value="<!-- TMPL_VAR NAME="address2" -->" id="address2" /></li>
<li><label for="city">City, State:</label> <input id="city" type="text" value="<!-- TMPL_VAR name="city" -->" name="city" /></li>
-<li><label for="zipcode">Zip Code: </label><input id="zipcode" name="zipcode" value="<!-- TMPL_VAR NAME="zipcode" -->" name="zipcode" /></li>
-<li><label for="country">Country: </label><input id="country" name="country" value="<!-- TMPL_VAR NAME="country" -->" name="country" /></li>
+<li><label for="zipcode">Zip Code: </label><input id="zipcode" value="<!-- TMPL_VAR NAME="zipcode" -->" name="zipcode" /></li>
+<li><label for="country">Country: </label><input id="country" value="<!-- TMPL_VAR NAME="country" -->" name="country" /></li>
<li><label for="phone">Home Phone:</label> <input id="phone" type="text" value="<!-- TMPL_VAR name="phone" -->" name="phone" /></li>
<li><label for="mobile">Mobile Phone:</label> <input id="mobile" type="text" value="<!-- TMPL_VAR name="mobile" -->" name="mobile" /></li>
<li><label for="phonepro">Work phone:</label> <input id="phonepro" type="text" value="<!-- TMPL_VAR name="phonepro" -->" name="phonepro" /></li>
</li>
<li><label for="B_city">City, State:</label> <input id="B_city" type="text" value="<!-- TMPL_VAR name="B_city" -->" name="B_city" /></li>
-<li><label for="B_zipcode">Zip Code:</label> <input type="text" id="B_zipcode" name="B_zipcode" value="<!-- TMPL_VAR NAME="B_zipcode" -->" name="B_zipcode" /></li>
-<li><label for="B_country">Country:</label> <input type="text" id="B_country" name="B_country" value="<!-- TMPL_VAR NAME="B_country" -->" name="B_country" /></li>
-<li><label for="B_phone">Phone:</label> <input type="text" id="B_phone" name="B_phone" value="<!-- TMPL_VAR NAME="B_phone" -->" name="B_phone" /></li>
-<li><label for="B_email">Email:</label> <input type="text" id="B_email" name="B_email" value="<!-- TMPL_VAR NAME="B_email" -->" name="B_email" /></li>
+<li><label for="B_zipcode">Zip Code:</label> <input type="text" id="B_zipcode" value="<!-- TMPL_VAR NAME="B_zipcode" -->" name="B_zipcode" /></li>
+<li><label for="B_country">Country:</label> <input type="text" id="B_country" value="<!-- TMPL_VAR NAME="B_country" -->" name="B_country" /></li>
+<li><label for="B_phone">Phone:</label> <input type="text" id="B_phone" value="<!-- TMPL_VAR NAME="B_phone" -->" name="B_phone" /></li>
+<li><label for="B_email">Email:</label> <input type="text" id="B_email" value="<!-- TMPL_VAR NAME="B_email" -->" name="B_email" /></li>
</ol>
</fieldset>
<fieldset class="brief">
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
- <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="nameABCDN"/></a>
<xsl:if test="$ShowISBD!='0'">
<span class="view"><a id="ISBDview" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber={marc:datafield[@tag=999]/marc:subfield[@code='c']}">Card View (ISBD)</a></span>
</xsl:if>
- </div>
+ </div>
<xsl:if test="$DisplayOPACiconsXSLT!='0'">
<xsl:if test="$materialTypeCode!=''">
<xsl:with-param name="index">se</xsl:with-param>
</xsl:call-template>
</xsl:if>
-
+
<xsl:if test="marc:datafield[@tag=440 or @tag=490]">
<span class="results_summary"><span class="label">Series: </span>
<xsl:for-each select="marc:datafield[@tag=440]">
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
-
+
<xsl:if test="marc:datafield[@tag=260]">
<span class="results_summary"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
</xsl:call-template>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
- </span>
+ </span>
</xsl:if>
<!-- Edition Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:with-param name="label">Edition: </xsl:with-param>
</xsl:call-template>
</xsl:if>
-
+
<xsl:if test="marc:datafield[@tag=250]">
<span class="results_summary"><span class="label">Edition: </span>
<xsl:for-each select="marc:datafield[@tag=250]">
<xsl:with-param name="label">Description: </xsl:with-param>
</xsl:call-template>
</xsl:if>
-
+
<xsl:if test="marc:datafield[@tag=300]">
<span class="results_summary"><span class="label">Description: </span>
<xsl:for-each select="marc:datafield[@tag=300]">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:value-of select="substring($str,1,string-length($str)-1)"/>
-
+
</xsl:with-param>
</xsl:call-template>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:if>
<xsl:if test="marc:datafield[@tag=505]">
<xsl:for-each select="marc:datafield[@tag=505]">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind1=1">
- Incomplete contents:
+ <span class="label">Incomplete contents:</span>
</xsl:when>
<xsl:when test="@ind1=1">
- Partial contents:
+ <span class="label">Partial contents:</span>
</xsl:when>
<xsl:otherwise>
- Contents:
+ <span class="label">Contents:</span>
</xsl:otherwise>
- </xsl:choose>
- </span>
+ </xsl:choose>
<xsl:choose>
<xsl:when test="@ind2=0">
<xsl:for-each select="marc:subfield[@code='t']">
<xsl:value-of select="marc:subfield[@code=t]"/> <xsl:value-of select="marc:subfield[@code=r]"/>
- </xsl:for-each>
+ </xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="subfieldSelect">
<xsl:value-of select="translate($f773, '()', '')"/>
</a>
</span>
-
+
<span class="results_summary"><xsl:value-of select="marc:subfield[@code='n']"/></span>
</xsl:if>
<xsl:if test="marc:datafield[@tag=780]">
<xsl:for-each select="marc:datafield[@tag=780]">
<xsl:if test="@ind1=0">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind2=0">
- Continues:
+ <span class="label">Continues:</span>
</xsl:when>
<xsl:when test="@ind2=1">
- Continues in part:
+ <span class="label">Continues in part:</span>
</xsl:when>
<xsl:when test="@ind2=2">
- Supersedes:
+ <span class="label">Supersedes:</span>
</xsl:when>
<xsl:when test="@ind2=3">
- Supersedes in part:
+ <span class="label">Supersedes in part:</span>
</xsl:when>
<xsl:when test="@ind2=4">
- Formed by the union: ... and: ...
+ <span class="label">Formed by the union: ... and: ...</span>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed:
+ <span class="label">Absorbed:</span>
</xsl:when>
<xsl:when test="@ind2=6">
- Absorbed in part:
+ <span class="label">Absorbed in part:</span>
</xsl:when>
<xsl:when test="@ind2=7">
- Separated from:
+ <span class="label">Separated from:</span>
</xsl:when>
</xsl:choose>
- </span>
<xsl:variable name="f780">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
<xsl:value-of select="translate($f780, '()', '')"/>
</a>
</span>
-
+
<span class="results_summary"><xsl:value-of select="marc:subfield[@code='n']"/></span>
</xsl:if>
<xsl:if test="marc:datafield[@tag=785]">
<xsl:for-each select="marc:datafield[@tag=785]">
<xsl:if test="@ind1=0">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind2=0">
- Continued by:
+ <span class="label">Continued by:</span>
</xsl:when>
<xsl:when test="@ind2=1">
- Continued in part by:
+ <span class="label">Continued in part by:</span>
</xsl:when>
<xsl:when test="@ind2=2">
- Superseded by:
+ <span class="label">Superseded by:</span>
</xsl:when>
<xsl:when test="@ind2=3">
- Superseded in part by:
+ <span class="label">Superseded in part by:</span>
</xsl:when>
<xsl:when test="@ind2=4">
- Absorbed by:
+ <span class="label">Absorbed by:</span>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed in part by:
+ <span class="label">Absorbed in part by:</span>
</xsl:when>
<xsl:when test="@ind2=6">
- Split into .. and ...:
+ <span class="label">Split into .. and ...:</span>
</xsl:when>
<xsl:when test="@ind2=7">
- Merged with ... to form ...
+ <span class="label">Merged with ... to form ...</span>
</xsl:when>
<xsl:when test="@ind2=8">
- Changed back to:
+ <span class="label">Changed back to:</span>
</xsl:when>
</xsl:choose>
- </span>
<xsl:variable name="f785">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
<xsl:variable name="leader6" select="substring($leader,7,1)"/>
<xsl:variable name="leader7" select="substring($leader,8,1)"/>
<xsl:variable name="biblionumber" select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/>
-
+
<xsl:if test="marc:datafield[@tag=200]">
<xsl:for-each select="marc:datafield[@tag=200]">
<a id="ISBDview" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber={marc:datafield[@tag=090]/marc:subfield[@code='a']}">Card View (ISBD)</a>
</span>
</div>
-
+
<xsl:call-template name="tag_4xx" />
<xsl:call-template name="tag_7xx">
<span class="results_summary">
<span class="label">Note sur la provenance: </span>
<xsl:for-each select="marc:datafield[@tag=317]">
- <xsl:value-of select="marc:subfield[@code='a']"/>
+ <xsl:value-of select="marc:subfield[@code='a']"/>
</xsl:for-each>
</span>
</xsl:if>
<span class="results_summary">
<span class="label">SUDOC serial history: </span>
<xsl:for-each select="marc:datafield[@tag=955]">
- <xsl:value-of select="marc:subfield[@code='9']"/>:
+ <xsl:value-of select="marc:subfield[@code='9']"/>:
<xsl:value-of select="marc:subfield[@code='r']"/>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
<span class="results_summary">
<span class="label">SUDOC serial history: </span>
<xsl:for-each select="marc:datafield[@tag=955]">
- <xsl:value-of select="marc:subfield[@code='9']"/>:
+ <xsl:value-of select="marc:subfield[@code='9']"/>:
<xsl:value-of select="marc:subfield[@code='r']"/>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
<xsl:choose>
<xsl:when test="position()=last()"></xsl:when>
<xsl:otherwise> | </xsl:otherwise>
- </xsl:choose>
+ </xsl:choose>
</xsl:for-each>
</span>
</xsl:if>
<!-- 780 -->
<xsl:if test="marc:datafield[@tag=780]">
<xsl:for-each select="marc:datafield[@tag=780]">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind2=0">
- Continues:
+ <span class="label">Continues:</span>
</xsl:when>
<xsl:when test="@ind2=1">
- Continues in part:
+ <span class="label">Continues in part:</span>
</xsl:when>
<xsl:when test="@ind2=2">
- Supersedes:
+ <span class="label">Supersedes:</span>
</xsl:when>
<xsl:when test="@ind2=3">
- Supersedes in part:
+ <span class="label">Supersedes in part:</span>
</xsl:when>
<xsl:when test="@ind2=4">
- Formed by the union: ... and: ...
+ <span class="label">Formed by the union: ... and: ...</span>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed:
+ <span class="label">Absorbed:</span>
</xsl:when>
<xsl:when test="@ind2=6">
- Absorbed in part:
+ <span class="label">Absorbed in part:</span>
</xsl:when>
<xsl:when test="@ind2=7">
- Separated from:
+ <span class="label">Separated from:</span>
</xsl:when>
</xsl:choose>
- </span>
<xsl:variable name="f780">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
<xsl:value-of select="translate($f780, '()', '')"/>
</a>
</span>
-
+
<xsl:choose>
<xsl:when test="@ind1=0">
<span class="results_summary"><xsl:value-of select="marc:subfield[@code='n']"/></span>
<!-- 785 -->
<xsl:if test="marc:datafield[@tag=785]">
<xsl:for-each select="marc:datafield[@tag=785]">
- <span class="results_summary"><span class="label">
+ <span class="results_summary">
<xsl:choose>
<xsl:when test="@ind2=0">
- Continued by:
+ <span class="label">Continued by:</span>
</xsl:when>
<xsl:when test="@ind2=1">
- Continued in part by:
+ <span class="label">Continued in part by:</span>
</xsl:when>
<xsl:when test="@ind2=2">
- Superseded by:
+ <span class="label">Superseded by:</span>
</xsl:when>
<xsl:when test="@ind2=3">
- Superseded in part by:
+ <span class="label">Superseded in part by:</span>
</xsl:when>
<xsl:when test="@ind2=4">
- Absorbed by:
+ <span class="label">Absorbed by:</span>
</xsl:when>
<xsl:when test="@ind2=5">
- Absorbed in part by:
+ <span class="label">Absorbed in part by:</span>
</xsl:when>
<xsl:when test="@ind2=6">
- Split into .. and ...:
+ <span class="label">Split into .. and ...:</span>
</xsl:when>
<xsl:when test="@ind2=7">
- Merged with ... to form ...
+ <span class="label">Merged with ... to form ...</span>
</xsl:when>
<xsl:when test="@ind2=8">
- Changed back to:
+ <span class="label">Changed back to:</span>
</xsl:when>
</xsl:choose>
- </span>
<xsl:variable name="f785">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">at</xsl:with-param>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:marc="http://www.loc.gov/MARC21/slim"
+ exclude-result-prefixes="xsi marc"
+ version="1.0">
+ <xsl:output method="xml" version="1.0" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
+ <xsl:template match="/">
+ <html>
+ <head>
+ <title>MARC Card View</title>
+ </head>
+ <body>
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="marc:record">
+ <div class="cardimage">
+ <xsl:apply-templates select="marc:datafield[@tag!='082' and @tag!='092' and @tag!='010']"/>
+ <span class="bottom">
+ <xsl:apply-templates select="marc:controlfield[@tag='001']"/>
+ <xsl:apply-templates select="marc:datafield[@tag='082' or @tag='092' or @tag='010']"/>
+ </span>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="marc:controlfield">
+ <span class="oclc">#<xsl:value-of select="substring(.,4)"/></span>
+ </xsl:template>
+
+ <xsl:template match="marc:datafield">
+ <xsl:if test="starts-with(@tag, '1')">
+ <p class="mainheading"><xsl:value-of select="."/></p>
+ </xsl:if>
+ <xsl:if test="starts-with(@tag, '24') and /marc:record/marc:datafield[@tag='100']">
+ <span class="title"><xsl:value-of select="."/></span>
+ </xsl:if>
+ <xsl:if test="starts-with(@tag, '24') and not(/marc:record/marc:datafield[@tag='100'])">
+ <span class="titlemain"><xsl:value-of select="."/></span><br/>
+ </xsl:if>
+ <xsl:if test="@tag='260'">
+ <xsl:value-of select="."/>
+ </xsl:if>
+ <xsl:if test="@tag='300'">
+ <p class="extent"><xsl:value-of select="."/></p>
+ </xsl:if>
+ <xsl:if test="starts-with(@tag, '5')">
+ <p class="note"><xsl:value-of select="."/></p>
+ </xsl:if>
+ <xsl:if test="@tag='650'">
+ <span class='counter'><xsl:number count="marc:datafield[@tag='650']"/>.</span> <xsl:apply-templates select="marc:subfield"/>
+ </xsl:if>
+ <xsl:if test="@tag='653'">
+ <span class="counter"><xsl:number format="i" count="marc:datafield[@tag='653']"/>.</span> <xsl:apply-templates select="marc:subfield"/>
+ </xsl:if>
+ <xsl:if test="@tag='010'">
+ <xsl:variable name="LCCN.nospace" select="translate(., ' ', '')"/>
+ <xsl:variable name="LCCN.length" select="string-length($LCCN.nospace)"/>
+ <xsl:variable name="LCCN.display" select="concat(substring($LCCN.nospace, 1, $LCCN.length - 6), '-', format-number(substring($LCCN.nospace, $LCCN.length - 5),'#'))"/>
+ <span class="LCCN">LCCN:<xsl:value-of select="$LCCN.display"/></span>
+ </xsl:if>
+ <xsl:if test="@tag='082' or @tag='092'">
+ <span class="DDC"><xsl:value-of select="marc:subfield[@code='a']"/></span>
+ </xsl:if>
+ <xsl:if test="@tag='856'">
+ <br/><xsl:apply-templates mode="link" select="marc:subfield" />
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="marc:subfield" mode="link">
+ <xsl:if test="@code='u'">
+ <span class="link">
+ <a class="url" href="{.}"/>
+ </span>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="marc:subfield">
+ <xsl:if test="@code!='2'">
+ <xsl:if test="@code!='a'">--</xsl:if>
+ <xsl:value-of select="."/>
+ </xsl:if>
+ </xsl:template>
+ </xsl:stylesheet>
use strict;
sub kohaversion {
- our $VERSION = '3.01.00.136';
+
+ our $VERSION = '3.01.00.139';
+
# version needs to be set this way
# so that it can be picked up by Makefile.PL
# during install
$sth = $dbh->prepare("UPDATE borrowers SET flags=? WHERE borrowernumber=?");
$sth->execute($module_flags, $member);
- if (C4::Context->preference('GranularPermissions')) {
- # deal with subpermissions
- $sth = $dbh->prepare("DELETE FROM user_permissions WHERE borrowernumber = ?");
- $sth->execute($member);
- $sth = $dbh->prepare("INSERT INTO user_permissions (borrowernumber, module_bit, code)
- SELECT ?, bit, ?
- FROM userflags
- WHERE flag = ?");
- foreach my $module (keys %sub_perms) {
- next if exists $all_module_perms{$module};
- foreach my $sub_perm (@{ $sub_perms{$module} }) {
- $sth->execute($member, $sub_perm, $module);
- }
+ # deal with subpermissions
+ $sth = $dbh->prepare("DELETE FROM user_permissions WHERE borrowernumber = ?");
+ $sth->execute($member);
+ $sth = $dbh->prepare("INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT ?, bit, ?
+ FROM userflags
+ WHERE flag = ?");
+ foreach my $module (keys %sub_perms) {
+ next if exists $all_module_perms{$module};
+ foreach my $sub_perm (@{ $sub_perms{$module} }) {
+ $sth->execute($member, $sub_perm, $module);
}
}
checked => $checked,
flagdesc => $flagdesc );
- if (C4::Context->preference('GranularPermissions')) {
- my @sub_perm_loop = ();
- my $expand_parent = 0;
- if ($checked) {
- if (exists $all_perms->{$flag}) {
- $expand_parent = 1;
- foreach my $sub_perm (sort keys %{ $all_perms->{$flag} }) {
- push @sub_perm_loop, {
- id => "${flag}_$sub_perm",
- perm => "$flag:$sub_perm",
- code => $sub_perm,
- description => $all_perms->{$flag}->{$sub_perm},
- checked => 1
- };
- }
+ my @sub_perm_loop = ();
+ my $expand_parent = 0;
+ if ($checked) {
+ if (exists $all_perms->{$flag}) {
+ $expand_parent = 1;
+ foreach my $sub_perm (sort keys %{ $all_perms->{$flag} }) {
+ push @sub_perm_loop, {
+ id => "${flag}_$sub_perm",
+ perm => "$flag:$sub_perm",
+ code => $sub_perm,
+ description => $all_perms->{$flag}->{$sub_perm},
+ checked => 1
+ };
}
- } else {
- if (exists $user_perms->{$flag}) {
- $expand_parent = 1;
- # put selected ones first
- foreach my $sub_perm (sort keys %{ $user_perms->{$flag} }) {
- push @sub_perm_loop, {
- id => "${flag}_$sub_perm",
- perm => "$flag:$sub_perm",
- code => $sub_perm,
- description => $all_perms->{$flag}->{$sub_perm},
- checked => 1
- };
- }
+ }
+ } else {
+ if (exists $user_perms->{$flag}) {
+ $expand_parent = 1;
+ # put selected ones first
+ foreach my $sub_perm (sort keys %{ $user_perms->{$flag} }) {
+ push @sub_perm_loop, {
+ id => "${flag}_$sub_perm",
+ perm => "$flag:$sub_perm",
+ code => $sub_perm,
+ description => $all_perms->{$flag}->{$sub_perm},
+ checked => 1
+ };
}
- # then ones not selected
- if (exists $all_perms->{$flag}) {
- foreach my $sub_perm (sort keys %{ $all_perms->{$flag} }) {
- push @sub_perm_loop, {
- id => "${flag}_$sub_perm",
- perm => "$flag:$sub_perm",
- code => $sub_perm,
- description => $all_perms->{$flag}->{$sub_perm},
- checked => 0
- } unless exists $user_perms->{$flag} and exists $user_perms->{$flag}->{$sub_perm};
- }
+ }
+ # then ones not selected
+ if (exists $all_perms->{$flag}) {
+ foreach my $sub_perm (sort keys %{ $all_perms->{$flag} }) {
+ push @sub_perm_loop, {
+ id => "${flag}_$sub_perm",
+ perm => "$flag:$sub_perm",
+ code => $sub_perm,
+ description => $all_perms->{$flag}->{$sub_perm},
+ checked => 0
+ } unless exists $user_perms->{$flag} and exists $user_perms->{$flag}->{$sub_perm};
}
}
- $row{expand} = $expand_parent;
- if ($#sub_perm_loop > -1) {
+ }
+ $row{expand} = $expand_parent;
+ if ($#sub_perm_loop > -1) {
$row{sub_perm_loop} = \@sub_perm_loop;
- }
}
push @loop, \%row;
}
my $marcflavour = C4::Context->preference("marcflavour");
my $record = GetMarcBiblio($biblionumber);
-
+if ( ! $record ) {
+ print $query->redirect("/cgi-bin/koha/errors/404.pl");
+ exit;
+}
# some useful variables for enhanced content;
# in each case, we're grabbing the first value we find in
# the record and normalizing it
my $tagslib = &GetMarcStructure( 0, $itemtype );
my $biblio = GetBiblioData($biblionumber);
my $record = GetMarcBiblio($biblionumber);
-
+if ( ! $record ) {
+ print $query->redirect("/cgi-bin/koha/errors/404.pl");
+ exit;
+}
# open template
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
if ($view eq 'card') {
$xmlrecord = GetXmlBiblio($biblionumber) unless $xmlrecord;
-my $xslfile = C4::Context->config('intranetdir')."/koha-tmpl/intranet-tmpl/prog/en/xslt/compact.xsl";
+my $xslfile = C4::Context->config('opachtdocs')."/prog/en/xslt/compact.xsl";
my $parser = XML::LibXML->new();
my $xslt = XML::LibXSLT->new();
my $source = $parser->parse_string($xmlrecord);
);
}
- if ( defined $res->{'found'} && $res->{'found'} eq 'W' ) {
+ if ( defined $res->{'found'} && $res->{'found'} eq 'W' || $res->{'found'} eq 'T' ) {
my $item = $res->{'itemnumber'};
$item = GetBiblioFromItemNumber($item,undef);
$reserve{'wait'}= 1;
}
# set found to 1 if reserve is waiting for patron pickup
$reserve{'found'} = 1 if $res->{'found'} eq 'W';
+ $reserve{'intransit'} = 1 if $res->{'found'} eq 'T';
} elsif ($res->{priority} > 0) {
if (defined($res->{itemnumber})) {
my $item = GetItem($res->{itemnumber});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => '*' },
debug => 1,
}
);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => 'check_expiration' },
debug => 1,
}
);
query => $input,
type => 'intranet',
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'claim_serials'},
debug => 1,
});
my @categories=C4::Category->all;
my $branches=(defined $$patron{branchcode}?GetBranchesLoop($$patron{branchcode}):GetBranchesLoop());
+my $subscriptionid = $cgi->param('subscriptionid');
+my $searchstring = $cgi->param('member');
my %categories_dislay;
my ($template, $loggedinuser, $cookie);
query => $cgi,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {borrowers => 1},
+ flagsrequired => { serials => 'routing' },
});
foreach my $category (@categories){
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'routing'},
debug => 1,
});
$template->param("libraryname"=>$branchname);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'routing'},
debug => 1,
});
}
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'routing'},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => 'receive_serials'},
debug => 1,
});
my $biblionumber = $query->param('biblionumber');
print $query->redirect($string);
}
+
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
- template_name => "serials/serials-edit.tmpl",
- query => $query,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => { serials => 1 },
- debug => 1,
+ template_name => "serials/serials-edit.tmpl",
+ query => $query,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => {serials => 'receive_serials'},
+ debug => 1,
}
);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => '*' },
debug => 1,
}
);
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});
my $dbh = C4::Context->dbh;
my $sub_length;
+my @budgets;
+
+# Permission needed if it is a modification : edit_subscription
+# Permission needed otherwise (nothing or dup) : create_subscription
+my $permission = ($op eq "mod") ? "edit_subscription" : "create_subscription";
+
my ($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "serials/subscription-add.tmpl",
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => $permission},
debug => 1,
});
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
- flagsrequired => {catalogue => 1},
+ flagsrequired => {catalogue => 1, serials => '*'},
debug => 1,
});
numbers=>\@numbers,
);
} # end of if ($op eq "do_search" & $query)
- else {
+else {
+ ($template, $loggedinuser, $cookie)
+ = get_template_and_user({template_name => "serials/subscription-bib-search.tmpl",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => {catalogue => 1, serials => '*'},
+ debug => 1,
+ });
+ # load the itemtypes
+ my $itemtypes = GetItemTypes;
my @itemtypesloop;
if (!$advanced_search_types or $advanced_search_types eq 'itemtypes') {
# load the itemtypes
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {catalogue => 1, serials=>1},
+ flagsrequired => {catalogue => 1, serials => '*'},
debug => 1,
});
my $subscriptionid = $query->param('subscriptionid');
my $subs = GetSubscription($subscriptionid);
+$subs->{enddate} = GetExpirationDate($subscriptionid);
+
+if ($op && $op eq 'del') {
+ if ($subs->{'cannotedit'}){
+ carp "Attempt to delete subscription $subscriptionid by ".C4::Context->userenv->{'id'}." not allowed";
+ print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
+ }
+ DelSubscription($subscriptionid);
+ print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=serials-home.pl\"></html>";
+ exit;
+}
+my ($routing, @routinglist) = getroutinglist($subscriptionid);
+my ($totalissues,@serialslist) = GetSerials($subscriptionid);
+$totalissues-- if $totalissues; # the -1 is to have 0 if this is a new subscription (only 1 issue)
+# the subscription must be deletable if there is NO issues for a reason or another (should not happend, but...)
+
+# Permission needed if it is a deletion (del) : delete_subscription
+# Permission needed otherwise : *
+my $permission = ($op eq "del") ? "delete_subscription" : "*";
+
($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "serials/subscription-detail.tmpl",
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => $permission},
debug => 1,
});
query => $query,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { serials => 1 },
+ flagsrequired => { serials => 'renew_subscription' },
debug => 1,
}
);
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {serials => 1},
+ flagsrequired => {serials => '*'},
debug => 1,
});
Used to set several system preferences at once. Each preference you want to set
should be sent prefixed with pref. If you wanted to turn off the
-GranularPermissions syspref, for instance, you would POST the following:
+virtualshelves syspref, for instance, you would POST the following:
-pref_GranularPermissions=0
+pref_virtualshelves=0
=cut
--- /dev/null
+#!/usr/bin/perl
+#
+use strict;
+use warnings;
+
+use Test::More tests => 4;
+use Data::Dumper;
+
+BEGIN {
+ use_ok('C4::Installer::PerlModules');
+}
+
+my $obj = C4::Installer::PerlModules->new;
+
+isa_ok($obj,'C4::Installer::PerlModules');
+
+my $hash_ref = $obj->version_info(module => 'Test::More');
+
+my $control = $Test::More::VERSION;
+
+like($hash_ref->{'Test::More'}->{cur_ver}, qr/\d/, 'returns numeric version');
+
+ok($hash_ref->{'Test::More'}->{cur_ver} == $control, 'returns correct version');
+
+
my $branches = GetBranchesLoop(); # build once ahead of time, instead of multiple times later.
# Adding a default choice, in case the user does not want to modify the branch
-my @nochange_branch = { branchname => '', value => '', selected => 1 };
-unshift (@$branches, @nochange_branch);
+my $nochange_branch = { branchname => '', value => '', selected => 1 };
+unshift (@$branches, $nochange_branch);
my $pref_itemcallnumber = C4::Context->preference('itemcallnumber');
foreach my $thisbranch (@$branches) {
push @authorised_values, $thisbranch->{value};
$authorised_lib{$thisbranch->{value}} = $thisbranch->{branchname};
- $value = $thisbranch->{value} if $thisbranch->{selected};
}
+ $value = "";
}
elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "itemtypes" ) {
push @authorised_values, "" unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
use C4::Context;
-my $root_dir = C4::Context->config( 'intranetdir' ) . '/installer/data/mysql';
+my $root_dir = 'installer/data/mysql';
my $base_perms_file = "en/mandatory/userpermissions.sql";
my @trans_perms_files = qw(
+ de-DE/mandatory/userpermissions.sql
fr-FR/1-Obligatoire/userpermissions.sql
- uk-UA/mandatory/userpermissions.sql
- ru-RU/mandatory/userpermissions.sql
+ uk-UA/mandatory/permissions_and_user_flags.sql
+ ru-RU/mandatory/permissions_and_user_flags.sql
pl-PL/mandatory/userpermissions.sql
);
sub get_perms_from_file {
my $fh = shift;
my %perm;
+ my $found_insert = 0;
while ( <$fh> ) {
next if /^--/; # Comment line
+ $found_insert = 1 if /insert\s+into/i and /permissions/i;
+ next unless $found_insert;
#/VALUES.*\(\'([\w\-:]+)\'/;
/,\s*\'(.*?)\'/;
my $variable = $1;
use C4::Context;
-my $root_dir = C4::Context->config( 'intranetdir' ) . '/installer/data/mysql';
+my $root_dir = 'installer/data/mysql';
my $base_syspref_file = "en/mandatory/sysprefs.sql";
my @trans_syspref_files = qw(
+ de-DE/mandatory/sysprefs.sql
fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
- uk-UA/mandatory/system_preferences_optimal.sql
- ru-RU/mandatory/system_preferences_optimal.sql
+ uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
+ ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
pl-PL/mandatory/sysprefs.sql
);
/\(\'([\w\-:]+)\'/;
my $variable = $1;
next unless $variable;
+ # lowercase syspref - at present, systempreference lookup is not case-sensitive
+ $variable = lc $variable;
$syspref{$variable} = 1;
}
return \%syspref;