| |
1 |
1 |
ad_page_contract { |
| |
2 |
2 |
@author Lars Pind (lars@pinds.com) |
| |
3 |
|
@date 2002-03-26 |
| |
|
3 |
@creation-date 2002-03-26 |
| |
4 |
4 |
@cvs-id $Id$ |
| |
5 |
5 |
} { |
| |
6 |
6 |
cancel:optional |
| |
7 |
7 |
component_id:integer,optional |
| |
8 |
|
name:optional |
| |
9 |
|
description:optional |
| |
10 |
|
maintainer:integer,optional |
| |
11 |
8 |
{return_url ""} |
| |
12 |
9 |
} |
| |
13 |
10 |
|
| |
14 |
11 |
if { [exists_and_not_null cancel] } { |
| |
15 |
12 |
ad_returnredirect $return_url |
| |
16 |
|
return |
| |
|
13 |
ad_script_abort |
| |
17 |
14 |
} |
| |
18 |
15 |
|
| |
19 |
|
set project_name [bt_conn project_name] |
| |
|
16 |
set project_name [bug_tracker::conn project_name] |
| |
20 |
17 |
set package_id [ad_conn package_id] |
| |
21 |
18 |
set package_key [ad_conn package_key] |
| |
22 |
19 |
|
| |
23 |
20 |
if { [info exists component_id] } { |
| |
24 |
21 |
set page_title "Edit Component" |
| |
25 |
22 |
} else { |
| |
26 |
23 |
set page_title "Add Component" |
| |
27 |
24 |
} |
| |
28 |
25 |
set context_bar [ad_context_bar $page_title] |
| |
29 |
26 |
|
| |
30 |
|
template::form create component |
| |
|
27 |
form create component |
| |
31 |
28 |
|
| |
32 |
|
template::element create component return_url -datatype text -widget hidden -value $return_url |
| |
|
29 |
element create component return_url -datatype text -widget hidden -value $return_url |
| |
33 |
30 |
|
| |
34 |
|
template::element create component name \ |
| |
|
31 |
element create component name \ |
| |
35 |
32 |
-datatype text \ |
| |
36 |
33 |
-html { size 50 } \ |
| |
37 |
34 |
-label "Component Name" |
| |
38 |
35 |
|
| |
39 |
|
template::element create component description \ |
| |
|
36 |
element create component description \ |
| |
40 |
37 |
-datatype text \ |
| |
41 |
38 |
-widget textarea \ |
| |
42 |
39 |
-label "Description" \ |
| |
43 |
40 |
-optional \ |
| |
44 |
41 |
-html { cols 50 rows 8 } |
| |
45 |
42 |
|
| |
46 |
|
template::element create component maintainer \ |
| |
|
43 |
element create component url_name \ |
| |
|
44 |
-datatype text \ |
| |
|
45 |
-html { size 50 } \ |
| |
|
46 |
-label "Name in shortcut URL" \ |
| |
|
47 |
-optional |
| |
|
48 |
|
| |
|
49 |
element create component maintainer \ |
| |
47 |
50 |
-datatype integer \ |
| |
48 |
51 |
-widget select \ |
| |
49 |
52 |
-label "Maintainer" \ |
| |
50 |
|
-options [concat {{ "--None--" "" }} [db_list_of_lists users { select first_names || ' ' || last_name, user_id from cc_users }]] -optional |
| |
|
53 |
-options [concat {{ "--None--" "" }} [db_list_of_lists users { select first_names || ' ' || last_name, user_id from cc_users order by last_name, first_names}]] -optional |
| |
51 |
54 |
|
| |
52 |
|
template::element create component component_id \ |
| |
|
55 |
element create component component_id \ |
| |
53 |
56 |
-datatype integer \ |
| |
54 |
57 |
-widget hidden |
| |
55 |
58 |
|
| |
56 |
|
if { [template::form is_request component] } { |
| |
|
59 |
if { [form is_request component] } { |
| |
57 |
60 |
if { ![info exists component_id] } { |
| |
58 |
|
template::element set_properties component component_id -value [db_nextval "acs_object_id_seq"] |
| |
|
61 |
element set_properties component component_id -value [db_nextval "acs_object_id_seq"] |
| |
59 |
62 |
} else { |
| |
60 |
63 |
db_1row component_info { |
| |
61 |
|
select component_name as name, description, maintainer |
| |
|
64 |
select component_id, |
| |
|
65 |
component_name as name, |
| |
|
66 |
description, |
| |
|
67 |
maintainer, |
| |
|
68 |
url_name |
| |
62 |
69 |
from bt_components |
| |
63 |
70 |
where component_id = :component_id |
| |
|
71 |
} -column_array component_info |
| |
|
72 |
form set_values component component_info |
| |
64 |
73 |
} |
| |
65 |
|
template::element set_properties component component_id -value $component_id |
| |
66 |
|
template::element set_properties component name -value $name |
| |
67 |
|
template::element set_properties component description -value $description |
| |
68 |
|
template::element set_properties component maintainer -value $maintainer |
| |
69 |
|
|
| |
70 |
74 |
} |
| |
71 |
|
} |
| |
72 |
75 |
|
| |
73 |
|
if { [template::form is_valid component] } { |
| |
|
76 |
if { [form is_valid component] } { |
| |
|
77 |
form get_values component name description maintainer url_name |
| |
|
78 |
|
| |
74 |
79 |
set count [db_0or1row num_components { select 1 from bt_components where component_id = :component_id }] |
| |
75 |
80 |
|
| |
76 |
81 |
if { $count == 0 } { |
| |
77 |
82 |
db_dml component_create { |
| |
78 |
83 |
insert into bt_components |
| |
79 |
|
(component_id, project_id, component_name, description, maintainer) |
| |
|
84 |
(component_id, project_id, component_name, description, url_name, maintainer) |
| |
80 |
85 |
values |
| |
81 |
|
(:component_id, :package_id, :name, :description, :maintainer) |
| |
|
86 |
(:component_id, :package_id, :name, :description, :url_name, :maintainer) |
| |
82 |
87 |
} |
| |
83 |
88 |
} else { |
| |
84 |
89 |
db_dml component_update { |
| |
85 |
90 |
update bt_components |
| |
86 |
91 |
set component_name = :name, |
| |
87 |
92 |
description = :description, |
| |
88 |
|
maintainer = :maintainer |
| |
|
93 |
maintainer = :maintainer, |
| |
|
94 |
url_name = :url_name |
| |
89 |
95 |
where component_id = :component_id |
| |
90 |
96 |
} |
| |
91 |
97 |
} |
| |
92 |
98 |
|
| |
93 |
99 |
ad_returnredirect $return_url |
| |
94 |
|
return |
| |
|
100 |
ad_script_abort |
| |
95 |
101 |
} |
| |
96 |
102 |
|
| |
97 |
103 |
ad_return_template |