Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/boards/python/admin/constants.py
blob: f280999ca6a4191a6520d266bf241b6483936da1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#  gcompris - constants.py
#
# Copyright (C) 2005 Bruno Coudoin and Yves Combe
#
#   This program 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 2 of the License, or
#   (at your option) any later version.
#
#   This program 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 this program; if not, write to the Free Software
#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#


# Some common constants for the administration

COLUMN_WIDTH_LOGIN                   = 80
COLUMN_WIDTH_FIRSTNAME               = 100
COLUMN_WIDTH_LASTNAME                = 180
COLUMN_WIDTH_BIRTHDATE               = 40

COLUMN_WIDTH_CLASSNAME               = 100
COLUMN_WIDTH_TEACHER                 = 300

COLUMN_WIDTH_GROUPNAME               = 100
COLUMN_WIDTH_GROUPDESCRIPTION        = 200
COLUMN_WIDTH_GROUPDESCRIPTION_EDIT   = 150

COLUMN_WIDTH_PROFILENAME             = 100
COLUMN_WIDTH_PROFILEDESCRIPTION      = 300

COLUMN_WIDTH_DATE                    = 140
COLUMN_WIDTH_NUMBER                  = 50
#
# Some utility method
# -------------------

# Return the next class id in the base
# Params are db_connect, db_cursor
def get_next_class_id(con, cur):
    cur.execute('select max(class_id) from class')
    class_id = cur.fetchone()[0]

    if(class_id == None):
        class_id=0
    else:
        class_id += 1

    return class_id



# Return the next group id in the base
# Params are db_connect, db_cursor
def get_next_group_id(con, cur):
    cur.execute('select max(group_id) from groups')
    group_id = cur.fetchone()[0]

    if(group_id == None):
        group_id=0
    else:
        group_id += 1

    return group_id


# Return the next profile id in the base
# Params are db_connect, db_cursor
def get_next_profile_id(con, cur):
    cur.execute('select max(profile_id) from profiles')
    profile_id = cur.fetchone()[0]

    if(profile_id == None):
        profile_id=0
    else:
        profile_id += 1

    return profile_id


# get_wholegroup_id
# From the given class_id, return it's wholegroup_id
# Params are db_connect, db_cursor, class_id
def get_wholegroup_id(con, cur, class_id):
    cur.execute('SELECT wholegroup_id FROM class WHERE class_id=?',
                (class_id,))
    return(cur.fetchone()[0])


# get_class_name_for_group_id
# From the given group_id, return it's class name
# Or "" if not found
def get_class_name_for_group_id(con, cur, group_id):

    class_name = ""

    # Extract the class name of this group
    cur.execute('SELECT class_id FROM groups WHERE group_id=?',
                     (group_id,))
    result = cur.fetchall()
    if(result):
        class_id = result[0][0]

        cur.execute('SELECT name FROM class WHERE class_id=?',
                    (class_id,))
        result = cur.fetchall()
        if(result):
            class_name = result[0][0]

    return class_name