fond en transparence
background: #FFF; filter: alpha(opacity=65); opacity:0.65;
installer spip : http://www.spip.net/fr_article402.html
premiers pas : http://www.spip.net/rubrique169.html
syndication : http://www.spip.net/fr_article3376.html
feuilles destyle : http://www.spip.net/fr_article2331.html
tuto mon premier squelette : http://www.spip.net/fr_article879.html
if __name__ == "__main__" :
if not scenario : # scenario = var. bool. globale
suite=unittest.TestLoader().loadTestsFromTestCase(T
estCompte)
unittest.TextTestRunner(verbosity=2).run(suite)
else :
c1=Compte(1000.0,1500.0,-500.0)
c1.depose(2000.0)
c1.retire(2500.0)
c1.retire(1500.0)
class Client:
def __init__(self,nom, anneeAdhesion, encours):
self.nom=nom
self.anneeAdhesion=anneeAdhesion
self.encours=encours
def donneEncours(self):
return self.encours
def donneAnneeAdhesion(self):
return self.anneeAdhesion
def __str__(self):
return "< " + self.nom + " " + str(self.anneeAdhesion) + " " + str(self.encours) + ">"
if __name__ == '__main__':
print "echo"
cl=Client("toto",2008,100)
print cl
La classe FilePriorite supporte les méthodes d'instance
ci-dessous :
– taille() : renvoie le nombre d'éléments dans la file
– estVide() : renvoie vrai si la file est vide et faux sinon
– insererElement(e) : insère un nouvel élément e dans la file. Une
exception NonCompatibleException est lancée si l'élément à insérer
n'est pas d'un type compatible (instance de Client)
– extraireElement() : renvoie et enlève de la file l'élément ayant la
plus grande priorité. Une exception FileVideException est lancée si
on essaie d'extraire d'une file vide
● Les éléments (objets de la classe Client) sont stockés
dans une variable d'instance de type list
● Cette variable d'instance de type list est initialisée à la liste
vide par le constructeur
reload(GraphClass)
import unittest
import GraphClass
class TestGraphClass(unittest.TestCase):
goodValues= ( ("s1",0),
("s2",1),
("s3",1),
("s4",2),
("s5",2),
)
def setUp(self):
gDict= { "s1" : { "s2" : "s1-s2" , "s5" : "s1-s5" },
"s2" : { "s3" : "s2-s3" , "s4" : "s2-s4" , "s5" : "s2-s5"},
"s5" : {"s4" : "s5-s4" }}
self.G = GraphClass.GraphClass("essai",gDict)
def testForSuccess(self):
for s , expectedResult in self.goodValues:
computedResult=self.G.calculeNbAntecedents(s)
self.assertEqual(expectedResult,computedResult)
def testRaisesBadVertexNameException(self):
self.assertRaises( GraphClass.BadVertexNameException,self.G.calculeNbAntecedents,"NomQuiCommencePasparUnS")
def testUnknownVertexException(self):
self.assertRaises( GraphClass.UnknownVertexException,self.G.calculeNbAntecedents,"s10000")
if __name__ == '__main__':
## unittest.main()
suite=unittest.TestLoader().loadTestsFromTestCase(TestGraphClass)
unittest.TextTestRunner(verbosity=2).run(suite)
- quelle longueur fait le nom le plus long d'une substance ?
- où enregistre-t-on la provision du client (nombre de fiches qu'il peut s'acheter) ?
Il faudrait rajouter une colonne PROVISION(integer[2]) dans
inereach_prosclt pour gérer le nombre de fiche que le client a le droit
d'acheter. Quand on crée le client on met provision à 0. Quand il
envoie un chèque à Inereach, l'entreprise lui met provision à 10.
- formulaire à multiple submit, comment récupérer la ligne du submit ?
- comment faire une msgbox (ok, annuler) de confirmation ?
- comment récupérer l'id client de la session en cours ?
; $Id: inereach.info,v 1.2 2009/03/16 12:14:34 dries Exp $
name = Inereach commercial
description = gestion des clients et prospects.
package = Core - optional
version = 1.0
; Information added by drupal.org packaging script on 2008-08-14
version = "5.10"
project = "drupal"
datestamp = "1218672307"
<?php
// $Id: panier.install,v 1.14.2.16.2.24 2008/10/06 05:55:37 quicksketch Exp $
/**
* Implementation of hook_install().
*/
function panier_install() {
$success = TRUE;
switch ($GLOBALS['db_type']) {
case 'mysqli':
case 'mysql':
$success = $success && db_query("CREATE TABLE if not exists {inereach_panier} (
id int(10) NOT NULL auto_increment,
id_prosclt int(12) NOT NULL,
cas varchar(12),
fiche varchar(30),
date date,
PRIMARY KEY (id)
)"
);
$success = $success && db_query("CREATE TABLE if not exists {inereach_suivi} (
id int(10) NOT NULL auto_increment,
id_prosclt int(12) NOT NULL,
cas varchar(12),
fiche varchar(30),
date date,
etat varchar(20),
PRIMARY KEY (id)
)"
);
break;
case 'pgsql':
$success = $success && db_query("CREATE TABLE {inereach_panier} (
id integer NOT NULL auto_increment,
id_prosclt int(12) NOT NULL,
cas varchar(12) NOT NULL default '',
fiche varchar(30) NOT NULL default '',
date date NOT NULL,
PRIMARY KEY (id)
)"
);
$success = $success && db_query("CREATE TABLE {inereach_suivi} (
id integer NOT NULL auto_increment,
id_prosclt int(12) NOT NULL,
cas varchar(12) NOT NULL default '',
fiche varchar(30) NOT NULL default '',
date date NOT NULL,
etat varchar(20) NOT NULL default 'commandé',
PRIMARY KEY (id)
)"
);
break;
}
$success = $success && db_query("UPDATE {system} SET weight = -1 WHERE name='panier' AND type='module'");
if ($success) {
drupal_set_message(t('panier module installed module tables successfully.'));
}
else {
drupal_set_message(t('The installation of panier module was unsuccessful.'), 'error');
}
}
/**
* Implementation of hook_uninstall().
*/
function panier_uninstall() {
// Drop tables.
db_query("DROP TABLE {inereach_panier}");
db_query("DROP TABLE {inereach_suivi}");
}
<?php
// $Id: panier.module,v 1.113.2.70.2.73 2008/10/14 21:51:45 quicksketch Exp $
/**
* Implementation of hook_perm().
*/
function panier_perm() {
return array('Panier Inereach');
}
/**
* Implementation of hook_menu().
*/
function panier_menu($section = "admin/menu#panier") {
$items = array();
$item[] = array(
'path' => 'panier/listing',
'title' => t('Panier inereach'),
'description' => t('Panier Inereach'),
'callback' => 'visu_panier_form', //nom de la fonction de creation
'access' => user_access('Panier Inereach'),
'type' => MENU_CALLBACK
);
return $item;
}
function visu_panier_form() {
$html .=drupal_get_form(panier_form);
return $html;
}
/**
* Implementation of hook_form().
*/
function panier_form() {
$form = array();
//recuperer l'id client de la session
$id_prosclt = ;
$resultat = db_query("SELECT *
FROM inereach_panier
WHERE inereach_panier.id_prosclt = '".$id_prosclt."'
");
$i = 0;
while($row = db_fetch_array($resultat))
{
$form[$i]['cas'] = array(
'#type'=> 'textfield',
'#title'=> 'CAS',
'#description'=> t("Numérom CAS"),
'#attributes' => array('readonly' => 'readonly'),
'#value'=> t($row['cas']),
);
$form[$i]['fiche'] = array(
'#type'=> 'textfield',
'#title'=> 'Fiche',
'#description'=> t("Nom de la fiche"),
'#attributes' => array('readonly' => 'readonly'),
'#value'=> t($row['fiche']),
);
$form[$i]['date'] = array(
'#type'=> 'textfield',
'#title'=> 'Date',
'#description'=> t("Date d'ajout"),
'#attributes' => array('readonly' => 'readonly'),
'#value'=> t($row['date']),
);
$form[$i]['suppr'] = array(
'#type'=> 'submit',
'#value'=> t("Supprimer"),
);
$form[$i]['submit'] = array(
'#type'=> 'submit',
'#value'=> t("Acheter"),
);
$i++;
}
return $form;
}
/**
* Implementation of hook_submit().
*/
function inscription_form_submit($form_id, $form_values) {
$resultat = db_query("SELECT *
FROM inereach_panier
WHERE inereach_panier.id_prosclt = '".$id_prosclt."'
");
$cpt = 0;
while($row = db_fetch_array($resultat))
{
if(isset($form_values[$i]['submit'])) {
//recuperer le nombre de fiches que le client peut acheter
$provision = db_query("SELECT provision
FROM inereach_prosclt
WHERE inereach_prosclt.id_prosclt = '".$id_prosclt."'
");
if($provision > 0){
db_query("INSERT INTO inereach_suivi(
id_prosclt,
cas,
fiche,
date
)
VALUES(
'".$id_prosclt."',
'".$form_values[$i]['cas']."',
'".$form_values[$i]['fiche']."',
'".$form_values[$i]['date']."'
)"
);
db_query("DELETE FROM inereach_panier
WHERE inereach_panier.id_prosclt = '".$id_prosclt."'
AND inereach_panier.cas = '".$form_values[$i]['cas']."'
");
drupal_set_message('Fiche commandée.');
else drupal_set_message('Vous ne pouvez plus acheter de fiches, veuillez nous contacter pour réapprovisionner votre compte.');
}
if(isset($form_values[$i]['suppr'])) {
db_query("DELETE FROM inereach_panier
WHERE inereach_panier.cas = '".$form_values[$i]['cas']."'
");
drupal_set_message('Fiche supprimée.');
}
}
$chemin = "panier/listing";
return $chemin;
}