3
proc getFormsReports {db tabType} {
6
set query "SELECT name FROM pfm_form WHERE showform ORDER BY name"
9
set query "SELECT name FROM pfm_form WHERE NOT showform ORDER BY name"
12
set query "SELECT name, description FROM pfm_report ORDER BY name"
15
if {![$db select_query_list $query numTuples headerList formsList errorMsg]} then {
17
# pfm_message [mc getFormList $errorMsg] {.}
22
proc getFormDef {db formName parent formDefName} {
23
upvar $formDefName formDef
24
set query {SELECT name, tablename, sqlselect, sqlfrom, groupby, showform, }
25
append query {"view", pkey, sqlorderby, sqllimit }
26
append query {FROM pfm_form }
27
append query "WHERE name = '$formName'"
28
if {[$db select_query_list $query numTuples attribList resultList errorMsg]} then {
29
if {$numTuples == 1} then {
32
foreach attrib $attribList {
33
set formDef($attrib) [lindex $resultList 0 $idx]
37
pfm_message [mc getFormFailed $formName "numTuples = $numTuples"] $parent
41
pfm_message [mc getFormFailed $formName $errorMsg] $parent
47
proc getAttribDef {db formName parent attribDefName attribListName modAttribListName} {
48
upvar $attribDefName attribDef
49
upvar $attribListName attribList
50
upvar $modAttribListName modAttribList
53
set query {SELECT attribute, typeofattrib, typeofget, sqlselect, nr, valuelist, "default" }
54
append query "FROM pfm_attribute WHERE form = '${formName}' "
55
append query {ORDER BY nr}
56
if {[$db select_query $query numTuples resultArray errorMsg]} then {
58
for {set tuple 0} {$tuple < $numTuples} {incr tuple} {
59
set attrib [string trim $resultArray($tuple,attribute)]
60
lappend attribList $attrib
61
foreach property {typeofattrib typeofget sqlselect nr valuelist default} {
62
set attribDef($attrib,$property) \
63
[string trim $resultArray($tuple,$property)]
65
if {($attribDef($attrib,typeofget) ne {tgReadOnly}) || \
66
($attribDef($attrib,default) ne {})} then {
67
lappend modAttribList $attrib
71
pfm_message [mc getAttribFailed $formName $errorMsg] $parent
77
proc getLinkDef {db formName parent linkDefName lastLinkName} {
78
upvar $linkDefName linkDef
79
upvar $lastLinkName lastLink
80
set query {SELECT linkname, sqlwhere, orderby, displayattrib, toform}
81
append query " FROM pfm_link WHERE fromform = '$formName'"
82
append query { ORDER BY linkname}
83
if {[$db select_query $query numTuples linkDef errorMsg]} then {
84
set lastLink [expr $numTuples - 1]
88
pfm_message [mc getLinkDefFailed $formName $errorMsg] $parent
93
proc check_pfm_tables {tablesInstalledName dbVersionName} {
94
upvar $tablesInstalledName tablesInstalled
95
upvar $dbVersionName dbVersion
97
set query {SELECT COUNT(*) AS nr_of_tables FROM pg_tables }
98
append query {WHERE tablename IN ('pfm_form', 'pfm_attribute', }
99
append query {'pfm_value', 'pfm_value_list', 'pfm_link', }
100
append query {'pfm_report', 'pfm_section')}
101
if {[$::dbObject select_query_list $query numTuples names \
102
resultList errMsg]} then {
103
set tablesInstalled [lindex $resultList 0 0]
104
if {$tablesInstalled > 0} then {
105
set query {SELECT version FROM pfm_version ORDER BY seqnr DESC}
106
if {[$::dbObject select_query_list $query numTuples names \
107
resultList errMsg]} then {
108
set dbVersion [lindex $resultList 0 0]
110
# versions 1.0.4 and earlier did not have pfm_version table
111
set dbVersion {1.0.4}
112
pfm_message "${query}\n${errMsg}" {.}
119
set tablesInstalled 0
120
pfm_message "${query}\n${errMsg}" {.}