Bugzilla – Attachment 48415 Details for
Bug 11904
Proposal for a uniform way to send messages to user interface
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11904: New module Koha::Messages
Bug-11904-New-module-KohaMessages.patch (text/plain), 41.85 KB, created by
Julian Maurice
on 2016-02-27 16:03:18 UTC
(
hide
)
Description:
Bug 11904: New module Koha::Messages
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2016-02-27 16:03:18 UTC
Size:
41.85 KB
patch
obsolete
>From b57f3f2c9ca384cbee10bcb400898ebf73b72ad6 Mon Sep 17 00:00:00 2001 >From: Julian Maurice <julian.maurice@biblibre.com> >Date: Mon, 10 Feb 2014 11:18:36 +0100 >Subject: [PATCH] Bug 11904: New module Koha::Messages > >This patch provides a uniform way to send messages to user interface. >It uses CGI::Session to store messages and allow to render them thanks >to a Template::Toolkit plugin (Koha::Template::Plugin::Messages) >and a template include file (messages.inc) > >This patch doesn't introduce the new template include file anywhere. It >will require additional patches to make it work. > >To use it, simply call messages_set() in a Perl script or module, then >put [% INCLUDE 'messages.inc' %] at the right place in the right >template file. > >See POD documentation of Koha::Messages for more information. >--- > Koha/Messages.pm | 141 +++++++++++++++++++++ > Koha/Template/Plugin/Messages.pm | 12 ++ > .../intranet-tmpl/prog/en/css/staff-global.css | 29 +++++ > .../intranet-tmpl/prog/en/includes/messages.inc | 19 +++ > .../intranet-tmpl/prog/img/messages-error.png | Bin 0 -> 709 bytes > .../intranet-tmpl/prog/img/messages-error.svg | 139 ++++++++++++++++++++ > koha-tmpl/intranet-tmpl/prog/img/messages-ok.png | Bin 0 -> 687 bytes > koha-tmpl/intranet-tmpl/prog/img/messages-ok.svg | 127 +++++++++++++++++++ > .../intranet-tmpl/prog/img/messages-warning.png | Bin 0 -> 508 bytes > .../intranet-tmpl/prog/img/messages-warning.svg | 98 ++++++++++++++ > .../opac-tmpl/bootstrap/en/includes/messages.inc | 19 +++ > .../opac-tmpl/bootstrap/images/messages-error.png | Bin 0 -> 709 bytes > .../opac-tmpl/bootstrap/images/messages-error.svg | 139 ++++++++++++++++++++ > .../opac-tmpl/bootstrap/images/messages-ok.png | Bin 0 -> 687 bytes > .../opac-tmpl/bootstrap/images/messages-ok.svg | 127 +++++++++++++++++++ > .../bootstrap/images/messages-warning.png | Bin 0 -> 508 bytes > .../bootstrap/images/messages-warning.svg | 98 ++++++++++++++ > koha-tmpl/opac-tmpl/bootstrap/less/opac.less | 25 ++++ > 18 files changed, 973 insertions(+) > create mode 100644 Koha/Messages.pm > create mode 100644 Koha/Template/Plugin/Messages.pm > create mode 100644 koha-tmpl/intranet-tmpl/prog/en/includes/messages.inc > create mode 100644 koha-tmpl/intranet-tmpl/prog/img/messages-error.png > create mode 100644 koha-tmpl/intranet-tmpl/prog/img/messages-error.svg > create mode 100644 koha-tmpl/intranet-tmpl/prog/img/messages-ok.png > create mode 100644 koha-tmpl/intranet-tmpl/prog/img/messages-ok.svg > create mode 100644 koha-tmpl/intranet-tmpl/prog/img/messages-warning.png > create mode 100644 koha-tmpl/intranet-tmpl/prog/img/messages-warning.svg > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/includes/messages.inc > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/images/messages-error.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/images/messages-error.svg > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/images/messages-ok.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/images/messages-ok.svg > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/images/messages-warning.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/images/messages-warning.svg > >diff --git a/Koha/Messages.pm b/Koha/Messages.pm >new file mode 100644 >index 0000000..8288ae3 >--- /dev/null >+++ b/Koha/Messages.pm >@@ -0,0 +1,141 @@ >+package Koha::Messages; >+ >+# Copyright 2014 BibLibre >+# >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use CGI; >+use C4::Auth qw( get_session ); >+ >+use base qw( Exporter ); >+our @EXPORT = qw( messages_set messages_get ); >+ >+=head1 NAME >+ >+Koha::Messages - Messages in user's session >+ >+=head1 SYNOPSIS >+ >+ use Koha::Messages; >+ >+ messages_set("Operation succeeded"); >+ messages_set("Something odd happened", "warning"); >+ messages_set("Operation failed", "error"); >+ >+ my $messages = messages_get(); >+ >+=head1 DESCRIPTION >+ >+This module provides a uniform way to send messages to user interface. >+ >+=head1 FUNCTIONS >+ >+=cut >+ >+sub session { >+ my $cgi = new CGI; >+ my $cgisessid = $cgi->cookie('CGISESSID') || ''; >+ return get_session($cgisessid); >+} >+ >+=head2 messages_set >+ >+ messages_set($message); >+ messages_set($message, $type); >+ >+This function store a message into user session with a given type. >+ >+=head3 Parameters >+ >+=over 2 >+ >+=item * $message: The message string to store >+ >+=item * $type: The type of message. Can be one of 'ok', 'warning', or 'error'. >+If not given, defaults to 'ok'. >+ >+=back >+ >+=cut >+ >+sub messages_set { >+ my ($message, $type) = @_; >+ >+ return unless $message; >+ >+ $type //= 'ok'; >+ >+ my $session = session; >+ my $messages = $session->param('messages') // {}; >+ $messages->{$type} //= []; >+ >+ push @{ $messages->{$type} }, $message; >+ >+ $session->param('messages', $messages); >+ >+ # Save session >+ $session->flush; >+} >+ >+=head2 messages_get >+ >+ $messages = messages_get(); >+ >+This function retrieves all messages in a hashref and remove them from user >+session. >+ >+=head3 Return value >+ >+A hashref where keys are the type of messages and values are arrayrefs of >+messages. >+ >+Example: >+ >+ $messages = { >+ 'ok' => [ >+ "Everything is ok", >+ "Operation succeeded" >+ ], >+ 'warning' => [ >+ "Something odd happended" >+ ], >+ }; >+ >+=cut >+ >+sub messages_get { >+ my $session = session; >+ >+ my $messages = $session->param('messages') // {}; >+ >+ # Empty messages >+ $session->param('messages', {}); >+ >+ # Save session >+ $session->flush; >+ >+ return $messages; >+} >+ >+=head1 SEE ALSO >+ >+Koha::Template::Plugin::Messages >+ >+=cut >+ >+1; >diff --git a/Koha/Template/Plugin/Messages.pm b/Koha/Template/Plugin/Messages.pm >new file mode 100644 >index 0000000..6b2d437 >--- /dev/null >+++ b/Koha/Template/Plugin/Messages.pm >@@ -0,0 +1,12 @@ >+package Koha::Template::Plugin::Messages; >+ >+use Modern::Perl; >+ >+use base qw( Template::Plugin ); >+use Koha::Messages; >+ >+sub Get { >+ return messages_get(); >+} >+ >+1; >diff --git a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >index d5f9b30..061ad15 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >+++ b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >@@ -2846,3 +2846,32 @@ td p.error { > td p.warn { > color: orange; > } >+ >+/* Messages */ >+div.messages { >+ background-color: white; >+ background-position: 5px 5px; >+ background-repeat: no-repeat; >+ border: 1px solid #b9d8d9; >+ border-radius: 4px; >+ -moz-border-radius: 4px; >+ -webkit-border-radius: 4px; >+ color: black; >+ margin: 10px 0; >+ padding: 5px 5px 5px 25px; >+} >+ >+div.messages.ok { >+ background-color: #f4f8f9; >+ background-image: url('../../img/messages-ok.png'); >+} >+ >+div.messages.warning { >+ background-color: #ffff99; >+ background-image: url('../../img/messages-warning.png'); >+} >+ >+div.messages.error { >+ background-color: #ff7777; >+ background-image: url('../../img/messages-error.png'); >+} >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/messages.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/messages.inc >new file mode 100644 >index 0000000..11ddb2a >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/messages.inc >@@ -0,0 +1,19 @@ >+[% USE Messages %] >+[% contents = Messages.Get() %] >+ >+[% FOREACH type IN contents.keys %] >+ [% messages = contents.$type %] >+ [% IF messages.size > 0 %] >+ <div class="messages [% type %]"> >+ [% IF messages.size > 1 %] >+ <ul> >+ [% FOREACH message IN contents.$type %] >+ <li>[% message %]</li> >+ [% END %] >+ </ul> >+ [% ELSE %] >+ [% messages.0 %] >+ [% END %] >+ </div> >+ [% END %] >+[% END %] >diff --git a/koha-tmpl/intranet-tmpl/prog/img/messages-error.png b/koha-tmpl/intranet-tmpl/prog/img/messages-error.png >new file mode 100644 >index 0000000000000000000000000000000000000000..bf720311f85023a46a9ef06be2164145d9c41b5e >GIT binary patch >literal 709 >zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000jF000jN1^@s6JJyv-00004b3#c}2nYxW >zd<bNS00009a7bBm0001e0001e0mn!W000008FWQhbW?9;ba!ELWdL_~cP?peYja~^ >zaAhuUa%Y?FJQ@H10zyedK~yM_U6ad8)L|5cpHHOBFd|TDLW~J&A;N5u0!jJ{T0}7$ >z7X`Jdpl!5j(=u#h)FRq7QITa3MTMazP0)l<Ak)vwI8)gbFQbmrJS}p}I&fC!y&O2_ >z4JvEvY6!{Q(76%X)<L`o(F}~dhyK%g;~%h!%1MYlfz%8*3;qPZgI~eV;1qZVQpX@x >z<*X9lLUtwue{R|0H}DJi2`qp)FxSvv1U`doazy}@hmiUXF7))coKE|>smVMz366tP >z?d_JL$o%2Mz5}mAN`-DnegeNVH(SnTRb3h$cCxY2EI5%!xSY$WI`{OcnGk#ho`od$ >zp{MGSZ)<Zoic~EQ4m#e^VQFkk)%kSVH(R&*5*!9ELl2K(U<}NHqu^K~VQG9^)yl%c >zA7Uos>+Rbe0tdk7;58Vi2@o#<)t=2{$elWc<uakJj!Ln}Xjd0=`8>;Oa6r6f9-<Pg >z4rpm%+l32++FC4^sj07LM|U@sO`BM2G7nMB4;Wchi^Yid_OhY1mBlFHeODJtg#w!o >z9H8~~Z7K~7e>a2?&O&k!d{I~DY&xy#!o-BbiG&Zqp?&*YEEH7z*w^PR@CJAslBisQ >z)HCqIxpOW~O*yn@j}O3m;9ao4qr>^hNnaj4>P_(c%AJGC!4P7H;CUnLT;JTxTrNii >z_ytr}-gtde6HC+6Ov8squ)kLep&E>XA;k8=#a(bj;NQ6X5gCP>ui#9t764Ys)jAPE >rvIRQpp{*9;Wr&I}G6DTp{!7(w`SXe9Ec??X00000NkvXXu0mjf_OUlU > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/prog/img/messages-error.svg b/koha-tmpl/intranet-tmpl/prog/img/messages-error.svg >new file mode 100644 >index 0000000..9a60c1b >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/img/messages-error.svg >@@ -0,0 +1,139 @@ >+<?xml version="1.0" encoding="UTF-8" standalone="no"?> >+<!-- Created with Inkscape (http://www.inkscape.org/) --> >+ >+<svg >+ xmlns:dc="http://purl.org/dc/elements/1.1/" >+ xmlns:cc="http://creativecommons.org/ns#" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:svg="http://www.w3.org/2000/svg" >+ xmlns="http://www.w3.org/2000/svg" >+ xmlns:xlink="http://www.w3.org/1999/xlink" >+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >+ width="210mm" >+ height="297mm" >+ id="svg2" >+ version="1.1" >+ inkscape:version="0.48.4 r9939" >+ sodipodi:docname="flash-error.svg"> >+ <defs >+ id="defs4"> >+ <linearGradient >+ id="linearGradient4515"> >+ <stop >+ style="stop-color:#ff0000;stop-opacity:1;" >+ offset="0" >+ id="stop4517" /> >+ <stop >+ style="stop-color:#aa0000;stop-opacity:1;" >+ offset="1" >+ id="stop4519" /> >+ </linearGradient> >+ <marker >+ inkscape:stockid="Arrow1Lstart" >+ orient="auto" >+ refY="0.0" >+ refX="0.0" >+ id="Arrow1Lstart" >+ style="overflow:visible"> >+ <path >+ id="path3855" >+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" >+ transform="scale(0.8) translate(12.5,0)" /> >+ </marker> >+ <linearGradient >+ id="linearGradient3056"> >+ <stop >+ style="stop-color:#007c00;stop-opacity:0.99242425;" >+ offset="0" >+ id="stop3073" /> >+ <stop >+ style="stop-color:#00ff00;stop-opacity:1;" >+ offset="1" >+ id="stop3060" /> >+ </linearGradient> >+ <linearGradient >+ inkscape:collect="always" >+ xlink:href="#linearGradient4515" >+ id="linearGradient4521" >+ x1="297.56363" >+ y1="370.95212" >+ x2="438.68622" >+ y2="716.45923" >+ gradientUnits="userSpaceOnUse" /> >+ </defs> >+ <sodipodi:namedview >+ id="base" >+ pagecolor="#ffffff" >+ bordercolor="#666666" >+ borderopacity="1.0" >+ inkscape:pageopacity="0.0" >+ inkscape:pageshadow="2" >+ inkscape:zoom="1.2519785" >+ inkscape:cx="366.50855" >+ inkscape:cy="515.91331" >+ inkscape:document-units="px" >+ inkscape:current-layer="layer1" >+ showgrid="false" >+ inkscape:window-width="1364" >+ inkscape:window-height="747" >+ inkscape:window-x="0" >+ inkscape:window-y="19" >+ inkscape:window-maximized="0" /> >+ <metadata >+ id="metadata7"> >+ <rdf:RDF> >+ <cc:Work >+ rdf:about=""> >+ <dc:format>image/svg+xml</dc:format> >+ <dc:type >+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >+ <dc:title></dc:title> >+ </cc:Work> >+ </rdf:RDF> >+ </metadata> >+ <g >+ inkscape:label="Calque 1" >+ inkscape:groupmode="layer" >+ id="layer1"> >+ <path >+ sodipodi:type="arc" >+ style="fill:url(#linearGradient4521);stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1;stroke-linejoin:miter;marker-start:none" >+ id="path2985" >+ sodipodi:cx="412.85715" >+ sodipodi:cy="573.79077" >+ sodipodi:rx="210" >+ sodipodi:ry="210" >+ d="m 622.85715,573.79077 a 210,210 0 1 1 -420,0 210,210 0 1 1 420,0 z" >+ transform="translate(-48.571429,-42.857143)" >+ clip-path="none" >+ inkscape:export-xdpi="3.1800001" >+ inkscape:export-ydpi="3.1800001" >+ inkscape:export-filename="/home/julian/mnt/lxc/koha-community/home/koha/src/koha-tmpl/intranet-tmpl/prog/img/flash-error.png" /> >+ <rect >+ style="fill:#ffffff;stroke:#b3b3b3;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-6" >+ width="34.285713" >+ height="157.14285" >+ x="491.42856" >+ y="805.2193" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.18947482;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995" >+ width="56.109856" >+ height="311.43195" >+ x="603.33112" >+ y="-44.856983" >+ transform="matrix(0.69707974,0.71699361,-0.69707974,0.71699361,0,0)" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.91251945;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-7" >+ width="54.651596" >+ height="314.63809" >+ x="-143.05527" >+ y="472.45291" >+ transform="matrix(0.70158587,-0.71258492,0.70158587,0.71258492,0,0)" >+ ry="0" /> >+ </g> >+</svg> >diff --git a/koha-tmpl/intranet-tmpl/prog/img/messages-ok.png b/koha-tmpl/intranet-tmpl/prog/img/messages-ok.png >new file mode 100644 >index 0000000000000000000000000000000000000000..712b12ba58bacccda9c2eea98b269704c9caa01d >GIT binary patch >literal 687 >zcmV;g0#N;lP)<h;3K|Lk000e1NJLTq000jF000jN1^@s6JJyv-00004b3#c}2nYxW >zd<bNS00009a7bBm0001e0001e0mn!W000008FWQhbW?9;ba!ELWdL_~cP?peYja~^ >zaAhuUa%Y?FJQ@H10xU^HK~yM_b(2j<6L1*De}AW8h~x)lE+#cSblG80AXpPRq;!d> >zXcrL*!7dIj3p;pH2tk$?i9kBq$_|lO10!^HQjuDsF+a$16<Qbso4Wm<4$H617k==< >z`#!wy;dzWCc9(fz{G6ti0zBm5CdmS8#F%A7t$Ms?SrU@qCQe=vW)<-Rv4Z%9NFcr- >z77<~>_;GG&j3mr0<K#A@xTwU!f6#XSi3J|vQ@;{909+!(F)B&IU-S=<gkWKivhp%F >z7YJqlzK5S#EFZDVV421e!}1Qx6qZRW<JivSPDxVqS5*1Ye9ImDIk@n#0j{)*#>0*5 >zy1q^O(RSLLZ3q!rjVP5&!Et=>glN%Zk)8NGp;RWNrg)QO6w4bdud%^+&}M8#lGG9J >z5HGMi$I?R-`dMZK+qKjsNlIptYKS#hUSb2&0h_jINm6&bTRg+^6iXP(eU=^6afJdZ >zhQAL}oL6jWifgDVtuyXJZh}=olWTJ6o$Dnq9uS+b%?j@woaZb@IKw7H5)sPt%T0A@ >zHQpkxaTo`EbA2?wZQc=X0BOWmh8&!vkP}=bogEG>4N*~0VZ0??X4Yn?AFQ`~E^Y$r >zzz0HEliW37s<=)jYY2xNw0K%f&s2|W#_l)GJOg^D8(Hy1<D`ZWN^l?GupNG~z&N!U >zQ^ITo!<;itJcMv@4Gs`~W`KEGHKqiB*_W!z#!o3e^6-$$Dbg&mPK;GXHMlobe*iM* >VLCg$(3CI8d002ovPDHLkV1m1>8=wFH > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/prog/img/messages-ok.svg b/koha-tmpl/intranet-tmpl/prog/img/messages-ok.svg >new file mode 100644 >index 0000000..53d9c1f >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/img/messages-ok.svg >@@ -0,0 +1,127 @@ >+<?xml version="1.0" encoding="UTF-8" standalone="no"?> >+<!-- Created with Inkscape (http://www.inkscape.org/) --> >+ >+<svg >+ xmlns:dc="http://purl.org/dc/elements/1.1/" >+ xmlns:cc="http://creativecommons.org/ns#" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:svg="http://www.w3.org/2000/svg" >+ xmlns="http://www.w3.org/2000/svg" >+ xmlns:xlink="http://www.w3.org/1999/xlink" >+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >+ width="210mm" >+ height="297mm" >+ id="svg2" >+ version="1.1" >+ inkscape:version="0.48.4 r9939" >+ sodipodi:docname="Nouveau document 1"> >+ <defs >+ id="defs4"> >+ <marker >+ inkscape:stockid="Arrow1Lstart" >+ orient="auto" >+ refY="0.0" >+ refX="0.0" >+ id="Arrow1Lstart" >+ style="overflow:visible"> >+ <path >+ id="path3855" >+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" >+ transform="scale(0.8) translate(12.5,0)" /> >+ </marker> >+ <linearGradient >+ id="linearGradient3056"> >+ <stop >+ style="stop-color:#007c00;stop-opacity:0.99242425;" >+ offset="0" >+ id="stop3073" /> >+ <stop >+ style="stop-color:#00ff00;stop-opacity:1;" >+ offset="1" >+ id="stop3060" /> >+ </linearGradient> >+ <linearGradient >+ inkscape:collect="always" >+ xlink:href="#linearGradient3056" >+ id="linearGradient3069" >+ gradientUnits="userSpaceOnUse" >+ x1="411.7222" >+ y1="760.62836" >+ x2="315.93134" >+ y2="353.03528" /> >+ </defs> >+ <sodipodi:namedview >+ id="base" >+ pagecolor="#ffffff" >+ bordercolor="#666666" >+ borderopacity="1.0" >+ inkscape:pageopacity="0.0" >+ inkscape:pageshadow="2" >+ inkscape:zoom="1.2329704" >+ inkscape:cx="198.6889" >+ inkscape:cy="524.50754" >+ inkscape:document-units="px" >+ inkscape:current-layer="layer1" >+ showgrid="false" >+ inkscape:window-width="1364" >+ inkscape:window-height="747" >+ inkscape:window-x="0" >+ inkscape:window-y="19" >+ inkscape:window-maximized="0" /> >+ <metadata >+ id="metadata7"> >+ <rdf:RDF> >+ <cc:Work >+ rdf:about=""> >+ <dc:format>image/svg+xml</dc:format> >+ <dc:type >+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >+ <dc:title></dc:title> >+ </cc:Work> >+ </rdf:RDF> >+ </metadata> >+ <g >+ inkscape:label="Calque 1" >+ inkscape:groupmode="layer" >+ id="layer1"> >+ <path >+ sodipodi:type="arc" >+ style="fill:url(#linearGradient3069);stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1;stroke-linejoin:miter;marker-start:none" >+ id="path2985" >+ sodipodi:cx="412.85715" >+ sodipodi:cy="573.79077" >+ sodipodi:rx="210" >+ sodipodi:ry="210" >+ d="m 622.85715,573.79077 a 210,210 0 1 1 -420,0 210,210 0 1 1 420,0 z" >+ transform="translate(-48.571429,-42.857143)" >+ clip-path="none" >+ inkscape:export-xdpi="3.1800001" >+ inkscape:export-ydpi="3.1800001" /> >+ <rect >+ style="fill:#ffffff;stroke:#b3b3b3;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-6" >+ width="34.285713" >+ height="157.14285" >+ x="491.42856" >+ y="805.2193" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.20195031;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995" >+ width="56.231792" >+ height="237.79759" >+ x="634.94287" >+ y="-57.230003" >+ transform="matrix(0.69707974,0.71699361,-0.69707974,0.71699361,0,0)" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:2.37494564;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-7" >+ width="55.077957" >+ height="187.32999" >+ x="-209.73082" >+ y="504.0864" >+ transform="matrix(0.69707974,-0.71699361,0.69707974,0.71699361,0,0)" >+ ry="0" /> >+ </g> >+</svg> >diff --git a/koha-tmpl/intranet-tmpl/prog/img/messages-warning.png b/koha-tmpl/intranet-tmpl/prog/img/messages-warning.png >new file mode 100644 >index 0000000000000000000000000000000000000000..3ca2d3372627dbfb4b3d7bfaac3163ece2a875f1 >GIT binary patch >literal 508 >zcmV<Y0R#StP)<h;3K|Lk000e1NJLTq000gE000dL1^@s6ncQE000004b3#c}2nYxW >zd<bNS00009a7bBm0001;0001;0grO$ZU6uP8FWQhbW?9;ba!ELWdL_~cP?peYja~^ >zaAhuUa%Y?FJQ@H10eMM8K~yM_g_6HZ13?glze&^>BvAqq!NWo!AjI-YF#$<oYy=f7 >z1QkIDA`<aOBiM+AtyWgHf{@yOKui@7OcO=4vr-FhBX^F)VT|O|g$K*-``$9MgQ^mw >zg9DZ}HkkYEzKwt-BJJfe>n|_7iO89%dM&1)w4)<7RZ-7F_x4x~^0XXeGW6WsaCdu) >z)@o?EOf{LL>tFEnlzmlnXb80|)EM;ekljDQnHdJ|?|E`vbZ`*u??<1X(aTF7ZJWMk >zZ>YK6>1no;NqQXz{7`Tluq>?ESvH%!4RCQ$Mr@mTW55`QMj;aM_r`#2vyjhAss)^w >zU?&zM_GKI%hE(bs?CvI!$*|q{GF7Eekg;Nsi%5hH*M%T`e8B4~&hatXQc15u0HdR9 >zg~N1wr5gje9E^{{`@0VT#N$M>S+)RVZH=jw70yMF<`=H7{pO_8KL@5>$2&P;vaPd| >y<w}JI*F`)JQAI?2g~Ld-iuhwl2oOLL35uW8!y_t~EU3W%0000<MNUMnLSTYyRn@lu > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/prog/img/messages-warning.svg b/koha-tmpl/intranet-tmpl/prog/img/messages-warning.svg >new file mode 100644 >index 0000000..e9d39c4 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/img/messages-warning.svg >@@ -0,0 +1,98 @@ >+<?xml version="1.0" encoding="UTF-8" standalone="no"?> >+<!-- Created with Inkscape (http://www.inkscape.org/) --> >+ >+<svg >+ xmlns:dc="http://purl.org/dc/elements/1.1/" >+ xmlns:cc="http://creativecommons.org/ns#" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:svg="http://www.w3.org/2000/svg" >+ xmlns="http://www.w3.org/2000/svg" >+ xmlns:xlink="http://www.w3.org/1999/xlink" >+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >+ width="210mm" >+ height="297mm" >+ id="svg2" >+ version="1.1" >+ inkscape:version="0.48.4 r9939" >+ sodipodi:docname="flash-warning.svg"> >+ <defs >+ id="defs4"> >+ <linearGradient >+ id="linearGradient3763"> >+ <stop >+ style="stop-color:#ffff00;stop-opacity:1;" >+ offset="0" >+ id="stop3765" /> >+ <stop >+ style="stop-color:#c8c800;stop-opacity:1;" >+ offset="1" >+ id="stop3767" /> >+ </linearGradient> >+ <linearGradient >+ inkscape:collect="always" >+ xlink:href="#linearGradient3763" >+ id="linearGradient3769" >+ x1="348.95874" >+ y1="423.19217" >+ x2="407.26358" >+ y2="545.02319" >+ gradientUnits="userSpaceOnUse" /> >+ </defs> >+ <sodipodi:namedview >+ id="base" >+ pagecolor="#ffffff" >+ bordercolor="#666666" >+ borderopacity="1.0" >+ inkscape:pageopacity="0.0" >+ inkscape:pageshadow="2" >+ inkscape:zoom="1.1491329" >+ inkscape:cx="330.01999" >+ inkscape:cy="616.34841" >+ inkscape:document-units="px" >+ inkscape:current-layer="layer1" >+ showgrid="false" >+ inkscape:window-width="1364" >+ inkscape:window-height="747" >+ inkscape:window-x="0" >+ inkscape:window-y="19" >+ inkscape:window-maximized="0" /> >+ <metadata >+ id="metadata7"> >+ <rdf:RDF> >+ <cc:Work >+ rdf:about=""> >+ <dc:format>image/svg+xml</dc:format> >+ <dc:type >+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >+ <dc:title></dc:title> >+ </cc:Work> >+ </rdf:RDF> >+ </metadata> >+ <g >+ inkscape:label="Calque 1" >+ inkscape:groupmode="layer" >+ id="layer1"> >+ <path >+ style="fill:url(#linearGradient3769);fill-opacity:1;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" >+ d="m 337.14285,331.78371 -157.22836,288.52615 315.32696,1.49397 z" >+ id="path2985" >+ inkscape:connector-curvature="0" >+ sodipodi:nodetypes="cccc" >+ inkscape:export-filename="/home/julian/mnt/lxc/koha-community/home/koha/src/koha-tmpl/intranet-tmpl/prog/img/flash-warning.png" >+ inkscape:export-xdpi="4.2852411" >+ inkscape:export-ydpi="4.2852411" /> >+ <flowRoot >+ xml:space="preserve" >+ id="flowRoot3755" >+ style="font-size:230px;font-style:normal;font-weight:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" >+ transform="matrix(1.763424,0,0,1,-257.54626,11.129779)"><flowRegion >+ id="flowRegion3757"><rect >+ id="rect3759" >+ width="116.60966" >+ height="209.72334" >+ x="279.34103" >+ y="385.77264" >+ style="font-size:230px;text-align:center;line-height:100%;text-anchor:middle" /></flowRegion><flowPara >+ id="flowPara3761">!</flowPara></flowRoot> </g> >+</svg> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/messages.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/messages.inc >new file mode 100644 >index 0000000..11ddb2a >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/messages.inc >@@ -0,0 +1,19 @@ >+[% USE Messages %] >+[% contents = Messages.Get() %] >+ >+[% FOREACH type IN contents.keys %] >+ [% messages = contents.$type %] >+ [% IF messages.size > 0 %] >+ <div class="messages [% type %]"> >+ [% IF messages.size > 1 %] >+ <ul> >+ [% FOREACH message IN contents.$type %] >+ <li>[% message %]</li> >+ [% END %] >+ </ul> >+ [% ELSE %] >+ [% messages.0 %] >+ [% END %] >+ </div> >+ [% END %] >+[% END %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/images/messages-error.png b/koha-tmpl/opac-tmpl/bootstrap/images/messages-error.png >new file mode 100644 >index 0000000000000000000000000000000000000000..bf720311f85023a46a9ef06be2164145d9c41b5e >GIT binary patch >literal 709 >zcmV;$0y_PPP)<h;3K|Lk000e1NJLTq000jF000jN1^@s6JJyv-00004b3#c}2nYxW >zd<bNS00009a7bBm0001e0001e0mn!W000008FWQhbW?9;ba!ELWdL_~cP?peYja~^ >zaAhuUa%Y?FJQ@H10zyedK~yM_U6ad8)L|5cpHHOBFd|TDLW~J&A;N5u0!jJ{T0}7$ >z7X`Jdpl!5j(=u#h)FRq7QITa3MTMazP0)l<Ak)vwI8)gbFQbmrJS}p}I&fC!y&O2_ >z4JvEvY6!{Q(76%X)<L`o(F}~dhyK%g;~%h!%1MYlfz%8*3;qPZgI~eV;1qZVQpX@x >z<*X9lLUtwue{R|0H}DJi2`qp)FxSvv1U`doazy}@hmiUXF7))coKE|>smVMz366tP >z?d_JL$o%2Mz5}mAN`-DnegeNVH(SnTRb3h$cCxY2EI5%!xSY$WI`{OcnGk#ho`od$ >zp{MGSZ)<Zoic~EQ4m#e^VQFkk)%kSVH(R&*5*!9ELl2K(U<}NHqu^K~VQG9^)yl%c >zA7Uos>+Rbe0tdk7;58Vi2@o#<)t=2{$elWc<uakJj!Ln}Xjd0=`8>;Oa6r6f9-<Pg >z4rpm%+l32++FC4^sj07LM|U@sO`BM2G7nMB4;Wchi^Yid_OhY1mBlFHeODJtg#w!o >z9H8~~Z7K~7e>a2?&O&k!d{I~DY&xy#!o-BbiG&Zqp?&*YEEH7z*w^PR@CJAslBisQ >z)HCqIxpOW~O*yn@j}O3m;9ao4qr>^hNnaj4>P_(c%AJGC!4P7H;CUnLT;JTxTrNii >z_ytr}-gtde6HC+6Ov8squ)kLep&E>XA;k8=#a(bj;NQ6X5gCP>ui#9t764Ys)jAPE >rvIRQpp{*9;Wr&I}G6DTp{!7(w`SXe9Ec??X00000NkvXXu0mjf_OUlU > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/images/messages-error.svg b/koha-tmpl/opac-tmpl/bootstrap/images/messages-error.svg >new file mode 100644 >index 0000000..9a60c1b >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/images/messages-error.svg >@@ -0,0 +1,139 @@ >+<?xml version="1.0" encoding="UTF-8" standalone="no"?> >+<!-- Created with Inkscape (http://www.inkscape.org/) --> >+ >+<svg >+ xmlns:dc="http://purl.org/dc/elements/1.1/" >+ xmlns:cc="http://creativecommons.org/ns#" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:svg="http://www.w3.org/2000/svg" >+ xmlns="http://www.w3.org/2000/svg" >+ xmlns:xlink="http://www.w3.org/1999/xlink" >+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >+ width="210mm" >+ height="297mm" >+ id="svg2" >+ version="1.1" >+ inkscape:version="0.48.4 r9939" >+ sodipodi:docname="flash-error.svg"> >+ <defs >+ id="defs4"> >+ <linearGradient >+ id="linearGradient4515"> >+ <stop >+ style="stop-color:#ff0000;stop-opacity:1;" >+ offset="0" >+ id="stop4517" /> >+ <stop >+ style="stop-color:#aa0000;stop-opacity:1;" >+ offset="1" >+ id="stop4519" /> >+ </linearGradient> >+ <marker >+ inkscape:stockid="Arrow1Lstart" >+ orient="auto" >+ refY="0.0" >+ refX="0.0" >+ id="Arrow1Lstart" >+ style="overflow:visible"> >+ <path >+ id="path3855" >+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" >+ transform="scale(0.8) translate(12.5,0)" /> >+ </marker> >+ <linearGradient >+ id="linearGradient3056"> >+ <stop >+ style="stop-color:#007c00;stop-opacity:0.99242425;" >+ offset="0" >+ id="stop3073" /> >+ <stop >+ style="stop-color:#00ff00;stop-opacity:1;" >+ offset="1" >+ id="stop3060" /> >+ </linearGradient> >+ <linearGradient >+ inkscape:collect="always" >+ xlink:href="#linearGradient4515" >+ id="linearGradient4521" >+ x1="297.56363" >+ y1="370.95212" >+ x2="438.68622" >+ y2="716.45923" >+ gradientUnits="userSpaceOnUse" /> >+ </defs> >+ <sodipodi:namedview >+ id="base" >+ pagecolor="#ffffff" >+ bordercolor="#666666" >+ borderopacity="1.0" >+ inkscape:pageopacity="0.0" >+ inkscape:pageshadow="2" >+ inkscape:zoom="1.2519785" >+ inkscape:cx="366.50855" >+ inkscape:cy="515.91331" >+ inkscape:document-units="px" >+ inkscape:current-layer="layer1" >+ showgrid="false" >+ inkscape:window-width="1364" >+ inkscape:window-height="747" >+ inkscape:window-x="0" >+ inkscape:window-y="19" >+ inkscape:window-maximized="0" /> >+ <metadata >+ id="metadata7"> >+ <rdf:RDF> >+ <cc:Work >+ rdf:about=""> >+ <dc:format>image/svg+xml</dc:format> >+ <dc:type >+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >+ <dc:title></dc:title> >+ </cc:Work> >+ </rdf:RDF> >+ </metadata> >+ <g >+ inkscape:label="Calque 1" >+ inkscape:groupmode="layer" >+ id="layer1"> >+ <path >+ sodipodi:type="arc" >+ style="fill:url(#linearGradient4521);stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1;stroke-linejoin:miter;marker-start:none" >+ id="path2985" >+ sodipodi:cx="412.85715" >+ sodipodi:cy="573.79077" >+ sodipodi:rx="210" >+ sodipodi:ry="210" >+ d="m 622.85715,573.79077 a 210,210 0 1 1 -420,0 210,210 0 1 1 420,0 z" >+ transform="translate(-48.571429,-42.857143)" >+ clip-path="none" >+ inkscape:export-xdpi="3.1800001" >+ inkscape:export-ydpi="3.1800001" >+ inkscape:export-filename="/home/julian/mnt/lxc/koha-community/home/koha/src/koha-tmpl/intranet-tmpl/prog/img/flash-error.png" /> >+ <rect >+ style="fill:#ffffff;stroke:#b3b3b3;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-6" >+ width="34.285713" >+ height="157.14285" >+ x="491.42856" >+ y="805.2193" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.18947482;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995" >+ width="56.109856" >+ height="311.43195" >+ x="603.33112" >+ y="-44.856983" >+ transform="matrix(0.69707974,0.71699361,-0.69707974,0.71699361,0,0)" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.91251945;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-7" >+ width="54.651596" >+ height="314.63809" >+ x="-143.05527" >+ y="472.45291" >+ transform="matrix(0.70158587,-0.71258492,0.70158587,0.71258492,0,0)" >+ ry="0" /> >+ </g> >+</svg> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/images/messages-ok.png b/koha-tmpl/opac-tmpl/bootstrap/images/messages-ok.png >new file mode 100644 >index 0000000000000000000000000000000000000000..712b12ba58bacccda9c2eea98b269704c9caa01d >GIT binary patch >literal 687 >zcmV;g0#N;lP)<h;3K|Lk000e1NJLTq000jF000jN1^@s6JJyv-00004b3#c}2nYxW >zd<bNS00009a7bBm0001e0001e0mn!W000008FWQhbW?9;ba!ELWdL_~cP?peYja~^ >zaAhuUa%Y?FJQ@H10xU^HK~yM_b(2j<6L1*De}AW8h~x)lE+#cSblG80AXpPRq;!d> >zXcrL*!7dIj3p;pH2tk$?i9kBq$_|lO10!^HQjuDsF+a$16<Qbso4Wm<4$H617k==< >z`#!wy;dzWCc9(fz{G6ti0zBm5CdmS8#F%A7t$Ms?SrU@qCQe=vW)<-Rv4Z%9NFcr- >z77<~>_;GG&j3mr0<K#A@xTwU!f6#XSi3J|vQ@;{909+!(F)B&IU-S=<gkWKivhp%F >z7YJqlzK5S#EFZDVV421e!}1Qx6qZRW<JivSPDxVqS5*1Ye9ImDIk@n#0j{)*#>0*5 >zy1q^O(RSLLZ3q!rjVP5&!Et=>glN%Zk)8NGp;RWNrg)QO6w4bdud%^+&}M8#lGG9J >z5HGMi$I?R-`dMZK+qKjsNlIptYKS#hUSb2&0h_jINm6&bTRg+^6iXP(eU=^6afJdZ >zhQAL}oL6jWifgDVtuyXJZh}=olWTJ6o$Dnq9uS+b%?j@woaZb@IKw7H5)sPt%T0A@ >zHQpkxaTo`EbA2?wZQc=X0BOWmh8&!vkP}=bogEG>4N*~0VZ0??X4Yn?AFQ`~E^Y$r >zzz0HEliW37s<=)jYY2xNw0K%f&s2|W#_l)GJOg^D8(Hy1<D`ZWN^l?GupNG~z&N!U >zQ^ITo!<;itJcMv@4Gs`~W`KEGHKqiB*_W!z#!o3e^6-$$Dbg&mPK;GXHMlobe*iM* >VLCg$(3CI8d002ovPDHLkV1m1>8=wFH > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/images/messages-ok.svg b/koha-tmpl/opac-tmpl/bootstrap/images/messages-ok.svg >new file mode 100644 >index 0000000..53d9c1f >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/images/messages-ok.svg >@@ -0,0 +1,127 @@ >+<?xml version="1.0" encoding="UTF-8" standalone="no"?> >+<!-- Created with Inkscape (http://www.inkscape.org/) --> >+ >+<svg >+ xmlns:dc="http://purl.org/dc/elements/1.1/" >+ xmlns:cc="http://creativecommons.org/ns#" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:svg="http://www.w3.org/2000/svg" >+ xmlns="http://www.w3.org/2000/svg" >+ xmlns:xlink="http://www.w3.org/1999/xlink" >+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >+ width="210mm" >+ height="297mm" >+ id="svg2" >+ version="1.1" >+ inkscape:version="0.48.4 r9939" >+ sodipodi:docname="Nouveau document 1"> >+ <defs >+ id="defs4"> >+ <marker >+ inkscape:stockid="Arrow1Lstart" >+ orient="auto" >+ refY="0.0" >+ refX="0.0" >+ id="Arrow1Lstart" >+ style="overflow:visible"> >+ <path >+ id="path3855" >+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " >+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" >+ transform="scale(0.8) translate(12.5,0)" /> >+ </marker> >+ <linearGradient >+ id="linearGradient3056"> >+ <stop >+ style="stop-color:#007c00;stop-opacity:0.99242425;" >+ offset="0" >+ id="stop3073" /> >+ <stop >+ style="stop-color:#00ff00;stop-opacity:1;" >+ offset="1" >+ id="stop3060" /> >+ </linearGradient> >+ <linearGradient >+ inkscape:collect="always" >+ xlink:href="#linearGradient3056" >+ id="linearGradient3069" >+ gradientUnits="userSpaceOnUse" >+ x1="411.7222" >+ y1="760.62836" >+ x2="315.93134" >+ y2="353.03528" /> >+ </defs> >+ <sodipodi:namedview >+ id="base" >+ pagecolor="#ffffff" >+ bordercolor="#666666" >+ borderopacity="1.0" >+ inkscape:pageopacity="0.0" >+ inkscape:pageshadow="2" >+ inkscape:zoom="1.2329704" >+ inkscape:cx="198.6889" >+ inkscape:cy="524.50754" >+ inkscape:document-units="px" >+ inkscape:current-layer="layer1" >+ showgrid="false" >+ inkscape:window-width="1364" >+ inkscape:window-height="747" >+ inkscape:window-x="0" >+ inkscape:window-y="19" >+ inkscape:window-maximized="0" /> >+ <metadata >+ id="metadata7"> >+ <rdf:RDF> >+ <cc:Work >+ rdf:about=""> >+ <dc:format>image/svg+xml</dc:format> >+ <dc:type >+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >+ <dc:title></dc:title> >+ </cc:Work> >+ </rdf:RDF> >+ </metadata> >+ <g >+ inkscape:label="Calque 1" >+ inkscape:groupmode="layer" >+ id="layer1"> >+ <path >+ sodipodi:type="arc" >+ style="fill:url(#linearGradient3069);stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1;stroke-linejoin:miter;marker-start:none" >+ id="path2985" >+ sodipodi:cx="412.85715" >+ sodipodi:cy="573.79077" >+ sodipodi:rx="210" >+ sodipodi:ry="210" >+ d="m 622.85715,573.79077 a 210,210 0 1 1 -420,0 210,210 0 1 1 420,0 z" >+ transform="translate(-48.571429,-42.857143)" >+ clip-path="none" >+ inkscape:export-xdpi="3.1800001" >+ inkscape:export-ydpi="3.1800001" /> >+ <rect >+ style="fill:#ffffff;stroke:#b3b3b3;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-6" >+ width="34.285713" >+ height="157.14285" >+ x="491.42856" >+ y="805.2193" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.20195031;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995" >+ width="56.231792" >+ height="237.79759" >+ x="634.94287" >+ y="-57.230003" >+ transform="matrix(0.69707974,0.71699361,-0.69707974,0.71699361,0,0)" /> >+ <rect >+ style="fill:#ffffff;stroke:#ffffff;stroke-width:2.37494564;stroke-miterlimit:4;stroke-dasharray:none" >+ id="rect2995-7" >+ width="55.077957" >+ height="187.32999" >+ x="-209.73082" >+ y="504.0864" >+ transform="matrix(0.69707974,-0.71699361,0.69707974,0.71699361,0,0)" >+ ry="0" /> >+ </g> >+</svg> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/images/messages-warning.png b/koha-tmpl/opac-tmpl/bootstrap/images/messages-warning.png >new file mode 100644 >index 0000000000000000000000000000000000000000..3ca2d3372627dbfb4b3d7bfaac3163ece2a875f1 >GIT binary patch >literal 508 >zcmV<Y0R#StP)<h;3K|Lk000e1NJLTq000gE000dL1^@s6ncQE000004b3#c}2nYxW >zd<bNS00009a7bBm0001;0001;0grO$ZU6uP8FWQhbW?9;ba!ELWdL_~cP?peYja~^ >zaAhuUa%Y?FJQ@H10eMM8K~yM_g_6HZ13?glze&^>BvAqq!NWo!AjI-YF#$<oYy=f7 >z1QkIDA`<aOBiM+AtyWgHf{@yOKui@7OcO=4vr-FhBX^F)VT|O|g$K*-``$9MgQ^mw >zg9DZ}HkkYEzKwt-BJJfe>n|_7iO89%dM&1)w4)<7RZ-7F_x4x~^0XXeGW6WsaCdu) >z)@o?EOf{LL>tFEnlzmlnXb80|)EM;ekljDQnHdJ|?|E`vbZ`*u??<1X(aTF7ZJWMk >zZ>YK6>1no;NqQXz{7`Tluq>?ESvH%!4RCQ$Mr@mTW55`QMj;aM_r`#2vyjhAss)^w >zU?&zM_GKI%hE(bs?CvI!$*|q{GF7Eekg;Nsi%5hH*M%T`e8B4~&hatXQc15u0HdR9 >zg~N1wr5gje9E^{{`@0VT#N$M>S+)RVZH=jw70yMF<`=H7{pO_8KL@5>$2&P;vaPd| >y<w}JI*F`)JQAI?2g~Ld-iuhwl2oOLL35uW8!y_t~EU3W%0000<MNUMnLSTYyRn@lu > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/images/messages-warning.svg b/koha-tmpl/opac-tmpl/bootstrap/images/messages-warning.svg >new file mode 100644 >index 0000000..e9d39c4 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/images/messages-warning.svg >@@ -0,0 +1,98 @@ >+<?xml version="1.0" encoding="UTF-8" standalone="no"?> >+<!-- Created with Inkscape (http://www.inkscape.org/) --> >+ >+<svg >+ xmlns:dc="http://purl.org/dc/elements/1.1/" >+ xmlns:cc="http://creativecommons.org/ns#" >+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >+ xmlns:svg="http://www.w3.org/2000/svg" >+ xmlns="http://www.w3.org/2000/svg" >+ xmlns:xlink="http://www.w3.org/1999/xlink" >+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" >+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" >+ width="210mm" >+ height="297mm" >+ id="svg2" >+ version="1.1" >+ inkscape:version="0.48.4 r9939" >+ sodipodi:docname="flash-warning.svg"> >+ <defs >+ id="defs4"> >+ <linearGradient >+ id="linearGradient3763"> >+ <stop >+ style="stop-color:#ffff00;stop-opacity:1;" >+ offset="0" >+ id="stop3765" /> >+ <stop >+ style="stop-color:#c8c800;stop-opacity:1;" >+ offset="1" >+ id="stop3767" /> >+ </linearGradient> >+ <linearGradient >+ inkscape:collect="always" >+ xlink:href="#linearGradient3763" >+ id="linearGradient3769" >+ x1="348.95874" >+ y1="423.19217" >+ x2="407.26358" >+ y2="545.02319" >+ gradientUnits="userSpaceOnUse" /> >+ </defs> >+ <sodipodi:namedview >+ id="base" >+ pagecolor="#ffffff" >+ bordercolor="#666666" >+ borderopacity="1.0" >+ inkscape:pageopacity="0.0" >+ inkscape:pageshadow="2" >+ inkscape:zoom="1.1491329" >+ inkscape:cx="330.01999" >+ inkscape:cy="616.34841" >+ inkscape:document-units="px" >+ inkscape:current-layer="layer1" >+ showgrid="false" >+ inkscape:window-width="1364" >+ inkscape:window-height="747" >+ inkscape:window-x="0" >+ inkscape:window-y="19" >+ inkscape:window-maximized="0" /> >+ <metadata >+ id="metadata7"> >+ <rdf:RDF> >+ <cc:Work >+ rdf:about=""> >+ <dc:format>image/svg+xml</dc:format> >+ <dc:type >+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> >+ <dc:title></dc:title> >+ </cc:Work> >+ </rdf:RDF> >+ </metadata> >+ <g >+ inkscape:label="Calque 1" >+ inkscape:groupmode="layer" >+ id="layer1"> >+ <path >+ style="fill:url(#linearGradient3769);fill-opacity:1;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" >+ d="m 337.14285,331.78371 -157.22836,288.52615 315.32696,1.49397 z" >+ id="path2985" >+ inkscape:connector-curvature="0" >+ sodipodi:nodetypes="cccc" >+ inkscape:export-filename="/home/julian/mnt/lxc/koha-community/home/koha/src/koha-tmpl/intranet-tmpl/prog/img/flash-warning.png" >+ inkscape:export-xdpi="4.2852411" >+ inkscape:export-ydpi="4.2852411" /> >+ <flowRoot >+ xml:space="preserve" >+ id="flowRoot3755" >+ style="font-size:230px;font-style:normal;font-weight:normal;text-align:center;line-height:100%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" >+ transform="matrix(1.763424,0,0,1,-257.54626,11.129779)"><flowRegion >+ id="flowRegion3757"><rect >+ id="rect3759" >+ width="116.60966" >+ height="209.72334" >+ x="279.34103" >+ y="385.77264" >+ style="font-size:230px;text-align:center;line-height:100%;text-anchor:middle" /></flowRegion><flowPara >+ id="flowPara3761">!</flowPara></flowRoot> </g> >+</svg> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/less/opac.less b/koha-tmpl/opac-tmpl/bootstrap/less/opac.less >index 447e255..e9702ea 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/less/opac.less >+++ b/koha-tmpl/opac-tmpl/bootstrap/less/opac.less >@@ -2508,4 +2508,29 @@ a.reviewlink:visited { > cursor: pointer; > } > >+/* Messages */ >+div.messages { >+ background-color: white; >+ background-position: 5px 5px; >+ background-repeat: no-repeat; >+ border: 1px solid #b9d8d9; >+ .border-radius-all(4px); >+ color: black; >+ margin: 10px 20px; >+ padding: 5px 5px 5px 25px; >+ >+ &.ok { >+ background-color: #f4f8f9; >+ background-image: url('../images/messages-ok.png'); >+ } >+ &.warning { >+ background-color: #ffff99; >+ background-image: url('../images/messages-warning.png'); >+ } >+ &.error { >+ background-color: #ff7777; >+ background-image: url('../images/messages-error.png'); >+ } >+} >+ > @import "responsive.less"; >-- >1.9.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11904
:
25910
|
25911
|
25912
|
27940
|
27941
|
27942
|
29545
|
29546
|
29547
|
29552
|
29553
|
29554
|
30579
|
30580
|
30581
|
38522
|
38523
|
38524
|
40960
|
40961
|
40962
|
48415
|
48416
|
48417
|
48418
|
49059
|
49060
|
49061
|
49263
|
49264
|
49265