Ticket #3102: patch_null_and_integer.svndiff

File patch_null_and_integer.svndiff, 3.4 kB (added by benoitg, 7 months ago)

Patch for #3102

Line 
1 Index: burndown/burndown.py
2 ===================================================================
3 --- burndown/burndown.py        (revision 3861)
4 +++ burndown/burndown.py        (working copy)
5 @@ -67,13 +67,13 @@
6              print >> sys.stderr, 'Attempting to create the burndown table'
7              # Create the burndown table in the database
8              sqlBurndownCreate = "CREATE TABLE burndown (" \
9 -                                            "    id integer PRIMARY KEY NOT NULL,"\
10 +                                            "    id serial PRIMARY KEY NOT NULL,"\
11                                              "    component_name text NOT NULL,"\
12                                              "    milestone_name text NOT NULL," \
13                                              "    date text,"\
14                                              "    week text,"\
15                                              "    year text,"\
16 -                                            "    hours_remaining integer NOT NULL"\
17 +                                            "    hours_remaining float NOT NULL"\
18                                              ")"
19                                          
20              cursor.execute(sqlBurndownCreate)
21 @@ -84,14 +84,16 @@
22              """CREATE TEMP TABLE burndown_old as SELECT * FROM burndown;""",
23              """DROP TABLE burndown;""",
24              """CREATE TABLE burndown (
25 -                    id integer PRIMARY KEY NOT NULL,
26 +                    id serial PRIMARY KEY NOT NULL,
27                      component_name text NOT NULL,
28                      milestone_name text NOT NULL,
29                      date text,
30                      week text,
31                      year text,
32 -                    hours_remaining integer NOT NULL
33 -                );""",
34 +                    hours_remaining float NOT NULL
35 +                );
36 +                setval(burndown_id_seq,(SELECT MAX(id) FROM burndown_old));
37 +            """,
38              """INSERT INTO burndown(id,component_name,milestone_name,date,hours_remaining)
39              SELECT id,component_name,milestone_name,date,hours_remaining FROM burndown_old;"""
40              ]
41 @@ -139,7 +141,7 @@
42  
43      def get_navigation_items(self, req):
44          if req.perm.has_permission("BURNDOWN_VIEW"):
45 -            yield 'mainnav', 'burndown', Markup('<a href="%s">Burndown</a>', self.env.href.burndown())
46 +            yield 'mainnav', 'burndown', Markup('<a href="%s">Burndown</a>') % self.env.href.burndown()
47  
48      #---------------------------------------------------------------------------
49      # IPermissionRequestor methods
50 @@ -327,7 +329,7 @@
51                          cursor.execute("UPDATE burndown SET hours_remaining = '%f' WHERE date = '%s' AND milestone_name = '%s'"\
52                                          "AND component_name = '%s'" % (hours, today, mile[0], comp[0]))
53                      else:
54 -                        cursor.execute("INSERT INTO burndown(id,component_name, milestone_name, date, hours_remaining) "\
55 -                                        "    VALUES(NULL,'%s','%s','%s',%f)" % (comp[0], mile[0], today, hours))
56 +                        cursor.execute("INSERT INTO burndown(component_name, milestone_name, date, hours_remaining) "\
57 +                                        "    VALUES('%s','%s','%s',%f)" % (comp[0], mile[0], today, hours))
58                                          
59          db.commit()