Index: openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml,v
diff -u -r1.29 -r1.30
--- openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml	11 Jan 2006 03:52:21 -0000	1.29
+++ openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml	12 Jan 2006 07:15:23 -0000	1.30
@@ -2,6 +2,8 @@
 <message_catalog package_key="curriculum-central" package_version="0.1d" locale="en_US" charset="ISO-8859-1">
 
   <msg key="uos">UoS</msg>
+  <msg key="view_graduate_attributes">View Graduate Attributes</msg>
+  <msg key="add_a_graduate_attribute">Add a Graduate Attribute</msg>
   <msg key="help_select_textbook_ids">Select textbooks from the list that will be used for this Unit of Study.  Hold the Ctrl key down whilst selecting to add more than one selection.</msg>
   <msg key="none">None</msg>
   <msg key="course_content">Course Content</msg>
Index: openacs-4/packages/curriculum-central/sql/postgresql/uos-gradattr-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/sql/postgresql/uos-gradattr-create.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/curriculum-central/sql/postgresql/uos-gradattr-create.sql	4 Jan 2006 23:32:35 -0000	1.1
+++ openacs-4/packages/curriculum-central/sql/postgresql/uos-gradattr-create.sql	12 Jan 2006 07:15:23 -0000	1.2
@@ -12,6 +12,44 @@
 returns integer as'
 begin 
     PERFORM acs_object_type__create_type (
+	''cc_uos_gradattr_name'',			-- object_type
+	''#curriculum-central.uos_graduate_attribtue_name#'',  -- pretty_name
+	''#curriculum-central.uos_graduate_attribute_names#'', -- pretty_plural
+	''acs_object'',					-- supertype
+	''cc_uos_gradattr_name'',			-- table_name
+	''name_id'',					-- id_column
+	null,						-- package_name
+	''f'',						-- abstract_p
+	null,						-- type_extension_table
+	''cc_uos_gradattr_name__name''			-- name_method
+    );
+
+    return 0;
+end;' language 'plpgsql';
+
+select inline_0 ();
+drop function inline_0 ();
+
+
+-- Table storing the names of admin defined graduate attributes that
+-- can be used globally.  Used for consistence.
+-- Names include: Research and Inquiry; Information Literacy; Communication.
+create table cc_uos_gradattr_name (
+	name_id			integer
+                        	constraint cc_uos_gradattr_name_fk
+                        	references acs_objects(object_id)
+				on delete cascade
+				constraint cc_uos_gradattr_name_pk
+				primary key,
+	name			varchar(256),
+	package_id		integer
+);
+
+
+create function inline_0 ()
+returns integer as'
+begin 
+    PERFORM acs_object_type__create_type (
 	''cc_uos_gradattr_set'',			-- object_type
 	''#curriculum-central.uos_graduate_attribtue_set#'',   -- pretty_name
 	''#curriculum-central.uos_graduate_attribute_sets#'',  -- pretty_plural
@@ -119,7 +157,9 @@
 				references acs_objects(object_id)
 				constraint cc_uos_gradattr_id_pk
 				primary key,
-	name			varchar(256), -- eg. Communication, Research.
+	name_id			integer
+				constraint cc_uos_graddtr_name_fk
+				references cc_uos_gradattr_name(name_id),
 	identifier		varchar(256), -- for form multiselect.
 	description		text,         -- GA description.
 	level			integer	      -- 1, 2, 3, 4 or 5.
@@ -140,6 +180,95 @@
 
 --
 --
+-- Create the functions for cc_uos_gradattr_name
+--
+--
+
+select define_function_args('cc_uos_gradattr_name__new','name_id,name,creation_date;now,creation_user,creation_ip,package_id,context_id');
+
+create function cc_uos_gradattr_name__new (
+	integer,			-- name_id
+	varchar,			-- name
+	timestamptz,			-- creation_date
+	integer,			-- creation_user
+	varchar,			-- creation_ip
+	integer,			-- package_id
+	integer				-- context_id
+) returns integer as '
+declare
+    	p_name_id			alias for $1;        -- default null
+    	p_name				alias for $2;
+    	p_creation_date             	alias for $3;        -- default now()
+    	p_creation_user             	alias for $4;        -- default null
+    	p_creation_ip              	alias for $5;        -- default null
+	p_package_id			alias for $6;
+    	p_context_id                	alias for $7;       -- default null
+
+	v_name_id			cc_uos_gradattr_name.name_id%TYPE;
+begin
+
+	v_name_id := acs_object__new (
+        	p_name_id,
+        	''cc_uos_gradattr_name'',
+        	p_creation_date,
+        	p_creation_user,
+        	p_creation_ip,
+        	p_context_id,
+		p_name,
+		p_package_id
+    	);
+
+	INSERT INTO cc_uos_gradattr_name (
+		name_id, name, package_id
+	)
+	VALUES (
+		v_name_id, p_name, p_package_id
+	);
+
+    return v_name_id;
+
+end;' language 'plpgsql';
+
+
+select define_function_args('cc_uos_gradattr_name__del','name_id');
+
+create function cc_uos_gradattr_name__del (integer)
+returns integer as '
+declare
+    	p_name_id                alias for $1;
+begin
+    	DELETE FROM acs_permissions WHERE object_id = p_name_id;
+
+    	DELETE FROM cc_uos_gradattr_name WHERE name_id = p_name_id;
+
+	RAISE NOTICE ''Deleting graduate attribute name...'';
+    	PERFORM acs_object__delete(p_name_id);
+
+	return 0;
+
+end;' language 'plpgsql';
+
+
+select define_function_args('cc_uos_gradattr_name__name','name_id');
+
+create function cc_uos_gradattr_name__name (integer)
+returns varchar as '
+declare
+    	p_name_id      alias for $1;
+
+	v_gradattr_name    cc_uos_gradattr_name.name%TYPE;
+begin
+	SELECT name INTO v_gradattr_name
+       	FROM cc_uos_gradattr_name
+        WHERE name_id = p_name_id;
+
+    	return v_gradattr_name;
+end;
+' language 'plpgsql';
+
+
+--
+--
 -- Create the functions for the graduate attribute content item and revisions.
 --
 --
@@ -317,11 +446,11 @@
 --
 --
 
-select define_function_args('cc_uos_gradattr__new','gradattr_id,name,identifier,description,level,creation_date;now,creation_user,creation_ip,package_id,context_id');
+select define_function_args('cc_uos_gradattr__new','gradattr_id,name_id,identifier,description,level,creation_date;now,creation_user,creation_ip,package_id,context_id');
 
 create function cc_uos_gradattr__new (
 	integer,			-- gradattr_id
-	varchar,			-- name
+	integer,			-- name_id
 	varchar,			-- identifier
 	text,				-- description
 	integer,			-- level
@@ -333,7 +462,7 @@
 ) returns integer as '
 declare
     	p_gradattr_id			alias for $1;        -- default null
-    	p_name				alias for $2;
+    	p_name_id			alias for $2;
     	p_identifier			alias for $3;
 	p_description			alias for $4;
 	p_level				alias for $5;
@@ -346,7 +475,8 @@
 	v_gradattr_id			cc_uos_gradattr.gradattr_id%TYPE;
 	v_title				varchar;
 begin
-	v_title := p_name || '' ('' || p_identifier || '')'';
+	v_title := cc_uos_gradattr_name__name(p_name_id) ||
+	    '' ('' || p_identifier || '')'';
 
 	v_gradattr_id := acs_object__new (
         	p_gradattr_id,
@@ -360,10 +490,10 @@
     	);
 
 	INSERT INTO cc_uos_gradattr (
-		gradattr_id, name, identifier, description, level
+		gradattr_id, name_id, identifier, description, level
 	)
 	VALUES (
-		v_gradattr_id, p_name, p_identifier, p_description, p_level
+		v_gradattr_id, p_name_id, p_identifier, p_description, p_level
 	);
 
     return v_gradattr_id;
@@ -397,9 +527,9 @@
 declare
     	p_gradattr_id      alias for $1;
 
-	v_gradattr_name    cc_uos_gradattr.name%TYPE;
+	v_gradattr_name    varchar;
 begin
-	SELECT name INTO v_gradattr_name
+	SELECT cc_uos_gradattr_name__name(name_id) INTO v_gradattr_name
        	FROM cc_uos_gradattr
         WHERE gradattr_id = p_gradattr_id;
 
Index: openacs-4/packages/curriculum-central/tcl/curriculum-central-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/curriculum-central-procs-postgresql.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/curriculum-central/tcl/curriculum-central-procs-postgresql.xql	4 Dec 2005 07:32:38 -0000	1.2
+++ openacs-4/packages/curriculum-central/tcl/curriculum-central-procs-postgresql.xql	12 Jan 2006 07:15:23 -0000	1.3
@@ -62,4 +62,12 @@
            WHERE package_id = :package_id
      </querytext>
    </fullquery>
+
+   <fullquery name="curriculum_central::graduate_attribute_names_get_options.ga_names">
+     <querytext>
+       SELECT name, name_id FROM cc_uos_gradattr_name
+           WHERE package_id = :package_id
+     </querytext>
+   </fullquery>
+
 </queryset>
Index: openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl	11 Jan 2006 00:49:17 -0000	1.11
+++ openacs-4/packages/curriculum-central/tcl/curriculum-central-procs.tcl	12 Jan 2006 07:15:23 -0000	1.12
@@ -150,6 +150,28 @@
     return $departments_list    
 }
 
+
+ad_proc curriculum_central::graduate_attribute_names_get_options {
+    {-package_id {}}
+} {
+    Returns a two-column list of valid graduate attribute names that have
+    been defined by the package administrator.  The first column contains the
+    pretty name of a graduate attribute, and the second contains the
+    corresponding name_id.
+
+    @param package_id The package ID for an instance of Curriculum Central.
+    @return Returns a list of graduate attribute names.
+} {
+    if { [empty_string_p $package_id] } {
+        set package_id [ad_conn package_id]
+    }
+
+    set ga_names_list [db_list_of_lists ga_names {}]
+
+    return $ga_names_list
+}
+
+
 #####
 #
 # Procs for page variables and filters for UoS edit form.
Index: openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql,v
diff -u -r1.17 -r1.18
--- openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql	11 Jan 2006 00:49:17 -0000	1.17
+++ openacs-4/packages/curriculum-central/tcl/uos-procs-postgresql.xql	12 Jan 2006 07:15:23 -0000	1.18
@@ -404,7 +404,8 @@
 
    <fullquery name="curriculum_central::uos::graduate_attributes_get_options.select_ga">
      <querytext>
-       SELECT g.name || ' (' || g.identifier || ')' AS ga_name,
+       SELECT cc_uos_gradattr_name__name(g.name_id)
+           || ' (' || g.identifier || ')' AS ga_name,
            g.gradattr_id
        FROM cc_uos_gradattr g, acs_objects o
        WHERE o.object_id = g.gradattr_id
Index: openacs-4/packages/curriculum-central/tcl/uos-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/uos-procs.tcl,v
diff -u -r1.24 -r1.25
--- openacs-4/packages/curriculum-central/tcl/uos-procs.tcl	11 Jan 2006 03:52:21 -0000	1.24
+++ openacs-4/packages/curriculum-central/tcl/uos-procs.tcl	12 Jan 2006 07:15:23 -0000	1.25
@@ -1196,7 +1196,10 @@
     {-package_id ""}
     {-user_id ""}
 } {
-    Returns a two-column list of registered graduate attributes.
+    Returns a two-column list of user registered graduate attributes.
+    These are graduate attributes that have been selected from the
+    global list of graduate attributes, and assigned a description
+    by the Unit Coordinator.
 
     @param package_id ID of the current package instance.
     @param user_id Specify a user to retrieve their list of
Index: openacs-4/packages/curriculum-central/www/admin/gradattr-ae-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/gradattr-ae-postgresql.xql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/curriculum-central/www/admin/gradattr-ae-postgresql.xql	12 Jan 2006 07:15:24 -0000	1.1
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<queryset>
+   <rdbms><type>postgresql</type><version>7.4</version></rdbms>
+
+   <fullquery name="gradattr_update">
+     <querytext>
+       UPDATE cc_uos_gradattr_name
+           SET name = :name
+	   WHERE name_id = :name_id
+     </querytext>
+   </fullquery>
+
+   <fullquery name="object_update">
+     <querytext>
+       UPDATE acs_objects
+           SET modifying_user = :modifying_user,
+	   modifying_ip = :modifying_ip,
+	   package_id = :package_id
+	   WHERE object_id = :name_id
+     </querytext>
+   </fullquery>
+
+</queryset>
Index: openacs-4/packages/curriculum-central/www/admin/gradattr-ae.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/gradattr-ae.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/curriculum-central/www/admin/gradattr-ae.adp	12 Jan 2006 07:15:24 -0000	1.1
@@ -0,0 +1,6 @@
+<master>
+<property name="title">@page_title;noquote@</property>
+<property name="context">@context;noquote@</property>
+<property name="focus">gradattr.name</property>
+
+<formtemplate id="gradattr"></formtemplate>
Index: openacs-4/packages/curriculum-central/www/admin/gradattr-ae.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/gradattr-ae.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/curriculum-central/www/admin/gradattr-ae.tcl	12 Jan 2006 07:15:24 -0000	1.1
@@ -0,0 +1,50 @@
+ad_page_contract {
+    Add/Edit a graduate attribute
+
+    @author Nick Carroll (nick.c@rroll.net)
+    @creation-date 2006-01-04
+    @cvs-id $Id: gradattr-ae.tcl,v 1.1 2006/01/12 07:15:24 ncarroll Exp $
+} {
+    name_id:integer,optional
+    {return_url "gradattrs"}
+}
+
+auth::require_login
+
+if { [info exists name_id] } {
+    set page_title [_ curriculum-central.edit_graduate_attribute]
+} else {
+    set page_title [_ curriculum-central.add_graduate_attribute]
+}
+
+set context [list $page_title]
+set package_id [ad_conn package_id]
+set user_id [ad_conn user_id]
+
+ad_form -name gradattr -cancel_url $return_url -form {
+    {name_id:key(acs_object_id_seq)}
+    {return_url:text(hidden) {value $return_url}}
+    {name:text
+	{html {size 25}}
+	{label "[_ curriculum-central.name]" }
+	{help_text "[_ curriculum-central.help_enter_graduate_attribute_name]"}
+    }
+} -select_query {
+       SELECT name FROM cc_uos_gradattr_name WHERE name_id = :name_id
+} -new_data {
+    package_instantiate_object \
+	-var_list [list [list package_id $package_id] \
+		        [list object_type cc_uos_gradattr_name] \
+		        [list name $name]] \
+	-form_id gradattr cc_uos_gradattr_name
+
+} -edit_data {
+    set modifying_user [ad_conn user_id]
+    set modifying_ip [ad_conn peeraddr]
+
+    db_dml gradattr_update {}
+    db_dml object_update {}
+} -after_submit {
+    ad_returnredirect $return_url
+    ad_script_abort
+}
Index: openacs-4/packages/curriculum-central/www/admin/gradattrs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/gradattrs-postgresql.xql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/curriculum-central/www/admin/gradattrs-postgresql.xql	12 Jan 2006 07:15:24 -0000	1.1
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<queryset>
+   <rdbms><type>postgresql</type><version>7.4</version></rdbms>
+
+   <fullquery name="get_gradattrs">
+     <querytext>
+       SELECT g.name_id, g.name
+       FROM cc_uos_gradattr_name g
+	   WHERE g.package_id = :package_id
+	   [template::list::orderby_clause -orderby -name "gradattrs"]
+     </querytext>
+   </fullquery>
+
+</queryset>
Index: openacs-4/packages/curriculum-central/www/admin/gradattrs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/gradattrs.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/curriculum-central/www/admin/gradattrs.adp	12 Jan 2006 07:15:24 -0000	1.1
@@ -0,0 +1,5 @@
+<master>
+<property name="title">@page_title;noquote@</property>
+<property name="context">@context;noquote@</property>
+
+<listtemplate name="gradattrs"></listtemplate>
Index: openacs-4/packages/curriculum-central/www/admin/gradattrs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/gradattrs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/curriculum-central/www/admin/gradattrs.tcl	12 Jan 2006 07:15:24 -0000	1.1
@@ -0,0 +1,46 @@
+ad_page_contract {
+    Page for listing graduate attributes.
+
+    @author Nick Carroll (nick.c@rroll.net)
+    @creation-date 2006-1-4
+    @cvs-id $Id: gradattrs.tcl,v 1.1 2006/01/12 07:15:24 ncarroll Exp $
+} {
+    {orderby "name,asc"}
+}
+
+auth::require_login
+
+set page_title "[_ curriculum-central.graduate_attributes]"
+set context [list $page_title]
+set package_id [ad_conn package_id]
+set user_id [ad_conn user_id]
+
+set elements {
+    edit {
+	sub_class narrow
+	display_template {
+	    <img src="/shared/images/Edit16.gif" height="16" width="16" border="0">
+	}
+	link_url_eval {[export_vars -base gradattr-ae { name_id }]}
+	link_html {title "#curriculum-central.edit_graduate_attribute#"}
+    }
+    name {
+	label "#curriculum-central.name#"
+    }
+}
+
+template::list::create \
+    -name gradattrs \
+    -actions [list "#curriculum-central.add_graduate_attribute#" [export_vars -base gradattr-ae {}] "#curriculum-central.add_graduate_attribute_to_list#"] \
+    -multirow gradattrs \
+    -no_data "#curriculum-central.no_graduate_attributes_created#" \
+    -elements $elements \
+    -orderby {
+	name {orderby {lower(name)}}
+	identifier {orderby {lower(identifier)}}
+	level {orderby level}
+    }
+
+db_multirow gradattrs get_gradattrs {}
+
+ad_return_template
Index: openacs-4/packages/curriculum-central/www/admin/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/admin/index.adp,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/curriculum-central/www/admin/index.adp	11 Jan 2006 00:49:17 -0000	1.5
+++ openacs-4/packages/curriculum-central/www/admin/index.adp	12 Jan 2006 07:15:24 -0000	1.6
@@ -32,6 +32,12 @@
   <li><a href="grade-ae">#curriculum-central.add_a_grade_descriptor#</a></li>
   </ul>
 </li>
+<li><span>#curriculum-central.graduate_attributes#</span>
+  <ul>
+  <li><a href="gradattrs">#curriculum-central.view_graduate_attributes#</a></li>
+  <li><a href="gradattr-ae">#curriculum-central.add_a_graduate_attribute#</a></li>
+  </ul>
+</li>
 <li><span>#curriculum-central.schedule#</span>
   <ul>
   <li><a href="schedule">#curriculum-central.view_schedule_template#</a></li>
Index: openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae-postgresql.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae-postgresql.xql	4 Jan 2006 23:32:36 -0000	1.1
+++ openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae-postgresql.xql	12 Jan 2006 07:15:24 -0000	1.2
@@ -6,7 +6,7 @@
    <fullquery name="gradattr_update">
      <querytext>
        UPDATE cc_uos_gradattr
-           SET name = :name,
+           SET name_id = :name_id,
 	   identifier = :identifier,
 	   description = :description,
 	   level = :level
Index: openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae.tcl	6 Jan 2006 05:46:13 -0000	1.2
+++ openacs-4/packages/curriculum-central/www/coordinate/gradattr-ae.tcl	12 Jan 2006 07:15:24 -0000	1.3
@@ -24,8 +24,8 @@
 ad_form -name gradattr -cancel_url $return_url -form {
     {gradattr_id:key(acs_object_id_seq)}
     {return_url:text(hidden) {value $return_url}}
-    {name:text
-	{html {size 25}}
+    {name_id:integer(select)
+	{options [curriculum_central::graduate_attribute_names_get_options] }
 	{label "[_ curriculum-central.name]" }
 	{help_text "[_ curriculum-central.help_enter_graduate_attribute_name]"}
     }
@@ -51,13 +51,13 @@
 	}
     }
 } -select_query {
-       SELECT name, identifier, description, level
+       SELECT name_id, identifier, description, level
 	   FROM cc_uos_gradattr WHERE gradattr_id = :gradattr_id
 } -new_data {
     package_instantiate_object \
 	-var_list [list [list package_id $package_id] \
 		        [list object_type cc_uos_gradattr] \
-		        [list name $name] \
+		        [list name_id $name_id] \
 		        [list identifier $identifier] \
 		        [list description $description] \
 		        [list level $level]] \
Index: openacs-4/packages/curriculum-central/www/coordinate/gradattrs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/www/coordinate/gradattrs-postgresql.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/curriculum-central/www/coordinate/gradattrs-postgresql.xql	6 Jan 2006 05:46:13 -0000	1.2
+++ openacs-4/packages/curriculum-central/www/coordinate/gradattrs-postgresql.xql	12 Jan 2006 07:15:24 -0000	1.3
@@ -5,11 +5,13 @@
 
    <fullquery name="get_gradattrs">
      <querytext>
-       SELECT g.gradattr_id, g.name, g.identifier, g.description, g.level
-       FROM cc_uos_gradattr g, acs_objects o
-	   WHERE package_id = :package_id
+       SELECT g.gradattr_id, n.name,
+           g.identifier, g.description, g.level
+       FROM cc_uos_gradattr g, acs_objects o, cc_uos_gradattr_name n
+	   WHERE n.package_id = :package_id
 	   AND g.gradattr_id = o.object_id
 	   AND o.creation_user = :user_id
+	   AND n.name_id = g.name_id
 	   [template::list::orderby_clause -orderby -name "gradattrs"]
      </querytext>
    </fullquery>