[intranet/impression, lib/impression_canon] modifications de l'AJAX
Ignore-this: 8beebdd91330205ba08932d269ccb6b * Ajout de l'option livret * agra{f,ph}es -> agrafage * paper -> papier * True & False au lieu d'utiliser des noms de constantes à rallonge darcs-hash:20090516014010-bd074-69a54cc50369c5351542a7b82ddf6b5215e421d1.gz
This commit is contained in:
parent
fdfd2254d3
commit
d87c41e637
4 changed files with 50 additions and 36 deletions
|
@ -172,11 +172,12 @@ class main(ModuleBase):
|
|||
#
|
||||
# methode pour changer les parametres
|
||||
#
|
||||
def changeSettings(self, copies=None, couleurs=None, recto_verso=None, agrafes=None, papier=None):
|
||||
def changeSettings(self, copies=None, couleur=None, recto_verso=None, agrafage=None, papier=None, livret=None):
|
||||
if not cherrypy.session.has_key('impression') or cherrypy.session['impression'] == None :
|
||||
return {'nouvPrix':0.0}
|
||||
try:
|
||||
nouvPrix = cherrypy.session['impression'].changeSettings(papier=papier, couleurs=couleurs, agraphes=agrafes, recto_verso=recto_verso, copies=int(copies))
|
||||
nouvPrix = cherrypy.session['impression'].changeSettings(papier=papier, couleur=couleur, agrafage=agrafage, recto_verso=recto_verso, copies=int(copies), livret=livret)
|
||||
crans.cp.log("changeSettings returns : %s" % str(nouvPrix))
|
||||
except Exception, e:
|
||||
crans.cp.log("changeSettings : %s" % str(e), 'IMPRESSION', 1)
|
||||
return {"erreur":str(e)}
|
||||
|
|
|
@ -129,6 +129,7 @@ Impression.settings.disableField = function(afield) {
|
|||
//
|
||||
Impression.settings.update = function () {
|
||||
var orientation = "portrait";
|
||||
Impression.settings.livret="False"
|
||||
if (this.theform.type_impression_couleur.checked)
|
||||
this.getValue(this.theform.type_impression_couleur);
|
||||
else
|
||||
|
@ -139,22 +140,25 @@ Impression.settings.update = function () {
|
|||
else if (this.theform.disposition_recto_verso.checked)
|
||||
this.getValue(this.theform.disposition_recto_verso);
|
||||
else
|
||||
this.getValue(this.theform.disposition_recto_verso_short);
|
||||
this.getValue(this.theform.papier);
|
||||
{
|
||||
this.getValue(this.theform.disposition_livret);
|
||||
Impression.settings.livret="True";
|
||||
}
|
||||
this.getValue(this.theform.papier);
|
||||
this.getCopies(this.theform.nb_copies);
|
||||
this.getValue(this.theform.agrafes);
|
||||
// Contraintes
|
||||
this.getValue(this.theform.agrafage);
|
||||
// Contraintes
|
||||
if (
|
||||
( this.papier != "A4" ) ||
|
||||
( (this.disposition == "recto") && (this.nb_pages>50) ) ||
|
||||
( (this.disposition == "rectoverso") && (this.nb_pages>100) ) ||
|
||||
( (this.disposition == "rectoversoshort") && (this.nb_pages>100) ))
|
||||
/* ( this.papier != "A4" ) || */
|
||||
( (this.disposition == "recto") && (this.nb_pages>50) ) ||
|
||||
( (this.disposition == "rectoverso") && (this.nb_pages>100) )
|
||||
)
|
||||
{
|
||||
this.setValue(this.theform.agrafes, "pasdagraphes");
|
||||
this.disableField(this.theform.agrafes);
|
||||
this.getValue(this.theform.agrafes);
|
||||
this.setValue(this.theform.agrafage, "None");
|
||||
this.disableField(this.theform.agrafage);
|
||||
this.getValue(this.theform.agrafage);
|
||||
} else {
|
||||
this.setDisableField(this.theform.agrafes, false);
|
||||
this.setDisableField(this.theform.agrafage, false);
|
||||
}
|
||||
if (this.papier == "A4tr")
|
||||
{
|
||||
|
@ -317,11 +321,12 @@ Impression.AJAX.analysefini = function(AJAXResp)
|
|||
Impression.AJAX.recalcPrix = function()
|
||||
{
|
||||
settings = Impression.settings;
|
||||
var url = "changeSettings?copies=" + settings.copies
|
||||
+"&couleurs="+ settings.type_impression
|
||||
+"&papier="+ settings.papier
|
||||
+"&recto_verso="+ settings.disposition
|
||||
+"&agrafes="+ settings.agrafes;
|
||||
var url = "changeSettings?copies=" + settings.copies
|
||||
+"&couleur="+ settings.type_impression
|
||||
+"&papier="+ settings.papier
|
||||
+"&recto_verso="+ settings.disposition
|
||||
+"&agrafage="+ settings.agrafage
|
||||
+"&livret="+ settings.livret;
|
||||
this.modifPrix("Calcul en cours", true);
|
||||
this.call(url, this.changePrix);
|
||||
}
|
||||
|
|
|
@ -19,10 +19,10 @@ Crans.messages.setMessage('$errorMsg.replace("\'","\\\'")', 'errorMessage')
|
|||
<div id="rightColumn">
|
||||
<fieldset><legend>Type d'impression</legend>
|
||||
<label for="type_impression_couleur" class="labelRadio compact">
|
||||
<input type="radio" name="type_impression" id="type_impression_couleur" class="inputRadio" value="$crans.impression.IMPRESSION_COULEUR" checked="checked" onclick="Impression.settings.update(this);" />
|
||||
<input type="radio" name="type_impression" id="type_impression_couleur" class="inputRadio" value="True" checked="checked" onclick="Impression.settings.update(this);" />
|
||||
Couleurs
|
||||
</label>
|
||||
<label for="type_impression_nb" class="labelRadio compact"><input type="radio" name="type_impression" id="type_impression_nb" class="inputRadio" value="$crans.impression.IMPRESSION_NB" onclick="Impression.settings.update(this);" />
|
||||
<label for="type_impression_nb" class="labelRadio compact"><input type="radio" name="type_impression" id="type_impression_nb" class="inputRadio" value="False" onclick="Impression.settings.update(this);" />
|
||||
Noir et blanc
|
||||
</label>
|
||||
</fieldset>
|
||||
|
@ -31,15 +31,15 @@ Crans.messages.setMessage('$errorMsg.replace("\'","\\\'")', 'errorMessage')
|
|||
|
||||
<label for="papier" class="labelInput">Papier:</label>
|
||||
<select name="papier" id="papier" class="selectOne" onchange="Impression.settings.update(this);">
|
||||
#for type_papier in $crans.impression.PAPIER_VALEURS_POSSIBLES
|
||||
<option value="$type_papier">$crans.impression.LABELS[type_papier]</option>
|
||||
#for type_papier in ['A4', 'A3']
|
||||
<option value="$type_papier">$crans.impression.impression_canon.DICT_PAPIER[type_papier]</option>
|
||||
#end for
|
||||
</select>
|
||||
<br />
|
||||
<label for="agrafes" class="labelInput">Agrafes:</label>
|
||||
<select name="agrafes" id="agrafes" class="selectOne" onchange="Impression.settings.update(this);">
|
||||
#for type_agrafes in $crans.impression.AGRAPHES_VALEURS_POSSIBLES
|
||||
<option value="$type_agrafes">$crans.impression.LABELS[type_agrafes]</option>
|
||||
<label for="agrafage" class="labelInput">Agrafes:</label>
|
||||
<select name="agrafage" id="agrafage" class="selectOne" onchange="Impression.settings.update(this);">
|
||||
#for type_agrafes in $crans.impression.impression_canon.DICT_AGRAFAGE.keys()
|
||||
<option value="$type_agrafes">$crans.impression.impression_canon.DICT_AGRAFAGE[type_agrafes]</option>
|
||||
#end for
|
||||
</select>
|
||||
<br />
|
||||
|
@ -50,16 +50,16 @@ Crans.messages.setMessage('$errorMsg.replace("\'","\\\'")', 'errorMessage')
|
|||
|
||||
<fieldset><legend>Disposition</legend>
|
||||
<label for="disposition_recto" class="labelRadio compact">
|
||||
<input type="radio" name="disposition" id="disposition_recto" class="inputRadio" value="$crans.impression.IMPRESSION_RECTO" onclick="Impression.settings.update(this);" />
|
||||
<input type="radio" name="disposition" id="disposition_recto" class="inputRadio" value="False" onclick="Impression.settings.update(this);" />
|
||||
Recto
|
||||
</label>
|
||||
<label for="disposition_recto_verso" class="labelRadio compact">
|
||||
<input type="radio" name="disposition" id="disposition_recto_verso" class="inputRadio" value="$crans.impression.IMPRESSION_RECTO_VERSO" checked="checked" onclick="Impression.settings.update(this);" />
|
||||
<input type="radio" name="disposition" id="disposition_recto_verso" class="inputRadio" value="True" checked="checked" onclick="Impression.settings.update(this);" />
|
||||
Recto-verso
|
||||
</label>
|
||||
<label for="disposition_recto_verso_short" class="labelRadio compact">
|
||||
<input type="radio" name="disposition" id="disposition_recto_verso_short" class="inputRadio" value="$crans.impression.IMPRESSION_RECTO_VERSO_SHORT" onclick="Impression.settings.update(this);" />
|
||||
Recto-verso court
|
||||
<label for="disposition_livret" class="labelRadio compact">
|
||||
<input type="radio" name="disposition" id="disposition_livret" class="inputRadio" value="True" onclick="Impression.settings.update(this);" />
|
||||
Livret avec piqûre à cheval
|
||||
</label>
|
||||
<a class="aide" href="http://wiki.crans.org/VieCrans/ImpressionReseau/Aide/Disposition">aide</a>
|
||||
</fieldset>
|
||||
|
|
|
@ -183,6 +183,10 @@ class impression:
|
|||
couleur = kw.get('couleur', None)
|
||||
if couleur in [True, False]:
|
||||
self._settings['couleur'] = couleur
|
||||
elif couleur == "True":
|
||||
self._settings['couleur'] = True
|
||||
elif couleur == "False":
|
||||
self._settings['couleur'] = False
|
||||
|
||||
try:
|
||||
if int(kw['copies']) >= 1:
|
||||
|
@ -191,6 +195,8 @@ class impression:
|
|||
pass
|
||||
|
||||
recto_verso = kw.get('recto_verso', None)
|
||||
if recto_verso == "True": recto_verso = True
|
||||
if recto_verso == "False": recto_verso = False
|
||||
if recto_verso in [True, False]:
|
||||
self._settings['recto_verso'] = recto_verso
|
||||
|
||||
|
@ -207,6 +213,8 @@ class impression:
|
|||
self._settings['agrafage'] = agrafage
|
||||
|
||||
livret = kw.get('livret', None)
|
||||
if livret == "True": livret = True
|
||||
if livret == "False": livret = False
|
||||
if livret in [True, False]:
|
||||
self._settings['livret'] = livret
|
||||
self._settings['portrait'] = not(livret)
|
||||
|
@ -330,9 +338,9 @@ class impression:
|
|||
c_impression = c_papier * pages + impression.c_face_nb * pages
|
||||
|
||||
# Cout des agrafes
|
||||
if self._settings['agrafe'] in ["Top", "Bottom", "Left", "Right"] or self._settings['livret']:
|
||||
if self._settings['agrafage'] in ["Top", "Bottom", "Left", "Right"] or self._settings['livret']:
|
||||
nb_agrafes = 2
|
||||
elif self._settings['agrafe'] in ["None", None]:
|
||||
elif self._settings['agrafage'] in ["None", None]:
|
||||
nb_agrafes = 0
|
||||
else:
|
||||
nb_agrafes = 1
|
||||
|
@ -397,10 +405,10 @@ class impression:
|
|||
#Indique la présence d'un bac de sortie avec agrafeuse
|
||||
# options += " -o Option20=MBMStaplerStacker -o OutputBin=StackerDown"
|
||||
|
||||
if self._settings['paper'] == 'A4tr':
|
||||
if self._settings['papier'] == 'A4tr':
|
||||
options += ' -o InputSlot=SideDeck -o MediaType=OHP'
|
||||
options += ' -o pdf-paper=571x817 -o PageSize=A4'
|
||||
elif self._settings['paper'] == 'A4':
|
||||
elif self._settings['papier'] == 'A4':
|
||||
options += ' -o pdf-paper=571x817 -o PageSize=A4'
|
||||
else:
|
||||
options += ' -o pdf-expand -o pdf-paper=825x1166 -o PageSize=A3'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue