Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-classes-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-classes-create.sql,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/dotlrn/sql/oracle/dotlrn-classes-create.sql 22 Jan 2002 00:13:09 -0000 1.14
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-classes-create.sql 6 Mar 2002 22:35:15 -0000 1.15
@@ -99,6 +99,7 @@
as
select dotlrn_class_instances.class_instance_id,
dotlrn_class_instances.class_key,
+ dotlrn_class_instances.term_id,
dotlrn_terms.term_name,
dotlrn_terms.term_year,
dotlrn_terms.start_date,
Index: openacs-4/packages/dotlrn/tcl/class-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/class-procs.tcl,v
diff -u -r1.22 -r1.23
--- openacs-4/packages/dotlrn/tcl/class-procs.tcl 19 Feb 2002 19:34:45 -0000 1.22
+++ openacs-4/packages/dotlrn/tcl/class-procs.tcl 6 Mar 2002 22:35:15 -0000 1.23
@@ -187,4 +187,21 @@
} {
return [dotlrn_term::get_term_year -term_id [get_term_id -class_instance_id $class_instance_id]]
}
+
+ ad_proc -public can_create {
+ } {
+ can a class be created? essentially, does at least one department
+ exist?
+ } {
+ return [db_string can_create {}]
+ }
+
+ ad_proc -public can_instantiate {
+ {-class_key:required}
+ } {
+ can this class be instantiated?
+ } {
+ return [db_string can_instantiate {}]
+ }
+
}
Index: openacs-4/packages/dotlrn/tcl/class-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/tcl/class-procs.xql,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/dotlrn/tcl/class-procs.xql 19 Feb 2002 19:26:50 -0000 1.7
+++ openacs-4/packages/dotlrn/tcl/class-procs.xql 6 Mar 2002 22:35:15 -0000 1.8
@@ -1,32 +1,53 @@
-
-
- insert into dotlrn_classes
- (class_key, department_key)
- values
- (:class_key, :department_key)
-
-
-
-
- select node_id
- from site_nodes
- where object_id = (select package_id
- from dotlrn_classes_full
- where class_key = :class_key)
-
-
+
+
+ insert into dotlrn_classes
+ (class_key, department_key)
+ values
+ (:class_key, :department_key)
+
+
-
-
- select term_id
- from dotlrn_class_instances
- where class_instance_id = :class_instance_id
-
-
+
+
+ select node_id
+ from site_nodes
+ where object_id = (select package_id
+ from dotlrn_classes_full
+ where class_key = :class_key)
+
+
+
+
+ select term_id
+ from dotlrn_class_instances
+ where class_instance_id = :class_instance_id
+
+
+
+
+ select count(*)
+ from dual
+ where exists (select 1
+ from dotlrn_departments)
+
+
+
+
+
+ select count(*)
+ from dotlrn_terms
+ where dotlrn_terms.end_date > sysdate
+ and not exists (select 1
+ from dotlrn_class_instances
+ where dotlrn_class_instances.class_key = :class_key
+ and dotlrn_class_instances.term_id = dotlrn_terms.term_id)
+
+
+
Index: openacs-4/packages/dotlrn/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/index.adp,v
diff -u -r1.15 -r1.16
--- openacs-4/packages/dotlrn/www/index.adp 28 Jan 2002 21:57:52 -0000 1.15
+++ openacs-4/packages/dotlrn/www/index.adp 6 Mar 2002 22:35:15 -0000 1.16
@@ -2,7 +2,6 @@
dotLRN
@portal_id@
-
@rendered_page@
Index: openacs-4/packages/dotlrn/www/members.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/members.adp,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/dotlrn/www/members.adp 6 Mar 2002 18:11:23 -0000 1.7
+++ openacs-4/packages/dotlrn/www/members.adp 6 Mar 2002 22:35:15 -0000 1.8
@@ -6,5 +6,4 @@
1
@portal_id@
-
Index: openacs-4/packages/dotlrn/www/one-community-admin.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/one-community-admin.adp,v
diff -u -r1.17 -r1.18
--- openacs-4/packages/dotlrn/www/one-community-admin.adp 6 Mar 2002 05:12:54 -0000 1.17
+++ openacs-4/packages/dotlrn/www/one-community-admin.adp 6 Mar 2002 22:35:15 -0000 1.18
@@ -7,5 +7,4 @@
0
1
-
@rendered_page@
Index: openacs-4/packages/dotlrn/www/admin/class.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/class.adp,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/dotlrn/www/admin/class.adp 23 Jan 2002 01:44:01 -0000 1.6
+++ openacs-4/packages/dotlrn/www/admin/class.adp 6 Mar 2002 22:35:15 -0000 1.7
@@ -1,4 +1,5 @@
@pretty_name@
+
Index: openacs-4/packages/dotlrn/www/admin/class.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/class.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/dotlrn/www/admin/class.tcl 11 Jan 2002 06:33:26 -0000 1.3
+++ openacs-4/packages/dotlrn/www/admin/class.tcl 6 Mar 2002 22:35:15 -0000 1.4
@@ -5,16 +5,21 @@
@creation-date Dec 10, 2001
@version $Id$
} -query {
- {filter "select_current_class_instances"}
+ {term_id -1}
} -properties {
class_key:onevalue
pretty_name:onevalue
instances:multirow
can_instantiate:onevalue
}
-db_multirow instances $filter {}
+set query "select_class_instances"
+if {$term_id == -1} {
+ set query "select_all_class_instances"
+}
-set can_instantiate [db_string can_instantiate_class {}]
+db_multirow instances $query {}
+set can_instantiate [dotlrn_class::can_instantiate -class_key $class_key]
+
ad_return_template
Index: openacs-4/packages/dotlrn/www/admin/class.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/class.xql,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/dotlrn/www/admin/class.xql 12 Jan 2002 09:27:16 -0000 1.4
+++ openacs-4/packages/dotlrn/www/admin/class.xql 6 Mar 2002 22:35:15 -0000 1.5
@@ -10,33 +10,13 @@
-
+
select class_instance_id
- from dotlrn_class_instances_current
+ from dotlrn_class_instances
where class_key = :class_key
+ and term_id = :term_id
order by class_instance_id
-
-
-
- select class_instance_id
- from dotlrn_class_instances_not_old
- where class_key = :class_key
- order by class_instance_id
-
-
-
-
-
- select count(*)
- from dotlrn_terms
- where dotlrn_terms.end_date > sysdate
- and not exists (select 1
- from dotlrn_class_instances
- where dotlrn_class_instances.class_key = :class_key
- and dotlrn_class_instances.term_id = dotlrn_terms.term_id)
-
-
Index: openacs-4/packages/dotlrn/www/admin/classes-chunk.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/classes-chunk.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dotlrn/www/admin/classes-chunk.adp 22 Jan 2002 23:04:48 -0000 1.1
+++ openacs-4/packages/dotlrn/www/admin/classes-chunk.adp 6 Mar 2002 22:35:15 -0000 1.2
@@ -1,20 +1,38 @@
+
[ New <%= [ad_parameter classes_pretty_name] %> ]
+
-
-
-
+
-@filter_bar@
+
+
+
+
+ <%= [ad_parameter departments_pretty_name] %>:
+
+ |
+
+
+
-
+
[ New <%= [ad_parameter classes_pretty_name] %> ]
Index: openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl 23 Jan 2002 00:15:44 -0000 1.2
+++ openacs-4/packages/dotlrn/www/admin/classes-chunk.tcl 6 Mar 2002 22:35:15 -0000 1.3
@@ -6,32 +6,39 @@
@creation-date 2001-11-04
@version $Id$
} -query {
- {filter "select_current_class_instances"}
} -properties {
- filter_bar:onevalue
classes:multirow
}
if {![exists_and_not_null department_key]} {
set department_key ""
}
-set filter_bar [ad_dimensional {
- {filter "Term:" select_current_class_instances
- {
- {select_current_class_instances current {}}
- {select_current_and_future_class_instances "+future" {}}
- {select_all_class_instances "+past" {}}
- }
- }
+set departments [db_list_of_lists select_departments_for_select_widget {
+ select dotlrn_departments_full.pretty_name,
+ dotlrn_departments_full.department_key
+ from dotlrn_departments_full
+ order by dotlrn_departments_full.pretty_name,
+ dotlrn_departments_full.department_key
}]
+set departments [linsert $departments 0 {All ""}]
+form create department_form
+
+element create department_form department_key \
+ -label "Department" \
+ -datatype text \
+ -widget select \
+ -options $departments \
+ -html {onChange document.department_form.submit()} \
+ -value $department_key
+
+if {[form is_valid department_form]} {
+ form get_values department_form department_key
+}
+
if {![exists_and_not_null referer]} {
- if {[empty_string_p $department_key]} {
- set referer "classes?[export_vars filter]"
- } else {
- set referer "one-department?[export_vars {department_key filter}]"
- }
+ set referer "classes?[export_vars department_key]"
}
set query "select_classes"
@@ -41,4 +48,6 @@
db_multirow classes $query {}
+set can_create [dotlrn_class::can_create]
+
ad_return_template
Index: openacs-4/packages/dotlrn/www/admin/classes-chunk.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/classes-chunk.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dotlrn/www/admin/classes-chunk.xql 22 Jan 2002 23:04:48 -0000 1.1
+++ openacs-4/packages/dotlrn/www/admin/classes-chunk.xql 6 Mar 2002 22:35:15 -0000 1.2
@@ -1,24 +1,35 @@
-
-
- select class_key,
- pretty_name,
- description
- from dotlrn_classes_full
- order by pretty_name
-
-
+
+
+ select dotlrn_classes_full.class_key,
+ dotlrn_classes_full.pretty_name,
+ dotlrn_classes_full.description,
+ dotlrn_classes_full.department_key,
+ dotlrn_departments_full.pretty_name as department_name
+ from dotlrn_classes_full,
+ dotlrn_departments_full
+ where dotlrn_classes_full.department_key = dotlrn_departments_full.department_key
+ order by dotlrn_departments_full.pretty_name,
+ dotlrn_classes_full.class_key,
+ dotlrn_classes_full.pretty_name
+
+
-
-
- select class_key,
- pretty_name,
- description
- from dotlrn_classes_full
- where department_key = :department_key
- order by pretty_name
-
-
+
+
+ select dotlrn_classes_full.class_key,
+ dotlrn_classes_full.pretty_name,
+ dotlrn_classes_full.description,
+ dotlrn_classes_full.department_key,
+ dotlrn_departments_full.pretty_name as department_name
+ from dotlrn_classes_full,
+ dotlrn_departments_full
+ where dotlrn_classes_full.department_key = :department_key
+ and dotlrn_classes_full.department_key = dotlrn_departments_full.department_key
+ order by dotlrn_classes_full.class_key,
+ dotlrn_classes_full.pretty_name
+
+
Index: openacs-4/packages/dotlrn/www/admin/departments.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/departments.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dotlrn/www/admin/departments.adp 22 Jan 2002 00:13:09 -0000 1.1
+++ openacs-4/packages/dotlrn/www/admin/departments.adp 6 Mar 2002 22:35:15 -0000 1.2
@@ -7,12 +7,18 @@
-
Index: openacs-4/packages/dotlrn/www/admin/departments.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/departments.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dotlrn/www/admin/departments.xql 22 Jan 2002 00:13:09 -0000 1.1
+++ openacs-4/packages/dotlrn/www/admin/departments.xql 6 Mar 2002 22:35:15 -0000 1.2
@@ -6,6 +6,8 @@
select department_key,
pretty_name
from dotlrn_departments_full
+ order by pretty_name,
+ department_key
Index: openacs-4/packages/dotlrn/www/admin/one-class.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/Attic/one-class.adp,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/dotlrn/www/admin/one-class.adp 10 Jan 2002 19:30:18 -0000 1.7
+++ openacs-4/packages/dotlrn/www/admin/one-class.adp 6 Mar 2002 22:35:15 -0000 1.8
@@ -6,22 +6,38 @@
@description@
+
+
+ [ New <%= [ad_parameter classes_pretty_name] %> Instance ]
+
+
+
+
+
+
+
+
-Instances
-
-
-
-
-
-
-
-
Index: openacs-4/packages/dotlrn/www/admin/one-class.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/Attic/one-class.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/dotlrn/www/admin/one-class.tcl 23 Jan 2002 00:15:44 -0000 1.6
+++ openacs-4/packages/dotlrn/www/admin/one-class.tcl 6 Mar 2002 22:35:15 -0000 1.7
@@ -7,6 +7,7 @@
@version $Id$
} -query {
class_key:notnull
+ {term_id -1}
} -properties {
pretty_name:onevalue
description:onevalue
@@ -20,10 +21,46 @@
ad_script_abort
}
-db_multirow class_instances select_class_instances {}
+set terms [db_list_of_lists select_terms_for_select_widget {
+ select dotlrn_terms.term_name || ' ' || dotlrn_terms.term_year,
+ dotlrn_terms.term_id
+ from dotlrn_terms
+ where dotlrn_terms.end_date > (sysdate - 360)
+ and dotlrn_terms.start_date < (sysdate + 360)
+ order by dotlrn_terms.start_date,
+ dotlrn_terms.end_date
+}]
+set terms [linsert $terms 0 {All -1}]
-set can_instantiate [db_string can_instantiate_class {}]
+form create term_form
+element create term_form term_id \
+ -label "Term" \
+ -datatype integer \
+ -widget select \
+ -options $terms \
+ -html {onChange document.term_form.submit()} \
+ -value $term_id
+
+element create term_form class_key \
+ -label "Class Key" \
+ -datatype text \
+ -widget hidden \
+ -value $class_key
+
+if {[form is_valid term_form]} {
+ form get_values term_form term_id class_key
+}
+
+set query "select_class_instances"
+if {$term_id == -1} {
+ set query "select_all_class_instances"
+}
+
+db_multirow class_instances $query {}
+
+set can_instantiate [dotlrn_class::can_instantiate -class_key $class_key]
+
set context_bar [list [list classes [ad_parameter classes_pretty_plural]] One]
ad_return_template
Index: openacs-4/packages/dotlrn/www/admin/one-class.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/Attic/one-class.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/dotlrn/www/admin/one-class.xql 17 Dec 2001 23:02:56 -0000 1.2
+++ openacs-4/packages/dotlrn/www/admin/one-class.xql 6 Mar 2002 22:35:15 -0000 1.3
@@ -1,6 +1,7 @@
+
select pretty_name,
@@ -11,21 +12,21 @@
-
+
select *
from dotlrn_class_instances_full dotlrn_class_instances
where dotlrn_class_instances.class_key = :class_key
-
+
- select count(*)
- from dotlrn_terms
- where dotlrn_terms.term_id not in (select dotlrn_class_instances.term_id
- from dotlrn_class_instances
- where dotlrn_class_instances.class_key = :class_key)
+ select *
+ from dotlrn_class_instances_full dotlrn_class_instances
+ where dotlrn_class_instances.class_key = :class_key
+ and dotlrn_class_instances.term_id = :term_id
+
Index: openacs-4/packages/dotlrn/www/admin/one-department.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/Attic/one-department.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/dotlrn/www/admin/one-department.tcl 23 Jan 2002 00:15:44 -0000 1.3
+++ openacs-4/packages/dotlrn/www/admin/one-department.tcl 6 Mar 2002 22:35:15 -0000 1.4
@@ -6,14 +6,19 @@
@creation-date 2001-11-07
@version $Id$
} -query {
- department_key:notnull
+ {department_key ""}
} -properties {
pretty_name:onevalue
external_url:onevalue
description:onevalue
classes:multirow
}
+if {[empty_string_p $department_key]} {
+ ad_returnredirect "/dotlrn/admin/classes"
+ ad_script_abort
+}
+
# Get information about that class
if {![db_0or1row select_departments_info {}]} {
ad_returnredirect "departments"