Index: openacs-4/contrib/packages/simulation/lib/sim-templates.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/lib/Attic/sim-templates.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/contrib/packages/simulation/lib/sim-templates.tcl	2 Dec 2003 13:46:53 -0000	1.7
+++ openacs-4/contrib/packages/simulation/lib/sim-templates.tcl	2 Dec 2003 17:29:48 -0000	1.8
@@ -17,6 +17,7 @@
 
 set package_id [ad_conn package_id]
 set add_url [export_vars -base "[apm_package_url_from_id $package_id]simbuild/template-edit" ]
+set create_p [permission::permission_p -object_id $package_id -privilege sim_template_create]
 
 # TODO: make this include honor the display_mode parameter
 
@@ -48,10 +49,13 @@
 	    -elements {
 		edit {
 		    sub_class narrow
-		    link_url_col edit_url
-		    display_template {
-			<img src="/resources/acs-subsite/Edit16.gif" height="16" width="16" border="0" alt="Edit">
-		    }
+		      display_template {
+                          <if @sim_templates.edit_p@>
+			  <a href="@sim_templates.edit_url@" title="Edit this template">
+                          <img src="/resources/acs-subsite/Edit16.gif" height="16" width="16" border="0" alt="Edit">
+                          </a>
+                          </if>
+		      }
 		}
 		name {
 		    label "Name"
@@ -74,12 +78,14 @@
 		}
 		delete {
 		    sub_class narrow
-		    display_template {
-			<a href="@sim_templates.delete_url@" 
+		      display_template {
+                          <if @sim_templates.edit_p@>
+			  <a href="@sim_templates.delete_url@" title="Edit this template"
                            onclick="return confirm('Are you sure you want to delete template @sim_templates.name@?');">
                           <img src="/resources/acs-subsite/Delete16.gif" height="16" width="16" border="0" alt="Delete">
-                        </a>
-		    }
+                          </a>
+                          </if>
+		      }
 		}
 		clone {
 		    display_template {
@@ -101,7 +107,7 @@
 #
 ######################################################################
 
-db_multirow -extend { edit_url view_url delete_url clone_url } sim_templates select_sim_templates "
+db_multirow -extend { edit_url view_url delete_url clone_url edit_p } sim_templates select_sim_templates "
     select w.workflow_id,
            w.pretty_name as name,
            'placeholder' as description,
@@ -128,4 +134,6 @@
     set delete_url [export_vars -base "[apm_package_url_from_id $package_id]simbuild/template-delete" {workflow_id} ]
 
     set clone_url [export_vars -base "[apm_package_url_from_id $package_id]simbuild/template-clone" {workflow_id} ]
+
+    set edit_p [permission::write_permission_p -object_id $workflow_id]
 }
Index: openacs-4/contrib/packages/simulation/lib/yellow-pages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/lib/Attic/yellow-pages.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/contrib/packages/simulation/lib/yellow-pages.adp	2 Dec 2003 17:29:48 -0000	1.1
@@ -0,0 +1,2 @@
+<p><listtemplate name="objects"></listtemplate></p>
+TODO: modify query to use object_type pretty_name 
Index: openacs-4/contrib/packages/simulation/lib/yellow-pages.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/lib/Attic/yellow-pages.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/contrib/packages/simulation/lib/yellow-pages.tcl	2 Dec 2003 17:29:48 -0000	1.1
@@ -0,0 +1,86 @@
+simulation::include_contract {
+    Displays a list of simulation objects in the directory for the current simulation package instance.
+    This was formerly a mode of the sim-objects includelet but it is different enough to be
+    broken out.
+
+    @author Joel Aufrecht
+    @creation-date 2003-11-12
+    @cvs-id $Id: yellow-pages.tcl,v 1.1 2003/12/02 17:29:48 joela Exp $
+}
+
+######################################################################
+# Set general variables
+
+set package_id [ad_conn package_id]
+
+if { ![exists_and_not_null user_id] } {
+    set user_id [auth::get_user_id]
+}
+
+######################################################################
+#
+# objects list 
+#
+######################################################################
+
+#---------------------------------------------------------------------
+# Set basic elements list
+set elements {
+    object_type {
+        label "Type"
+        orderby upper(ot.pretty_name)
+    }
+    title { 
+        label "Name"
+        orderby r.title
+        link_url_col view_url
+    }
+    description {
+        label "Description"
+        orderby r.description
+    }
+}
+
+#---------------------------------------------------------------------
+# 
+template::list::create \
+    -name objects \
+    -multirow objects \
+    -elements $elements 
+
+#---------------------------------------------------------------------
+# database query
+
+db_multirow -extend {view_url} objects select_objects "
+   select sl.object_id,
+          sl.object_type,
+          sl.title,
+          sl.mime_type,
+          sl.name,
+          sl.item_id,
+          sl.description
+     from sim_locationsx sl
+    where in_directory_p = 't'
+   UNION
+   select sc.object_id,
+          sc.object_type,
+          sc.title,
+          sc.mime_type,
+          sc.name,
+          sc.item_id,
+          sc.description
+     from sim_charactersx sc
+    where in_directory_p = 't'
+
+    [template::list::orderby_clause -orderby -name "objects"]
+" {
+    set description [string_truncate -len 200 $description]
+    switch -glob $mime_type {
+        text/* - {} {
+           set view_url [simulation::object::url -name $name]
+        }
+        default {
+            set view_url [simulation::object::content_url -name $name]
+        }
+    }
+}
Index: openacs-4/contrib/packages/simulation/sql/postgresql/simulation-priv-test-users-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/sql/postgresql/Attic/simulation-priv-test-users-create.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/sql/postgresql/simulation-priv-test-users-create.sql	2 Dec 2003 13:46:53 -0000	1.1
+++ openacs-4/contrib/packages/simulation/sql/postgresql/simulation-priv-test-users-create.sql	2 Dec 2003 17:29:48 -0000	1.2
@@ -1,4 +1,4 @@
--- create dummy users for permissions testing
+1-- create dummy users for permissions testing
 -- create each user and then assign appropriate privs directly
 
 -- this is a temp solution - should instead create all the groups 
@@ -34,7 +34,6 @@
 
         -- create CaseAuthor user and assign privs
         select acs_user__new(null,''user'',null,null,null,null,''cassie'' || random_seed,''email2'' || random_seed,null,''Cassie'',''CaseAuthor'',null,null,null,''t'',null) into user_id;
-        perform acs_permission__grant_permission(package_id,user_id,''sim_template_creator'');
         perform acs_permission__grant_permission(package_id,user_id,''sim_inst'');
         perform acs_permission__grant_permission(package_id,user_id,''sim_object_create'');
 
Index: openacs-4/contrib/packages/simulation/sql/postgresql/simulation-privs-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/sql/postgresql/Attic/simulation-privs-create.sql,v
diff -u -r1.5 -r1.6
--- openacs-4/contrib/packages/simulation/sql/postgresql/simulation-privs-create.sql	2 Dec 2003 13:46:53 -0000	1.5
+++ openacs-4/contrib/packages/simulation/sql/postgresql/simulation-privs-create.sql	2 Dec 2003 17:29:48 -0000	1.6
@@ -21,8 +21,8 @@
 select acs_privilege__create_privilege('sim_template_read','Read Simulation Templates',null);
 select acs_privilege__create_privilege('sim_template_create','Create Simulation Templates',null);
 select acs_privilege__create_privilege('sim_template_creator','Create and Read Simulation Templates',null);
-select acs_privilege__add_child('sim_admin_creator','sim_template_create');
-select acs_privilege__add_child('sim_admin_creator','sim_template_read');
+select acs_privilege__add_child('sim_template_creator','sim_template_create');
+select acs_privilege__add_child('sim_template_creator','sim_template_read');
 select acs_privilege__add_child('sim_admin','sim_template_creator');
 
 
Index: openacs-4/contrib/packages/simulation/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/Attic/index.adp,v
diff -u -r1.24 -r1.25
--- openacs-4/contrib/packages/simulation/www/index.adp	2 Dec 2003 13:46:53 -0000	1.24
+++ openacs-4/contrib/packages/simulation/www/index.adp	2 Dec 2003 17:24:32 -0000	1.25
@@ -34,7 +34,9 @@
 
   <include src="/packages/simulation/lib/sim-templates" size="short" display_mode="display"/>
 </div>
+</if>
 
+<if @siminst_p@>
 <div style="margin: 4px; padding: 4px; background: lightgray; border: 1px solid
 black;">
   <h3><a href="siminst/">SimInst</a></h3>
Index: openacs-4/contrib/packages/simulation/www/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/Attic/index.tcl,v
diff -u -r1.11 -r1.12
--- openacs-4/contrib/packages/simulation/www/index.tcl	2 Dec 2003 13:46:53 -0000	1.11
+++ openacs-4/contrib/packages/simulation/www/index.tcl	2 Dec 2003 17:24:32 -0000	1.12
@@ -12,7 +12,8 @@
 set user_id [auth::get_user_id]
 
 set citybuild_p [permission::permission_p -object_id $package_id -privilege sim_object_create]
-set simbuild_p [permission::permission_p -object_id $package_id -privilege sim_inst]
+set simbuild_p [permission::permission_p -object_id $package_id -privilege sim_object_create]
+set siminst_p [permission::permission_p -object_id $package_id -privilege sim_inst]
 
 ######################################################################
 #
Index: openacs-4/contrib/packages/simulation/www/object-xml.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/Attic/object-xml.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/object-xml.tcl	7 Nov 2003 16:08:45 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/object-xml.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -7,6 +7,8 @@
     item_id:integer
 }
 
+permission::require_permission -object_id $item_id -privilege sim_set_map_p
+
 set flash_xml [simulation::object::generate_xml -item_id $item_id]
 
 ns_return 200 text/plain $flash_xml
Index: openacs-4/contrib/packages/simulation/www/citybuild/generate-xml.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/citybuild/Attic/generate-xml.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/citybuild/generate-xml.tcl	13 Nov 2003 14:55:26 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/citybuild/generate-xml.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -6,7 +6,10 @@
 
 set page_title "Generation of Map XML file"
 set context [list [list "." "CityBuild"] $page_title]
+set package_id [ad_conn package_id]
 
+permission::require_permission -object_id $package_id -privilege sim_set_map_p
+
 array set result [simulation::object::xml::generate_file -package_id [ad_conn package_id]]
 
 set error_text [join $result(errors) "\n"]
Index: openacs-4/contrib/packages/simulation/www/citybuild/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/citybuild/Attic/index.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/contrib/packages/simulation/www/citybuild/index.tcl	2 Dec 2003 13:46:53 -0000	1.3
+++ openacs-4/contrib/packages/simulation/www/citybuild/index.tcl	2 Dec 2003 17:24:32 -0000	1.4
@@ -8,15 +8,14 @@
     {type:optional}
 }
 
-
 set page_title "CityBuild"
 set context [list $page_title]
 set package_id [ad_conn package_id]
 
 permission::require_permission -object_id $package_id -privilege sim_object_create
 
 set admin_p [permission::permission_p -object_id $package_id -privilege admin]
-set map_p [expr $admin_p ||[permission::permission_p -object_id $package_id -privilege sim_set_map_p]]
+set map_p [permission::permission_p -object_id $package_id -privilege sim_set_map_p]
 
 set notification_widget [notification::display::request_widget \
                              -type [simulation::notification::xml_map::type_short_name] \
Index: openacs-4/contrib/packages/simulation/www/citybuild/map-xml.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/citybuild/Attic/map-xml.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/citybuild/map-xml.tcl	13 Nov 2003 14:55:26 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/citybuild/map-xml.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -4,4 +4,8 @@
   @cvs-id $Id$
 }
 
+set package_id [ad_conn package_id]
+
+permission::require_permission -object_id $package_id -privilege sim_set_map_p
+
 ns_return 200 text/plain [simulation::object::xml::get_doc]
Index: openacs-4/contrib/packages/simulation/www/citybuild/object-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/citybuild/Attic/object-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/citybuild/object-delete.tcl	13 Nov 2003 14:55:26 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/citybuild/object-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -6,9 +6,8 @@
     {return_url "."}
 }
 
-permission::require_permission -object_id $item_id -privilege write
-
 if { [template::util::is_true $confirm_p] } {
+    permission::require_write_permission -object_id $item_id    
     bcms::item::delete_item -item_id $item_id
     ad_returnredirect $return_url
 }
Index: openacs-4/contrib/packages/simulation/www/doc/permissions-table.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/doc/Attic/permissions-table.html,v
diff -u -r1.7 -r1.8
--- openacs-4/contrib/packages/simulation/www/doc/permissions-table.html	2 Dec 2003 15:56:19 -0000	1.7
+++ openacs-4/contrib/packages/simulation/www/doc/permissions-table.html	2 Dec 2003 17:24:32 -0000	1.8
@@ -7,7 +7,7 @@
 	<TITLE></TITLE>
 	<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.0  (Linux)">
 	<META NAME="CREATED" CONTENT="20031120;15335300">
-	<META NAME="CHANGED" CONTENT="20031202;16561900">
+	<META NAME="CHANGED" CONTENT="20031202;17072800">
 	
 	<STYLE>
 		<!-- 
@@ -21,12 +21,12 @@
 <HR>
 	<P><CENTER>
 		<H1>Overview</H1>
-		<A HREF="#table0">Sheet1</A><BR>
-		<A HREF="#table1">Sheet3</A><BR>
+		<A HREF="#table0">Roles</A><BR>
+		<A HREF="#table1">Privs</A><BR>
 		
 	</CENTER></P>
 <HR>
-<A NAME="table0"><H1>Sheet 1: <EM>Sheet1</EM></H1></A>
+<A NAME="table0"><H1>Sheet 1: <EM>Roles</EM></H1></A>
 <TABLE FRAME=VOID CELLSPACING=0 COLS=21 RULES=GROUPS BORDER=1>
 	<COLGROUP><COL WIDTH=129><COL WIDTH=49><COL WIDTH=48><COL WIDTH=38><COL WIDTH=49><COL WIDTH=37><COL WIDTH=38><COL WIDTH=37><COL WIDTH=48><COL WIDTH=56><COL WIDTH=49><COL WIDTH=48><COL WIDTH=38><COL WIDTH=68><COL WIDTH=49><COL WIDTH=48><COL WIDTH=38><COL WIDTH=46><COL WIDTH=27><COL WIDTH=72><COL WIDTH=75></COLGROUP>
 	<TBODY>
@@ -527,7 +527,7 @@
 </TABLE>
 <!-- ************************************************************************** -->
 <HR>
-<A NAME="table1"><H1>Sheet 2: <EM>Sheet3</EM></H1></A>
+<A NAME="table1"><H1>Sheet 2: <EM>Privs</EM></H1></A>
 <TABLE FRAME=VOID CELLSPACING=0 COLS=5 RULES=GROUPS BORDER=1>
 	<COLGROUP><COL WIDTH=136><COL WIDTH=89><COL WIDTH=505><COL WIDTH=158><COL WIDTH=115></COLGROUP>
 	<TBODY>
@@ -565,7 +565,7 @@
 		</TR>
 		<TR>
 			<TD ALIGN=LEFT VALIGN=MIDDLE>Inst</TD>
-			<TD ALIGN=LEFT>Can instantiate a sim template into a simulation and edit the simulation</TD>
+			<TD ALIGN=LEFT>Can see ready_p templates and instantiate them into simulations</TD>
 			<TD ALIGN=LEFT><I>sim_inst</I></TD>
 			<TD ALIGN=LEFT>package</TD>
 		</TR>
@@ -734,6 +734,13 @@
 			<TD ALIGN=LEFT><BR></TD>
 			<TD ALIGN=LEFT><BR></TD>
 		</TR>
+		<TR>
+			<TD HEIGHT=17 ALIGN=LEFT>updated with 2-dec chat results</TD>
+			<TD ALIGN=LEFT><BR></TD>
+			<TD ALIGN=LEFT><BR></TD>
+			<TD ALIGN=LEFT><BR></TD>
+			<TD ALIGN=LEFT><BR></TD>
+		</TR>
 	</TBODY>
 </TABLE>
 <!-- ************************************************************************** -->
Index: openacs-4/contrib/packages/simulation/www/doc/permissions-table.sxc
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/doc/Attic/permissions-table.sxc,v
diff -u -r1.7 -r1.8
--- openacs-4/contrib/packages/simulation/www/doc/permissions-table.sxc	2 Dec 2003 15:56:19 -0000	1.7
+++ openacs-4/contrib/packages/simulation/www/doc/permissions-table.sxc	2 Dec 2003 17:24:32 -0000	1.8
@@ -1,46 +1,42 @@
-PK�����	�/E�����������mimetypeapplication/vnd.sun.xml.calcPK���	�/���������������content.xml�]�r�6�ߧ��3{HY����q����N�p�IHBM���^�Av_�O��(J�LJI�ฝI"���G��~Hg?>�x@�cJ�[N���x��d|����������_��z������t4�z�S/m�!�_�����h����"�u�e�n���5H>_��r�n�ݧh%�:��[gE�%F��&�等��n��a�b���u�ϭ�\<���iw���ުü3��@[�H��N��V����#:�=�N;Ӿ�霞�v�}��3e!�cy0�/�[Ӯ$�[�
-�$�0�#��aٛ@�^~��B"}�D�~�Y2;)`p��(�?,��µ�U�9��z�I�Vj�^�9?o�!��	B��%W�[t�~w�y$
-��#/�gZ֋' �L`(��',�������Ap	wZ`D��#����7Q����ICd����( ��>��|���C&�߀��}��Xo@2Z�$3|�p)G�7�etA��M}p9�N�N{�bؓ
-�b�7!���t��BJI`��I̕��\bţ�|�p?d␴�7#&͓	��b�Nrt߾CҚ%
-5ZJ$y�=žr�㞺��x
-8b"�"�^�hx|l��o���)�#����#c
-�":92�ѱUD���o���*��a���ЮeSD�V�'�) �gщ�kͱ�%����i;v����5�$�f�v:���9$�q{��
-��ln�389u�!ٌ�N�1�+ʑ��I�����D(�uNf^�j�Q�F�0hg	#��h��u{�[\�&Ng���.pd���;�"�77�||��`�.}B.kGp����h�@�q��|�c�����f[iK��8�6�Q��W"�N�I�
-8
-�~���L�M�u�=�6���uJj���4fjgl�[��R�B�Ƙ�4RVe87��9��.�wT�e�y�P�v�w?f4&��z�d�aO�ߪ)�����I��f=Y�<L�cA��C�%6dwx�)ʃ��Z�ObEiZ-���9s��V�[
-�x���c��V٤��+��Q<�Z�]�������1�y�<��l����`U�u�=F�&�H�o۲�}���n!]ޚ���r#�h%s���:6�\#��ZT��!W��z{ �K�e^�b�Gw����ԫ�-d��<��]'���~�9����3��Vs�]fˮ���B��:�{��Z�w�Ǻ����eOǍ�o�v]7(�A��`�
-!ľ���<2y�N����t�֒��9��5�#�����&�Q�1�>�Π*�%�pg�����3EA�c!A�O�ĺ<�n�9b	Ĺ#hBS��ǜ�(CmA�e^�ېcH���3���s�A�Q�b֚ȴ'��t�P<Fz\TZ�?�P�`�^���-
-�	Lt�L����L�F_#6�md�S#]_���Շ��o#�}����L3'��@���e!a!ø�R����pG������E�9�vI�ܨK"��gYh��f�Yy]NW}I`VC�0����[��k�f�ͣ�}p ���iC����C���Wy6Jsh����x�y��g$F�9U������*�(
-��I��΀s� ���J	"Ӫ��I����̋(?�Ξ�uW!��<*���o?����I�r 7/P���
-cɨ�_<�W���=P6�ʲ�K@�`�>���<aG���R*�"��5����ֲ��s�����a&��ȱ�O6_�K�S��S��(�1�0�ƹ~O��s�oP0jV�ҧ�t����5}�����#�^%Y��GL�%x4k�����#�l��R�b=��M[K�K?Ĥ>;����qA~�M���:�ɨNyf�A����
-�n�
-��o@�D��&��5����u����
-u�G^��u᳽Ap�	m i0qڲ=Oʇ��ҷ1�+-��ac��̻�U�co6�������ZS�|��ϫϾ��.|�`>,��A�{��rs���J\o�W䎆uv�M�m`�F����Vb�����W�}�>�������}�k/=a-1�'�ir���kw��k%1~�V魄����eja6`,�ͰI�5(IY-9�5n���� v�4ɸk0��nv���kc�:~��4] ���+�P�e��O�]o.@��Z
-Y�x�V��X佽:���a<�C�8��TT� eND��!Xyw��W�v�� �E��������]��a0�Լ���y�
-������1m��\�hK����u�o�9'�d�jJPC�WOs+�ͮ�n�����a5�XCq�1S���w�{�mܒt*_i,2J�8y\gт߼���8@�2��%+�������k����MTP��Yl�br+�BIh��CF��4ݯv.'(�<gr$8B�*^*��WH�7҅F+�=w�u�
-�K����� �DhT�GYJҷ)�[��z�pC`ٮ�k◕0�d���@�h���'y
-}�G0_�mU��$�K��B�~@J������<��גh�|�u�Z�
-�$h�l&�EL�n�y�|PÕy�?�X�d/��c+��J^�����Vճ ��:#�҈F����8�#@�d�-�%}~�fz7-wjI5�<��bFP��rX6�ԛ��y�c�5Re�)��Twe��J�B9�R�����	@�� ���u/f��2m�W�a$�����X���Ք�eh��������,�7ڈ�e��Nn��Ćf��������yN9 
-�����+�@��(�_��&}T���<4����������6s��_���j�Y,� f*�"ϩ��~ǞRw���T�tB4�[���q�.��-ʑ\3�z��,��B9ľ�M�q����*5�%�_�
-�m�bZ�����/y�R'j��Ĥ��I�m��(YS���F,$zH$��6�(�+�&;�&2n��P/��d�|%P�2��ݏ:��� g��«)�W�YV[�w�*��yUA9Ӳ�M)��K6����Ŏa����o�*���&k�k�yI��#И���✲7z&��8�A���K��'Gb�`�%���b"�o�?ʡ��,���L!b�No@���O�Xm���T{y����,A�#FC9�c�}Y7n�=��@��*<��S���Dyx�=iK��ԭBʶ-�,�e�rCɓľd)�
-F>�V�X��J���ءE�WZ�bH�)�������t���nQq=J�ruȟ�=��_�;;\��:�U��O4��C�=���1�b�((x!�άXB�u���?���I����?���?~L�T�O�<�o�����+R
->�9��/W�J�w���.�B(dXB�Xy�w��d�ȼJwE�!�e�"�tduOH���R%m�҂U�{��[���.�U�)M%U"���PK��.�
-�����PK���	�/������������
-���styles.xml�Xmo�6��_��C��%9i����i�i4ɰ}d$J&*�I�I��/z�%yk��&A���;ޝ�<{(r�sA]��,pLc����ۛwމ{��������Wo��$Ƨ	��S�	��c�\ݾ�����z�Ybz��f�g�~s��s�Ɂc|���q��Y"7Z���T���]KY��>�SX{�<�<�v��=��5ju�䤶Rh����Z�VO8�Lj+`��OY���lf��.�����j�<�~���Z�V���H�D=^�}6d�x�@�׈O�5ZF�=�$�28�q��B���EK/&�+�ƿ��r�Qq���ݖ&kS��8�Rخ8晢r�5�Br�
-�7̑s��]'eF=E�W�ST2�j@�\�sDId��#Nt����nКh�H��¹�b� g�p�if�s|-�N̝[J�``���׃����1{�S�I�rņ��?S�djR�D�ST�R�F-J]��[��ҋKE����^����;�!��$G4�P�ꅘUTr8��znj�At,��rm�֥��Zfm��3bV�9~hSl�n#�<(�[Vz	QU���KB��@��)r���"c���[�R5�(�[��T�*q��p�5���q�94��!apx5�J�Y�$Q�F��5�Xܱ���ωZ���O
-�-#�d�$'�4�*���w���Wɚ����ҷ!g�Ꞥ)��@��>y
-���j|/P��'����=�+����L�Z5���2�${�\��ٹ�ss�cө|���XLﵒ�f���G^$;��r7�b�U4��"�
-`��k}�gH[����h�I����t
-�����/�OV���Nq�F��/�q�5i�q��V�{tj�'X�U�N�CK� �a)<R��HԾ�o�t�E^׌
-{��cs�r�x̙Dj�C*�V�"��o��U:�$��0J�7�ȡtt}+�p�ޱ!���pv���~��֖̓�����Ȭ��R�n�KNm���8��u�DĨ��h�x5�tۜ;�wL�k���rP�
-�Fb�l8�5�y���{���5īm�CĨ�Z��拗�#x�Ќ{,N���!<)c�?�h�2����I��8�k��P)��z���#�����y�/{i�ih�a�şT;�I�*�ā�nh�h@��pK~�0�M���-�V`�
-�]T��F��I�n%61��������Xcl^��������hWʭLغ-*�u�'�Fhd)�E���W���P��.
-��:k;jS=�'!�;4�c�#.�$v�C��8S]V���\;ό�$2滛��;<�N�-���u:�extB���Q��dW�ԏ�s?���,��pj��=<:}yt.�C������w��R�Xt�ڿ�w��E��?_��PK�~����PK�����	�/I�:����������meta.xml<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE office:document-meta PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd"><office:document-meta xmlns:office="http://openoffice.org/2000/office" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" office:version="1.0"><office:meta><meta:generator>OpenOffice.org 1.1.0 (Linux)</meta:generator><!--645(Build:8693)--><meta:creation-date>2003-11-20T15:33:53</meta:creation-date><dc:date>2003-12-02T16:56:19</dc:date><meta:print-date>2003-12-02T11:14:45</meta:print-date><dc:language>en-US</dc:language><meta:editing-cycles>22</meta:editing-cycles><meta:editing-duration>PT5H57M35S</meta:editing-duration><meta:user-defined meta:name="Info 1"/><meta:user-defined meta:name="Info 2"/><meta:user-defined meta:name="Info 3"/><meta:user-defined meta:name="Info 4"/><meta:document-statistic meta:table-count="2" meta:cell-count="144"/></office:meta></office:document-meta>PK���	�/���������������settings.xml��s�:���_��a_���n�m�AQK���ڭoRH7$Q����v�TZ�:s�N�����|��ο/\\�C?@�\H�ӢT�Ĥ"��4wNΤ��Vo[��A�@�	�Z�]H�I��Aa0i��VA:��[��X���,�c��\��bnH��7RAJ�����y&�{I����Br��2�v�/;�b�('�Һ�#��I?��Ө����K7�&%�~�]�i��Z����ˍ�D}
->A��>��m\^�9��S-�me��OQ��1����-=.D�I����.p>���Ŝm��j�lo�%D������j}W���D,��V���wR\�X���0Ҭ�����BXz����sx�����"�!+�0�[�P@�������K�|=�}�
-]�G��>ZQ���=�X�Z0������g�<=����9E��|�dhc�;�y����6�QVL�y�n�6|o�M�u��r��`�j�&��l�H�0s�#�|D��#Ȟ��G��yˮg4)S���=1L�bl�?3G-U��32��s�A���N����b�A�l(R�W鵜pݡ�0���ρ��'�7(����p��A���Y������X讏қ���E1�ShL�*�k�r�sμ�Y��U.A�]]2��%�v�HHx�9]nC����5(t�^bD'��Lw�!fVւ���hF0�����,�����)�x=4,4GA���ow>��I������O	Z��(g6�>oٮ@��iZr�@t�{��>֌?l��!�s�Y����T�c9�X�>��?z9z˒2��1������_d�^?a�������f�����q�>0@�k�&"�_J����#��Q^�wW�ɪ���?����>}[�NQ��G�/d���tf��Oc�(�[G�n�x�+�i.�����V�o�Fw����x`{s��� #����X����v<K��Jӛ����Cou_��q1j�%�t-�pG ӕ�-���z�E=U	��\y��#l^��`����ѝ�gwQ�w���ǘ��Ñ���0l_�דn�̦7t'�qwZ�������ky=U��e��F���Oi��F�����������	2�hMn�Or[�5UȧBތQ�R5ů
-y�\7�s�Ľ��"�kR��ڦ4w�^�:ZK�c{�py�ъ�^2�jwqy��J��&�Ô�UR?>���n�����~����:z��N�#�6Pj��+�@T*`�⫣r}g�m���r�n̊�L����c{�X������/rF2���I�}0p�H���C}Y$-��d"���h;/v�a���h(�gP'z��n�#@�9Ӛ*�]�	mDx��Q�mb�Z~�m؛���u="8��\C�(o�AHL�-Ord�p���qKZ��H&��Hǧ���k��F���JdW�hbB��J�&\~񒋜��N�_PK�˻6���[$��PK���	�/���������������META-INF/manifest.xml�ұj�0�O��n�ө;��)�ڃ3t�9Ȓ��!~����B��I��_p���q��kg3X�	����38T��+l7O�s^쪟r/ZiuC���A���Ϗ�����M�Ů?"�U.���`#�A���\C�o����5�s�Ft�w���$+��$f�ц"�܏�S�e�cGȮ3ZI�Ƴ�c?�8��4
-�f0&�$�2@��&�WJ�x��?�1]C���r�C��u=����lK,��J�ai�iS�Y��/PKS�S�������PK������	�/E�������������������������mimetypePK����	�/��.�
-������������������B���content.xmlPK����	�/�~����
+PK�����/E�����������mimetypeapplication/vnd.sun.xml.calcPK���/���������������content.xml�]�r�8}������)ZHY�����N�{R���d�'LB�$�@�������/�%J&%�$�8N�l���8w�P?>�x@�cJ.[N���x��d|����������_.���ӛ����3����k�zq��h{��|����wo@���~����:���ݷ_߂����]@������Z	��/���Es����I�ek"D��ۥ������z��sk~�`3��H�z����m�)Rr���FjE u�ҏ�z:�v�}M霟�w�}��e!\`y0�/�׭))��;�6#���?��'
+|X@�&�m֟�Xj��o�H�O�������Q���~�>nd��yG��'$�����r~��C����M+���������H:v�G^��.���W@��P��OXp!;	�?�����&�#�`v���(�{m���.",<��Ȱ���f�_ᄆ�i���W�}�ar��+���\�t�6\���`�]�pS\�������#�������m�96�_���Z�kkc�+�x�Y�3��L�A�VzgĤ{2�W��I���wHz��zK�$����W��t�s�o�g@lB�ZD��OOM��":;=1EtbQxb���]Dg'�::��h0�M�YEt:읙"����``���*"��5���":sc�96���t20vm�n���ƞ��L�N�?83�d3o:�A�����tg�1$����8�:bE5��<0��؞ <����<�7C�9j�H��,�bd� 
+��n�|��B�D�����l�x�s�;\��OO��,`~ХC�b��Q;��-�8y��;_��G��"�P�h�� m� SG��v<J��jA���9�Z���=��_��[�Zsj�����H]���-mNc�V�F��UJ(EB6Ƥ���*ñ���mѾ�BN�/[�����1�1���C�`?{����R�;R'Ej�S�$x���˂F��+*>l����ST5���"�ƊʴZ�s����w�V
+���ǁ׽�Ig-ZW8ҁ�x|����%��9v�{b6�e:B�٨Yw�2�ɪp��{�VML�
+�v�o��dc�A��35	�F��J�\��ulԹF����j�B��}��@��T����4��.��CW�iT�;�~�eړ��.Z�+�.k�#�}W�G���֐���]{_�̱s�b%���R��J����	#�쭺n1ԃ��`�*!ľ�٥�:2����O1�鴭5;/s�c׬�h,L�y`�W�<F9�d�hR/�CUK�Ý����O/�)�a�L�|%��nt���K .A3��4<��Gj�z��ʺ@܆CR��:C���ĉ�Fm�yk
+ Ӟ`�@��x4����i���������B�V-
+�	Ll�ĺ���L�F_#7�mT�S#��Bm�W�f�����)JD6*͜`�Fu����L��SH��-��;�Ϯ.�.��|�K������,2��f���R}F`��&�G��+h�4O�Ͼ�'G"��Hd��ӆ�O������g/�l����s<�ށ�V���pT[��:�����Kyh�Lr�u����!ȿl��$�L��Z�į����,�@��;�r�]����"���
+�"$YʎܼB@�߽�78����<|����\ș쑊yRV�_z���7�	;F��Q�e�oY�H�����_
+�v��77
+��D�m�q�"}A�/!Oy�o��FY���96.�;�Ł�|��Q���1]��3\���m���},>��E��9~��Y��A�~���8bͦ
+��)�7�ܰ��/��CL��/]���B�,������'-/�~�v{V��{�&V?o�����_�n�{���pm��[>�
+���
+��XLhE�IЖ�<+���k�F�V���������7�����K�:�p֫jM��I�</1����Y���B���56��
+�/ip�Yސ{���s�6)���f��[�E�FZ,f/1��cvOs����0�^{�Za|H��d���e�ầ!�Ja��2Z	%���e��l�X^�a�k�%e}�I�~�'(�`��I�]�~�l�_�\]��։�U��
+R�=u���l���r՛s�*��B,>T���X彃z���� ��Cظ��LT�Aʂ��!sF��*���`�A�1�O���=�e嵻,�1�`Ω��g�j ���?��	m>�\�hO�:݃�u�o�1'{e�k�PC���C'O����`X/!6p�~h̔���]���G�$��'�|�-���Y4�7�Ư�
+h\fcgɍ�����~�[�|��Ml�ꭊ�,��P����g[n�t��Y���h��9S"�P�R	D�A2��.4bXy�X�i0l�vU�߽�?O� ��P3�Fuy�ԥd}����j���w�$��Z�|K��&���b����|�$�a�E�3��j���dvf�ZJ���HY����Y���z�Z�����h:ya��U2�a��V�}�\�+�rxf������7��֎��<ƛ#��Y�'��:#��DF���8�#@�d�-�K\`�'�rG��2�)�N,���#��Q��*�<`�e�H�0�@�Eݥ_�K�Pʼ���)��A"".շ�kz/f�e�6���~y��C,�I����I��1V߽�:�!�'���FB.�d�����PHl�滟/���^�T�����lN�v%�F���W�K^�f�
+�џ��t�
+e�yub� 3��Z���6��\�'˥�9�
+ώ�	�sO�߅w��b:����[c�B��I\�o+��\3�y�S�EB9̾���qb���*5�%�_V
+Vm�bZ����W�|��5��Kb�VRr��6J��d����B���õFCEm�d��D&��\��iA5���e=cJ��(��ۭ��rԙO������h-��q��A�qR��(�0�ͱ�D�t��F]?0��\"q< �u]���zƻ��B�^��g�ws1:B�S�J��S>�=Rb�s��b
+(�S,���,9~�Qvf��j�;0�Dd���Ȱ{�(��ח}��jɎw��Z��w��LV	�/1�^��=ʼq��Q���sP��Ǟ~��T�,4��Gؓ���,�*�l�R�rY&�d(e�ؗ"�K��ߪnѯb�M�<��Q��֗�q
+��|�6�6�`o�[T^@�R�\=�W+�� �̇���CȪF�G���!�������{1�
+�%|&���XBYu���?��������@�����L?������]i�R
+>�5��/o���gեE[�LK��G��t=X)6/�]�n}Y@��/Y�R���RI���`�����o����#g?Q�����f�RF\������|YW�)��%W"���PK^Ӹ2
+�����PK���/������������
+���styles.xml�Xmo�6��_��C��%9m����i�i4ɰ}d$J&*�I�I��/z�%yk��&A���;ޝ�<{(r�sA]��,pLc����ۛwމ{��������Wo��$Ƨ	��S�	��c�\ݾ�����z�Ybz��f�g�~s��s�Ɂc|���q��Y"7Z���T���]KY��>�SX{�<�<�v��=��5ju�䤶Rh����Z�VO8�Lj+`��OY���lf�C�.�����j�<�~���Z�V���H�D=^�}6d�x�@�׈O�5ZF�=�&�28�q��B���EK/&�+�ƿ��r�Qq���ݖ&kS��8�Rخ8晢r�5�Br�
+�7̑s��]'eF=E�W�ST2�j@�\�sDId��#Nt����nКh�H�~�\T1I���s�Y�_~�s�(�y���<�:r�/�s�\�!B�C���.��T;��U��T�Q�RW�/�y���%���@Q��Ǥ@�W�(�b��{Ȧ)��*���z!f�N���1�!A�>�\�u)���Y�C����e��۲�ȇ,
+�C���^B�DT��`���x��4�hi���u��>?�V�T�3���v�>�z�J��ńd@"�~
+a��F\q��qD���b%�,G��^#yՁך~,�X^���D��ɋ���2t��Z�qV�z���;T�Y��dM�l�v�ې3huO�Jx��؃T���~��i5��l�M�����~��i&_��\Ce�[��^.N����
+̹�y۱�T>|�G,��ZI�x3z�s�#�����D9��r��*�`SH0�޵�Գ	�����F��$[����M:�h[���y�'�M�N����Dϗ�8ٚ4�8�|�a+�=:����v��%Q�ϰ��j$j_Ƿu:�"�kƆ�NDZ�d�l<�L"��!�V+w������*	S�����L�P:���E8M�ؐD��a8;Z�M�ldkK��l~t|hd�tUx�~��%����c��CȺ�h"bTbm�@<��]�mΝ�;&��AQ�S9(�a#1H6�ͼ�M��=y�����6�!bTa�}f����<ch�='/���!<)c�?�h�2����I��8�k��P)��z���Gj�,'��$�_��$���
+��v3�?�vL��U<�����рf�����o=a�5����?ZR��(nZ��,M�8����Jlb-U�;-�_��ؼ EgggK{Ѯ�[��u[T��O����R���5��ӯ�+�A�6�]��u�v Ԧz�OB�wh���G\2>I�|�X�gq�����7�v�=Id�U1��wx��[��g�t���s_�������7
+�~0W6ZJ+:pj��=<>
+�O��P����o���]E��-]E��/�?|���ϗ�?PK�;��~����PK�����/=�p���������meta.xml<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE office:document-meta PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd"><office:document-meta xmlns:office="http://openoffice.org/2000/office" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" office:version="1.0"><office:meta><meta:generator>OpenOffice.org 1.1.0 (Linux)</meta:generator><!--645(Build:8693)--><meta:creation-date>2003-11-20T15:33:53</meta:creation-date><dc:date>2003-12-02T17:07:28</dc:date><meta:print-date>2003-12-02T11:14:45</meta:print-date><dc:language>en-US</dc:language><meta:editing-cycles>23</meta:editing-cycles><meta:editing-duration>PT6H6M23S</meta:editing-duration><meta:user-defined meta:name="Info 1"/><meta:user-defined meta:name="Info 2"/><meta:user-defined meta:name="Info 3"/><meta:user-defined meta:name="Info 4"/><meta:document-statistic meta:table-count="2" meta:cell-count="145"/></office:meta></office:document-meta>PK���/���������������settings.xml��s�:���_��a_uݺۺ���V[�[���nH���7A�n��uf�:S-���9�:9	�}���4�a�(9��NJT�Ħ"�4��N����o��]�U���Ȇ_j�>$�(��qݨ�7��V��d�&��&�;��+��H/���u�7$˭k�$���s��Y.�{I��+��1|�e���_v*��ȫki]`�����$�qr������J7�6%��}�]�W*Ҧ
+��ڣ��g+�5�1���ַ	�yMf&�����y�?A�0TCF4�6B��&5�3�9�]�.�g�!�"�y�Е/������\o������[�G>�q�:YS0��Ii>`��[���d��X�G����<Ќ�#��5G��h����aD�>��C��־,֏O�w[{����hI	�0b=��l�{4�a�Ð!�P���������U��L�C@ܜ�)8l6��9hm�ü��#w��{CmRƨ��/����1�y���\;X��~�����7������'N���v|����Ki޲�C������|򥘑)���s�:�tp���\U���B�~�H���M��&O��C(�=�E��Ը8���LaHS��<,�w�_Sv(t'Dٍ�Ȃ�QL�S1�ʕ�I�����_�* ��>���o�b�� d<��nD71È@s�[G&̮{1b��Df;z3k6��v�`�0����V��@Y��qW�[��(��=��;_t���E��^H	Z���`2�>kٮA�����Eѹ�9R�X3�gkF������N>�����c9�_/G�YRcF5���P�<ߚ^�k~��y���7N0���'�}����q�H��U���p!5b������Ve��^�˪�'Ɗ��9y]�VU{��H/d�����c��Ok���_G�N[�3չF�p�Y��0������̽;���`f�[d�9<����R��v���u��?z�� X�U��t�$�_�l�	,�2Y:�2/?���$��j��*s�b�bH�#C���VgR��&��厏R&n��/2İ%|i]�;m2�\��F���t&�u�����j��KM�^���\q#��ˏr�Wy�C��y0�Yz�&7�G�+�.�!o��T���W�<u��޹V�^iq�ˋ5��ccS�;��kmC�Ԟ>X\�
+E���B^��/N�ѩ�ׄ|�� c���TN����3�����=S{��c��Ⱥ��Z��j7�Jؕ�j�\�,@���=~\����/[�/R��^+Uzhǭ�����,�b�P�#��?m��B����Ld@�>�������:LBR��������,x�
+BH6gZS���7��OQsj�B�8/��u�j�nz^�~�Hd�{?�4�+5�mݏ��b���^��NVor�
+����j;��?�~�R���c����%�4@l�X�݄��^p��^�i�PK�v�!���W$��PK���/���������������META-INF/manifest.xml�ұj�0�O��n�ө;��)�ڃ3t�9Ȓ��!~����B��I��_p���q��kg3X�	����38T��+l7O�s^쪟r/ZiuC���A���Ϗ�����M�Ů?"�U.���`#�A���\C�o����5�s�Ft�w���$+��$f�ц"�܏�S�e�cGȮ3ZI�Ƴ�c?�8��4
+�f0&�$�2@��&�WJ�x��?�1]C���r�C��u=����lK,��J�ai�iS�Y��/PKS�S�������PK������/E�������������������������mimetypePK����/^Ӹ2
+������������������B���content.xmlPK����/�;��~����
 ��������������
-��styles.xmlPK������	�/I�:��������������������K��meta.xmlPK����	�/�˻6���[$���������������_��settings.xmlPK����	�/S�S��������������������U��META-INF/manifest.xmlPK������Z�������
\ No newline at end of file
+��styles.xmlPK������/=�p�������������������c��meta.xmlPK����/�v�!���W$���������������v��settings.xmlPK����/S�S��������������������h��META-INF/manifest.xmlPK������Z�������
\ No newline at end of file
Index: openacs-4/contrib/packages/simulation/www/simbuild/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/index.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/contrib/packages/simulation/www/simbuild/index.tcl	13 Nov 2003 15:35:48 -0000	1.2
+++ openacs-4/contrib/packages/simulation/www/simbuild/index.tcl	2 Dec 2003 17:24:32 -0000	1.3
@@ -5,3 +5,5 @@
 set page_title "SimBuild"
 set context [list $page_title]
 set package_id [ad_conn package_id]
+
+permission::require_permission -object_id $package_id -privilege sim_template_read
Index: openacs-4/contrib/packages/simulation/www/simbuild/role-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/role-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/simbuild/role-delete.tcl	13 Nov 2003 15:35:48 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/simbuild/role-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -20,7 +20,7 @@
    "
                   ]
 if { [template::util::is_true $confirm_p] || $num_of_tasks == 0 } {
-    
+    permission::require_write_permission -object_id $role_id    
     simulation::role::delete -role_id $role_id
     ad_returnredirect $return_url
 }
Index: openacs-4/contrib/packages/simulation/www/simbuild/role-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/role-edit.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/contrib/packages/simulation/www/simbuild/role-edit.tcl	1 Dec 2003 10:20:16 -0000	1.3
+++ openacs-4/contrib/packages/simulation/www/simbuild/role-edit.tcl	2 Dec 2003 17:24:32 -0000	1.4
@@ -46,7 +46,7 @@
         {html {size 20}}
     }
 } -edit_request {
-
+    permission::require_write_permission -object_id $role_id    
     workflow::role::get -role_id $role_id -array role_array
     set workflow_id $role_array(workflow_id)
     set name $role_array(pretty_name)
@@ -55,20 +55,20 @@
     set context [list [list "." "Sim Templates"] [list "template-edit?workflow_id=$workflow_id" "$sim_template_array(pretty_name)"] $page_title]    
 
 } -new_request {
-
+    permission::require_write_permission -object_id $workflow_id
     workflow::get -workflow_id $workflow_id -array sim_template_array
     set page_title "Add Role to $sim_template_array(pretty_name)"
     set context [list [list "." "Sim Templates"] [list "template-edit?workflow_id=$workflow_id" "$sim_template_array(pretty_name)"] $page_title]
 
 } -new_data {
-
+    permission::require_write_permission -object_id $workflow_id
     simulation::role::new \
         -template_id $workflow_id \
         -role_short_name $name \
         -role_pretty_name $name
 
 } -edit_data {
-    
+    permission::require_write_permission -object_id $role_id        
     set role_array(pretty_name) $name
 
     workflow::role::edit \
Index: openacs-4/contrib/packages/simulation/www/simbuild/task-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/task-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/simbuild/task-delete.tcl	13 Nov 2003 15:35:48 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/simbuild/task-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -6,6 +6,7 @@
     {return_url "."}
 }
 
+permission::require_write_permission -object_id $action_id
 workflow::action::fsm::delete -action_id $action_id
 
 ad_returnredirect $return_url
\ No newline at end of file
Index: openacs-4/contrib/packages/simulation/www/simbuild/task-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/task-edit.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/contrib/packages/simulation/www/simbuild/task-edit.tcl	1 Dec 2003 10:20:16 -0000	1.4
+++ openacs-4/contrib/packages/simulation/www/simbuild/task-edit.tcl	2 Dec 2003 17:24:32 -0000	1.5
@@ -82,7 +82,7 @@
         {html {cols 60 rows 8}}
     }
 } -edit_request {
-
+    permission::require_write_permission -object_id $action_id
     # TODO - get the recipient (and put all this in simulation api)
     set workflow_id $task_array(workflow_id)
     set name $task_array(pretty_name)
@@ -95,13 +95,15 @@
     set recipient_role [workflow::role::get_element -role_id $recipient_role_id -element short_name]
 
    set assigned_role $task_array(assigned_role)
+} -new_request {
+    permission::require_write_permission -object_id $workflow_id
 } -on_submit {
     
     set description_content [template::util::richtext::get_property contents $description]
     set description_mime_type [template::util::richtext::get_property format $description]
 
 } -new_data {
-
+    permission::require_write_permission -object_id $workflow_id
     # create the task
 
     set action_id [workflow::action::fsm::new \
@@ -122,7 +124,7 @@
         values (:action_id, :recipient_role_id)
     }
 } -edit_data {
-
+    permission::require_write_permission -object_id $action_id
     simulation::action::edit \
         -action_id $action_id \
         -short_name $name \
Index: openacs-4/contrib/packages/simulation/www/simbuild/template-clone.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/template-clone.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/simbuild/template-clone.tcl	20 Nov 2003 12:57:00 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/simbuild/template-clone.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -9,3 +9,4 @@
 set context [list $page_title]
 set package_id [ad_conn package_id]
 
+permission::require_permission -object_id $package_id -privilege sim_template_create
Index: openacs-4/contrib/packages/simulation/www/simbuild/template-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/template-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/simbuild/template-delete.tcl	13 Nov 2003 15:35:48 -0000	1.1
+++ openacs-4/contrib/packages/simulation/www/simbuild/template-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -7,6 +7,8 @@
     workflow_id
 }
 
+permission::require_write_permission -object_id $workflow_id
+
 set template_name [workflow::get_element -workflow_id $workflow_id -element pretty_name]
 set package_id [ad_conn package_id]
 
Index: openacs-4/contrib/packages/simulation/www/simbuild/template-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/simbuild/Attic/template-edit.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/contrib/packages/simulation/www/simbuild/template-edit.tcl	1 Dec 2003 10:20:16 -0000	1.4
+++ openacs-4/contrib/packages/simulation/www/simbuild/template-edit.tcl	2 Dec 2003 17:24:32 -0000	1.5
@@ -45,11 +45,15 @@
         {label "Suggested Duration"}
     }
 } -edit_request {
+    permission::require_write_permission -object_id $workflow_id
     simulation::template::get -workflow_id $workflow_id -array sim_template_array
     set name $sim_template_array(pretty_name)
     set ready_p $sim_template_array(ready_p)
     set suggested_duration $sim_template_array(suggested_duration)
+} -new_request {
+    permission::require_permission -object_id $package_id -privilege sim_template_create
 } -new_data {
+    permission::require_permission -object_id $package_id -privilege sim_template_create
     set workflow_id [simulation::template::new \
                          -short_name $name \
                          -pretty_name $name \
@@ -58,6 +62,7 @@
                          -package_key $package_key \
                          -object_id $package_id]
 } -edit_data {
+    permission::require_write_permission -object_id $workflow_id
     simulation::template::edit \
         -workflow_id $workflow_id \
         -short_name $name \
Index: openacs-4/contrib/packages/simulation/www/siminst/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/index.adp,v
diff -u -r1.7 -r1.8
--- openacs-4/contrib/packages/simulation/www/siminst/index.adp	28 Nov 2003 16:55:52 -0000	1.7
+++ openacs-4/contrib/packages/simulation/www/siminst/index.adp	2 Dec 2003 17:24:33 -0000	1.8
@@ -2,55 +2,29 @@
   <property name="title">@page_title;noquote@</property>
   <property name="context">@context;noquote@</property>
 
-<h2>Templates Ready for Mapping</h2>
-
 <p>
-  <listtemplate name="ready_templates"></listtemplate>
-</p>
-
-<h2>Mapped Templates</h2>
-
-<p>
   <listtemplate name="mapped_templates"></listtemplate>
 </p>
 
-<h2>Current Simulations</h2>
+<h2>Simulations in Casting</h2>
 <p>
   <include src="/packages/simulation/lib/simulations"/>
 </p>
 
 <h2>Help</h2>
 
-<p>
-  The process of creating a simulation form a simulation template is referred to as <b>instantiation</b>. The
-  instantiation process is divided into two steps:
-
-  <ol>
-
-    <p>
-      <li>
-
-        <b>Mapping</b> (Ready Template -> Mapped Template). Starting with
-      a ready (complete) simulation template, a copy (clone) is
-      created. This new template is then mapped to objects in the
-      CityBuild world, such as characters and properties.
-
-      </li>
-    </p>
-
    <p>
-     <li>
 
-      <b>Casting</b> (Mapped Template -> Simulation). From a mapped simulation template, a copy (clone) is created,
+      <b>Casting</b> (Simulation in Development -> Simulation). From a
+      fully developed simulation, a copy (clone) is created (not sure
+      we need to clone any more at this point.  Just keep working on
+      the simulation - JA),
       and this new template becomes a simulation once it is connected to users in 
       the real world and time frame and other properties of the simulation are specified. 
       A simulation is subdivided into one or more simulation cases
       that each have their own set of users and will execute independently of
       eachother. A large class can thus be divided into smaller groups where each group
       has its own simulation case to play in.
 
-     </li>
    </p>
 
-  </ol>
-</p>
Index: openacs-4/contrib/packages/simulation/www/siminst/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/index.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/contrib/packages/simulation/www/siminst/index.tcl	28 Nov 2003 16:55:52 -0000	1.4
+++ openacs-4/contrib/packages/simulation/www/siminst/index.tcl	2 Dec 2003 17:24:33 -0000	1.5
@@ -2,89 +2,49 @@
     The index page for SimInst
 }
 
-set page_title "SimInst"
+set page_title "Simulations in Development"
 set context [list $page_title]
 set package_id [ad_conn package_id]
 
-#---------------------------------------------------------------------
-# Templates ready for mapping
-#---------------------------------------------------------------------
+set add_url "simulation-new"
 
-# TODO: new columns:
-# number_of_roles
-# number_of_roles_not_cast
-# number_of_tasks
-# number_of_tasks_undescribed
-# number_of_prop_slots
-# number_of_prop_unfilled
-# TODO:
-# only show casting link if all the mapping parts are complete
-template::list::create \
-    -name ready_templates \
-    -multirow ready_templates \
-    -no_data "No templates are ready for mapping" \
-    -elements {
-        pretty_name {
-            label "Template"
-            orderby upper(w.pretty_name)
-        }
-        suggested_duration {
-            label "Suggested Duration"
-            orderby suggested_duration
-        }
-        number_of_roles {
-            label "Roles"
-            orderby number_of_roles
-        }
-        min_number_of_human_roles {
-            label "Min \# of players"
-            orderby min_number_of_human_roles
-        }
-        map {
-            link_url_col map_url
-            display_template {
-                Begin mapping
-            }
-        }    
-    }
 
-# TODO: min_number_of_human_roles should take agents into account
-db_multirow -extend {map_url} ready_templates select_ready_templates {
-select workflow_id,
-       suggested_duration,
-       pretty_name,
-       (select count(*)
-        from workflow_roles
-        where workflow_id = w.workflow_id) as number_of_roles,
-       (select count(*)
-        from workflow_roles
-        where workflow_id = w.workflow_id) as min_number_of_human_roles
-  from sim_simulations ss,
-       workflows w
- where ss.simulation_id = w.workflow_id
-   and w.object_id = :package_id
-   and ready_p = 't'
-} {
-    set map_url [export_vars -base "map-create" { workflow_id }]
-
-    if { [empty_string_p $suggested_duration] } {
-        set suggested_duration "none specified"
-    }
-}
-
 #---------------------------------------------------------------------
 # Mapped templates
 #---------------------------------------------------------------------
 
 template::list::create \
     -name mapped_templates \
     -multirow mapped_templates \
+    -actions "{New Simulation From Template} $add_url" \
     -no_data "No templates have been mapped" \
     -elements {
         pretty_name {
             label "Template"
             orderby upper(w.pretty_name)
         }
+        roles {
+            label "Developed Roles / Total Roles"
+            display_template {
+                0 / 9
+            }
+        }
+        props {
+            label "Developed Tasks / Total Tasks"
+            display_template {
+                0 / 8
+            }
+        }
+        delete {
+            display_template {
+                Delete
+            }
+        }
+        copy {
+            display_template {
+                <u>Copy</u>
+            }
+        }
         cast {
             link_url_col cast_url
             display_template {
Index: openacs-4/contrib/packages/simulation/www/siminst/simulation-new.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/simulation-new.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/contrib/packages/simulation/www/siminst/simulation-new.adp	2 Dec 2003 17:24:33 -0000	1.1
@@ -0,0 +1,9 @@
+<master>
+  <property name="title">@page_title;noquote@</property>
+  <property name="context">@context;noquote@</property>
+
+<h2>Available Simulation Templates</h2>
+
+<p>
+  <listtemplate name="ready_templates"></listtemplate>
+</p>
Index: openacs-4/contrib/packages/simulation/www/siminst/simulation-new.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/simulation-new.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/contrib/packages/simulation/www/siminst/simulation-new.tcl	2 Dec 2003 17:24:33 -0000	1.1
@@ -0,0 +1,73 @@
+ad_page_contract {
+    A list of available simulation templates
+}
+
+set page_title "New Simulation From Template"
+set context [list [list . "SimInst"] $page_title]
+set package_id [ad_conn package_id]
+
+#---------------------------------------------------------------------
+# Templates ready for mapping
+#---------------------------------------------------------------------
+
+# TODO: new columns:
+# number_of_roles
+# number_of_roles_not_cast
+# number_of_tasks
+# number_of_tasks_undescribed
+# number_of_prop_slots
+# number_of_prop_unfilled
+# TODO:
+# only show casting link if all the mapping parts are complete
+template::list::create \
+    -name ready_templates \
+    -multirow ready_templates \
+    -no_data "No templates are ready for mapping" \
+    -elements {
+        pretty_name {
+            label "Template"
+            orderby upper(w.pretty_name)
+        }
+        suggested_duration {
+            label "Suggested Duration"
+            orderby suggested_duration
+        }
+        number_of_roles {
+            label "Roles"
+            orderby number_of_roles
+        }
+        min_number_of_human_roles {
+            label "Min \# of players"
+            orderby min_number_of_human_roles
+        }
+        map {
+            link_url_col map_url
+            display_template {
+                Begin Development
+            }
+        }    
+    }
+
+# TODO: min_number_of_human_roles should take agents into account
+db_multirow -extend {map_url} ready_templates select_ready_templates {
+select workflow_id,
+       suggested_duration,
+       pretty_name,
+       (select count(*)
+        from workflow_roles
+        where workflow_id = w.workflow_id) as number_of_roles,
+       (select count(*)
+        from workflow_roles
+        where workflow_id = w.workflow_id) as min_number_of_human_roles
+  from sim_simulations ss,
+       workflows w
+ where ss.simulation_id = w.workflow_id
+   and w.object_id = :package_id
+   and ready_p = 't'
+} {
+    set map_url [export_vars -base "map-create" { workflow_id }]
+
+    if { [empty_string_p $suggested_duration] } {
+        set suggested_duration "none specified"
+    }
+}
Index: openacs-4/packages/simulation/lib/sim-templates.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/lib/sim-templates.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/simulation/lib/sim-templates.tcl	2 Dec 2003 13:46:53 -0000	1.7
+++ openacs-4/packages/simulation/lib/sim-templates.tcl	2 Dec 2003 17:29:48 -0000	1.8
@@ -17,6 +17,7 @@
 
 set package_id [ad_conn package_id]
 set add_url [export_vars -base "[apm_package_url_from_id $package_id]simbuild/template-edit" ]
+set create_p [permission::permission_p -object_id $package_id -privilege sim_template_create]
 
 # TODO: make this include honor the display_mode parameter
 
@@ -48,10 +49,13 @@
 	    -elements {
 		edit {
 		    sub_class narrow
-		    link_url_col edit_url
-		    display_template {
-			<img src="/resources/acs-subsite/Edit16.gif" height="16" width="16" border="0" alt="Edit">
-		    }
+		      display_template {
+                          <if @sim_templates.edit_p@>
+			  <a href="@sim_templates.edit_url@" title="Edit this template">
+                          <img src="/resources/acs-subsite/Edit16.gif" height="16" width="16" border="0" alt="Edit">
+                          </a>
+                          </if>
+		      }
 		}
 		name {
 		    label "Name"
@@ -74,12 +78,14 @@
 		}
 		delete {
 		    sub_class narrow
-		    display_template {
-			<a href="@sim_templates.delete_url@" 
+		      display_template {
+                          <if @sim_templates.edit_p@>
+			  <a href="@sim_templates.delete_url@" title="Edit this template"
                            onclick="return confirm('Are you sure you want to delete template @sim_templates.name@?');">
                           <img src="/resources/acs-subsite/Delete16.gif" height="16" width="16" border="0" alt="Delete">
-                        </a>
-		    }
+                          </a>
+                          </if>
+		      }
 		}
 		clone {
 		    display_template {
@@ -101,7 +107,7 @@
 #
 ######################################################################
 
-db_multirow -extend { edit_url view_url delete_url clone_url } sim_templates select_sim_templates "
+db_multirow -extend { edit_url view_url delete_url clone_url edit_p } sim_templates select_sim_templates "
     select w.workflow_id,
            w.pretty_name as name,
            'placeholder' as description,
@@ -128,4 +134,6 @@
     set delete_url [export_vars -base "[apm_package_url_from_id $package_id]simbuild/template-delete" {workflow_id} ]
 
     set clone_url [export_vars -base "[apm_package_url_from_id $package_id]simbuild/template-clone" {workflow_id} ]
+
+    set edit_p [permission::write_permission_p -object_id $workflow_id]
 }
Index: openacs-4/packages/simulation/lib/yellow-pages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/lib/yellow-pages.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/simulation/lib/yellow-pages.adp	2 Dec 2003 17:29:48 -0000	1.1
@@ -0,0 +1,2 @@
+<p><listtemplate name="objects"></listtemplate></p>
+TODO: modify query to use object_type pretty_name 
Index: openacs-4/packages/simulation/lib/yellow-pages.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/lib/yellow-pages.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/simulation/lib/yellow-pages.tcl	2 Dec 2003 17:29:48 -0000	1.1
@@ -0,0 +1,86 @@
+simulation::include_contract {
+    Displays a list of simulation objects in the directory for the current simulation package instance.
+    This was formerly a mode of the sim-objects includelet but it is different enough to be
+    broken out.
+
+    @author Joel Aufrecht
+    @creation-date 2003-11-12
+    @cvs-id $Id: yellow-pages.tcl,v 1.1 2003/12/02 17:29:48 joela Exp $
+}
+
+######################################################################
+# Set general variables
+
+set package_id [ad_conn package_id]
+
+if { ![exists_and_not_null user_id] } {
+    set user_id [auth::get_user_id]
+}
+
+######################################################################
+#
+# objects list 
+#
+######################################################################
+
+#---------------------------------------------------------------------
+# Set basic elements list
+set elements {
+    object_type {
+        label "Type"
+        orderby upper(ot.pretty_name)
+    }
+    title { 
+        label "Name"
+        orderby r.title
+        link_url_col view_url
+    }
+    description {
+        label "Description"
+        orderby r.description
+    }
+}
+
+#---------------------------------------------------------------------
+# 
+template::list::create \
+    -name objects \
+    -multirow objects \
+    -elements $elements 
+
+#---------------------------------------------------------------------
+# database query
+
+db_multirow -extend {view_url} objects select_objects "
+   select sl.object_id,
+          sl.object_type,
+          sl.title,
+          sl.mime_type,
+          sl.name,
+          sl.item_id,
+          sl.description
+     from sim_locationsx sl
+    where in_directory_p = 't'
+   UNION
+   select sc.object_id,
+          sc.object_type,
+          sc.title,
+          sc.mime_type,
+          sc.name,
+          sc.item_id,
+          sc.description
+     from sim_charactersx sc
+    where in_directory_p = 't'
+
+    [template::list::orderby_clause -orderby -name "objects"]
+" {
+    set description [string_truncate -len 200 $description]
+    switch -glob $mime_type {
+        text/* - {} {
+           set view_url [simulation::object::url -name $name]
+        }
+        default {
+            set view_url [simulation::object::content_url -name $name]
+        }
+    }
+}
Index: openacs-4/packages/simulation/sql/postgresql/simulation-priv-test-users-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/sql/postgresql/simulation-priv-test-users-create.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/sql/postgresql/simulation-priv-test-users-create.sql	2 Dec 2003 13:46:53 -0000	1.1
+++ openacs-4/packages/simulation/sql/postgresql/simulation-priv-test-users-create.sql	2 Dec 2003 17:29:48 -0000	1.2
@@ -1,4 +1,4 @@
--- create dummy users for permissions testing
+1-- create dummy users for permissions testing
 -- create each user and then assign appropriate privs directly
 
 -- this is a temp solution - should instead create all the groups 
@@ -34,7 +34,6 @@
 
         -- create CaseAuthor user and assign privs
         select acs_user__new(null,''user'',null,null,null,null,''cassie'' || random_seed,''email2'' || random_seed,null,''Cassie'',''CaseAuthor'',null,null,null,''t'',null) into user_id;
-        perform acs_permission__grant_permission(package_id,user_id,''sim_template_creator'');
         perform acs_permission__grant_permission(package_id,user_id,''sim_inst'');
         perform acs_permission__grant_permission(package_id,user_id,''sim_object_create'');
 
Index: openacs-4/packages/simulation/sql/postgresql/simulation-privs-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/sql/postgresql/simulation-privs-create.sql,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/simulation/sql/postgresql/simulation-privs-create.sql	2 Dec 2003 13:46:53 -0000	1.5
+++ openacs-4/packages/simulation/sql/postgresql/simulation-privs-create.sql	2 Dec 2003 17:29:48 -0000	1.6
@@ -21,8 +21,8 @@
 select acs_privilege__create_privilege('sim_template_read','Read Simulation Templates',null);
 select acs_privilege__create_privilege('sim_template_create','Create Simulation Templates',null);
 select acs_privilege__create_privilege('sim_template_creator','Create and Read Simulation Templates',null);
-select acs_privilege__add_child('sim_admin_creator','sim_template_create');
-select acs_privilege__add_child('sim_admin_creator','sim_template_read');
+select acs_privilege__add_child('sim_template_creator','sim_template_create');
+select acs_privilege__add_child('sim_template_creator','sim_template_read');
 select acs_privilege__add_child('sim_admin','sim_template_creator');
 
 
Index: openacs-4/packages/simulation/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/index.adp,v
diff -u -r1.24 -r1.25
--- openacs-4/packages/simulation/www/index.adp	2 Dec 2003 13:46:53 -0000	1.24
+++ openacs-4/packages/simulation/www/index.adp	2 Dec 2003 17:24:32 -0000	1.25
@@ -34,7 +34,9 @@
 
   <include src="/packages/simulation/lib/sim-templates" size="short" display_mode="display"/>
 </div>
+</if>
 
+<if @siminst_p@>
 <div style="margin: 4px; padding: 4px; background: lightgray; border: 1px solid
 black;">
   <h3><a href="siminst/">SimInst</a></h3>
Index: openacs-4/packages/simulation/www/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/index.tcl,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/simulation/www/index.tcl	2 Dec 2003 13:46:53 -0000	1.11
+++ openacs-4/packages/simulation/www/index.tcl	2 Dec 2003 17:24:32 -0000	1.12
@@ -12,7 +12,8 @@
 set user_id [auth::get_user_id]
 
 set citybuild_p [permission::permission_p -object_id $package_id -privilege sim_object_create]
-set simbuild_p [permission::permission_p -object_id $package_id -privilege sim_inst]
+set simbuild_p [permission::permission_p -object_id $package_id -privilege sim_object_create]
+set siminst_p [permission::permission_p -object_id $package_id -privilege sim_inst]
 
 ######################################################################
 #
Index: openacs-4/packages/simulation/www/object-xml.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/object-xml.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/object-xml.tcl	7 Nov 2003 16:08:45 -0000	1.1
+++ openacs-4/packages/simulation/www/object-xml.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -7,6 +7,8 @@
     item_id:integer
 }
 
+permission::require_permission -object_id $item_id -privilege sim_set_map_p
+
 set flash_xml [simulation::object::generate_xml -item_id $item_id]
 
 ns_return 200 text/plain $flash_xml
Index: openacs-4/packages/simulation/www/citybuild/generate-xml.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/citybuild/generate-xml.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/citybuild/generate-xml.tcl	13 Nov 2003 14:55:26 -0000	1.1
+++ openacs-4/packages/simulation/www/citybuild/generate-xml.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -6,7 +6,10 @@
 
 set page_title "Generation of Map XML file"
 set context [list [list "." "CityBuild"] $page_title]
+set package_id [ad_conn package_id]
 
+permission::require_permission -object_id $package_id -privilege sim_set_map_p
+
 array set result [simulation::object::xml::generate_file -package_id [ad_conn package_id]]
 
 set error_text [join $result(errors) "\n"]
Index: openacs-4/packages/simulation/www/citybuild/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/citybuild/index.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/simulation/www/citybuild/index.tcl	2 Dec 2003 13:46:53 -0000	1.3
+++ openacs-4/packages/simulation/www/citybuild/index.tcl	2 Dec 2003 17:24:32 -0000	1.4
@@ -8,15 +8,14 @@
     {type:optional}
 }
 
-
 set page_title "CityBuild"
 set context [list $page_title]
 set package_id [ad_conn package_id]
 
 permission::require_permission -object_id $package_id -privilege sim_object_create
 
 set admin_p [permission::permission_p -object_id $package_id -privilege admin]
-set map_p [expr $admin_p ||[permission::permission_p -object_id $package_id -privilege sim_set_map_p]]
+set map_p [permission::permission_p -object_id $package_id -privilege sim_set_map_p]
 
 set notification_widget [notification::display::request_widget \
                              -type [simulation::notification::xml_map::type_short_name] \
Index: openacs-4/packages/simulation/www/citybuild/map-xml.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/citybuild/map-xml.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/citybuild/map-xml.tcl	13 Nov 2003 14:55:26 -0000	1.1
+++ openacs-4/packages/simulation/www/citybuild/map-xml.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -4,4 +4,8 @@
   @cvs-id $Id$
 }
 
+set package_id [ad_conn package_id]
+
+permission::require_permission -object_id $package_id -privilege sim_set_map_p
+
 ns_return 200 text/plain [simulation::object::xml::get_doc]
Index: openacs-4/packages/simulation/www/citybuild/object-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/citybuild/object-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/citybuild/object-delete.tcl	13 Nov 2003 14:55:26 -0000	1.1
+++ openacs-4/packages/simulation/www/citybuild/object-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -6,9 +6,8 @@
     {return_url "."}
 }
 
-permission::require_permission -object_id $item_id -privilege write
-
 if { [template::util::is_true $confirm_p] } {
+    permission::require_write_permission -object_id $item_id    
     bcms::item::delete_item -item_id $item_id
     ad_returnredirect $return_url
 }
Index: openacs-4/packages/simulation/www/doc/permissions-table.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/doc/permissions-table.html,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/simulation/www/doc/permissions-table.html	2 Dec 2003 15:56:19 -0000	1.7
+++ openacs-4/packages/simulation/www/doc/permissions-table.html	2 Dec 2003 17:24:32 -0000	1.8
@@ -7,7 +7,7 @@
 	<TITLE></TITLE>
 	<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.0  (Linux)">
 	<META NAME="CREATED" CONTENT="20031120;15335300">
-	<META NAME="CHANGED" CONTENT="20031202;16561900">
+	<META NAME="CHANGED" CONTENT="20031202;17072800">
 	
 	<STYLE>
 		<!-- 
@@ -21,12 +21,12 @@
 <HR>
 	<P><CENTER>
 		<H1>Overview</H1>
-		<A HREF="#table0">Sheet1</A><BR>
-		<A HREF="#table1">Sheet3</A><BR>
+		<A HREF="#table0">Roles</A><BR>
+		<A HREF="#table1">Privs</A><BR>
 		
 	</CENTER></P>
 <HR>
-<A NAME="table0"><H1>Sheet 1: <EM>Sheet1</EM></H1></A>
+<A NAME="table0"><H1>Sheet 1: <EM>Roles</EM></H1></A>
 <TABLE FRAME=VOID CELLSPACING=0 COLS=21 RULES=GROUPS BORDER=1>
 	<COLGROUP><COL WIDTH=129><COL WIDTH=49><COL WIDTH=48><COL WIDTH=38><COL WIDTH=49><COL WIDTH=37><COL WIDTH=38><COL WIDTH=37><COL WIDTH=48><COL WIDTH=56><COL WIDTH=49><COL WIDTH=48><COL WIDTH=38><COL WIDTH=68><COL WIDTH=49><COL WIDTH=48><COL WIDTH=38><COL WIDTH=46><COL WIDTH=27><COL WIDTH=72><COL WIDTH=75></COLGROUP>
 	<TBODY>
@@ -527,7 +527,7 @@
 </TABLE>
 <!-- ************************************************************************** -->
 <HR>
-<A NAME="table1"><H1>Sheet 2: <EM>Sheet3</EM></H1></A>
+<A NAME="table1"><H1>Sheet 2: <EM>Privs</EM></H1></A>
 <TABLE FRAME=VOID CELLSPACING=0 COLS=5 RULES=GROUPS BORDER=1>
 	<COLGROUP><COL WIDTH=136><COL WIDTH=89><COL WIDTH=505><COL WIDTH=158><COL WIDTH=115></COLGROUP>
 	<TBODY>
@@ -565,7 +565,7 @@
 		</TR>
 		<TR>
 			<TD ALIGN=LEFT VALIGN=MIDDLE>Inst</TD>
-			<TD ALIGN=LEFT>Can instantiate a sim template into a simulation and edit the simulation</TD>
+			<TD ALIGN=LEFT>Can see ready_p templates and instantiate them into simulations</TD>
 			<TD ALIGN=LEFT><I>sim_inst</I></TD>
 			<TD ALIGN=LEFT>package</TD>
 		</TR>
@@ -734,6 +734,13 @@
 			<TD ALIGN=LEFT><BR></TD>
 			<TD ALIGN=LEFT><BR></TD>
 		</TR>
+		<TR>
+			<TD HEIGHT=17 ALIGN=LEFT>updated with 2-dec chat results</TD>
+			<TD ALIGN=LEFT><BR></TD>
+			<TD ALIGN=LEFT><BR></TD>
+			<TD ALIGN=LEFT><BR></TD>
+			<TD ALIGN=LEFT><BR></TD>
+		</TR>
 	</TBODY>
 </TABLE>
 <!-- ************************************************************************** -->
Index: openacs-4/packages/simulation/www/doc/permissions-table.sxc
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/doc/permissions-table.sxc,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/simulation/www/doc/permissions-table.sxc	2 Dec 2003 15:56:19 -0000	1.7
+++ openacs-4/packages/simulation/www/doc/permissions-table.sxc	2 Dec 2003 17:24:32 -0000	1.8
@@ -1,46 +1,42 @@
-PK�����	�/E�����������mimetypeapplication/vnd.sun.xml.calcPK���	�/���������������content.xml�]�r�6�ߧ��3{HY����q����N�p�IHBM���^�Av_�O��(J�LJI�ฝI"���G��~Hg?>�x@�cJ�[N���x��d|����������_��z������t4�z�S/m�!�_�����h����"�u�e�n���5H>_��r�n�ݧh%�:��[gE�%F��&�等��n��a�b���u�ϭ�\<���iw���ުü3��@[�H��N��V����#:�=�N;Ӿ�霞�v�}��3e!�cy0�/�[Ӯ$�[�
-�$�0�#��aٛ@�^~��B"}�D�~�Y2;)`p��(�?,��µ�U�9��z�I�Vj�^�9?o�!��	B��%W�[t�~w�y$
-��#/�gZ֋' �L`(��',�������Ap	wZ`D��#����7Q����ICd����( ��>��|���C&�߀��}��Xo@2Z�$3|�p)G�7�etA��M}p9�N�N{�bؓ
-�b�7!���t��BJI`��I̕��\bţ�|�p?d␴�7#&͓	��b�Nrt߾CҚ%
-5ZJ$y�=žr�㞺��x
-8b"�"�^�hx|l��o���)�#����#c
-�":92�ѱUD���o���*��a���ЮeSD�V�'�) �gщ�kͱ�%����i;v����5�$�f�v:���9$�q{��
-��ln�389u�!ٌ�N�1�+ʑ��I�����D(�uNf^�j�Q�F�0hg	#��h��u{�[\�&Ng���.pd���;�"�77�||��`�.}B.kGp����h�@�q��|�c�����f[iK��8�6�Q��W"�N�I�
-8
-�~���L�M�u�=�6���uJj���4fjgl�[��R�B�Ƙ�4RVe87��9��.�wT�e�y�P�v�w?f4&��z�d�aO�ߪ)�����I��f=Y�<L�cA��C�%6dwx�)ʃ��Z�ObEiZ-���9s��V�[
-�x���c��V٤��+��Q<�Z�]�������1�y�<��l����`U�u�=F�&�H�o۲�}���n!]ޚ���r#�h%s���:6�\#��ZT��!W��z{ �K�e^�b�Gw����ԫ�-d��<��]'���~�9����3��Vs�]fˮ���B��:�{��Z�w�Ǻ����eOǍ�o�v]7(�A��`�
-!ľ���<2y�N����t�֒��9��5�#�����&�Q�1�>�Π*�%�pg�����3EA�c!A�O�ĺ<�n�9b	Ĺ#hBS��ǜ�(CmA�e^�ېcH���3���s�A�Q�b֚ȴ'��t�P<Fz\TZ�?�P�`�^���-
-�	Lt�L����L�F_#6�md�S#]_���Շ��o#�}����L3'��@���e!a!ø�R����pG������E�9�vI�ܨK"��gYh��f�Yy]NW}I`VC�0����[��k�f�ͣ�}p ���iC����C���Wy6Jsh����x�y��g$F�9U������*�(
-��I��΀s� ���J	"Ӫ��I����̋(?�Ξ�uW!��<*���o?����I�r 7/P���
-cɨ�_<�W���=P6�ʲ�K@�`�>���<aG���R*�"��5����ֲ��s�����a&��ȱ�O6_�K�S��S��(�1�0�ƹ~O��s�oP0jV�ҧ�t����5}�����#�^%Y��GL�%x4k�����#�l��R�b=��M[K�K?Ĥ>;����qA~�M���:�ɨNyf�A����
-�n�
-��o@�D��&��5����u����
-u�G^��u᳽Ap�	m i0qڲ=Oʇ��ҷ1�+-��ac��̻�U�co6�������ZS�|��ϫϾ��.|�`>,��A�{��rs���J\o�W䎆uv�M�m`�F����Vb�����W�}�>�������}�k/=a-1�'�ir���kw��k%1~�V魄����eja6`,�ͰI�5(IY-9�5n���� v�4ɸk0��nv���kc�:~��4] ���+�P�e��O�]o.@��Z
-Y�x�V��X佽:���a<�C�8��TT� eND��!Xyw��W�v�� �E��������]��a0�Լ���y�
-������1m��\�hK����u�o�9'�d�jJPC�WOs+�ͮ�n�����a5�XCq�1S���w�{�mܒt*_i,2J�8y\gт߼���8@�2��%+�������k����MTP��Yl�br+�BIh��CF��4ݯv.'(�<gr$8B�*^*��WH�7҅F+�=w�u�
-�K����� �DhT�GYJҷ)�[��z�pC`ٮ�k◕0�d���@�h���'y
-}�G0_�mU��$�K��B�~@J������<��גh�|�u�Z�
-�$h�l&�EL�n�y�|PÕy�?�X�d/��c+��J^�����Vճ ��:#�҈F����8�#@�d�-�%}~�fz7-wjI5�<��bFP��rX6�ԛ��y�c�5Re�)��Twe��J�B9�R�����	@�� ���u/f��2m�W�a$�����X���Ք�eh��������,�7ڈ�e��Nn��Ćf��������yN9 
-�����+�@��(�_��&}T���<4����������6s��_���j�Y,� f*�"ϩ��~ǞRw���T�tB4�[���q�.��-ʑ\3�z��,��B9ľ�M�q����*5�%�_�
-�m�bZ�����/y�R'j��Ĥ��I�m��(YS���F,$zH$��6�(�+�&;�&2n��P/��d�|%P�2��ݏ:��� g��«)�W�YV[�w�*��yUA9Ӳ�M)��K6����Ŏa����o�*���&k�k�yI��#И���✲7z&��8�A���K��'Gb�`�%���b"�o�?ʡ��,���L!b�No@���O�Xm���T{y����,A�#FC9�c�}Y7n�=��@��*<��S���Dyx�=iK��ԭBʶ-�,�e�rCɓľd)�
-F>�V�X��J���ءE�WZ�bH�)�������t���nQq=J�ruȟ�=��_�;;\��:�U��O4��C�=���1�b�((x!�άXB�u���?���I����?���?~L�T�O�<�o�����+R
->�9��/W�J�w���.�B(dXB�Xy�w��d�ȼJwE�!�e�"�tduOH���R%m�҂U�{��[���.�U�)M%U"���PK��.�
-�����PK���	�/������������
-���styles.xml�Xmo�6��_��C��%9i����i�i4ɰ}d$J&*�I�I��/z�%yk��&A���;ޝ�<{(r�sA]��,pLc����ۛwމ{��������Wo��$Ƨ	��S�	��c�\ݾ�����z�Ybz��f�g�~s��s�Ɂc|���q��Y"7Z���T���]KY��>�SX{�<�<�v��=��5ju�䤶Rh����Z�VO8�Lj+`��OY���lf��.�����j�<�~���Z�V���H�D=^�}6d�x�@�׈O�5ZF�=�$�28�q��B���EK/&�+�ƿ��r�Qq���ݖ&kS��8�Rخ8晢r�5�Br�
-�7̑s��]'eF=E�W�ST2�j@�\�sDId��#Nt����nКh�H��¹�b� g�p�if�s|-�N̝[J�``���׃����1{�S�I�rņ��?S�djR�D�ST�R�F-J]��[��ҋKE����^����;�!��$G4�P�ꅘUTr8��znj�At,��rm�֥��Zfm��3bV�9~hSl�n#�<(�[Vz	QU���KB��@��)r���"c���[�R5�(�[��T�*q��p�5���q�94��!apx5�J�Y�$Q�F��5�Xܱ���ωZ���O
-�-#�d�$'�4�*���w���Wɚ����ҷ!g�Ꞥ)��@��>y
-���j|/P��'����=�+����L�Z5���2�${�\��ٹ�ss�cө|���XLﵒ�f���G^$;��r7�b�U4��"�
-`��k}�gH[����h�I����t
-�����/�OV���Nq�F��/�q�5i�q��V�{tj�'X�U�N�CK� �a)<R��HԾ�o�t�E^׌
-{��cs�r�x̙Dj�C*�V�"��o��U:�$��0J�7�ȡtt}+�p�ޱ!���pv���~��֖̓�����Ȭ��R�n�KNm���8��u�DĨ��h�x5�tۜ;�wL�k���rP�
-�Fb�l8�5�y���{���5īm�CĨ�Z��拗�#x�Ќ{,N���!<)c�?�h�2����I��8�k��P)��z���#�����y�/{i�ih�a�şT;�I�*�ā�nh�h@��pK~�0�M���-�V`�
-�]T��F��I�n%61��������Xcl^��������hWʭLغ-*�u�'�Fhd)�E���W���P��.
-��:k;jS=�'!�;4�c�#.�$v�C��8S]V���\;ό�$2滛��;<�N�-���u:�extB���Q��dW�ԏ�s?���,��pj��=<:}yt.�C������w��R�Xt�ڿ�w��E��?_��PK�~����PK�����	�/I�:����������meta.xml<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE office:document-meta PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd"><office:document-meta xmlns:office="http://openoffice.org/2000/office" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" office:version="1.0"><office:meta><meta:generator>OpenOffice.org 1.1.0 (Linux)</meta:generator><!--645(Build:8693)--><meta:creation-date>2003-11-20T15:33:53</meta:creation-date><dc:date>2003-12-02T16:56:19</dc:date><meta:print-date>2003-12-02T11:14:45</meta:print-date><dc:language>en-US</dc:language><meta:editing-cycles>22</meta:editing-cycles><meta:editing-duration>PT5H57M35S</meta:editing-duration><meta:user-defined meta:name="Info 1"/><meta:user-defined meta:name="Info 2"/><meta:user-defined meta:name="Info 3"/><meta:user-defined meta:name="Info 4"/><meta:document-statistic meta:table-count="2" meta:cell-count="144"/></office:meta></office:document-meta>PK���	�/���������������settings.xml��s�:���_��a_���n�m�AQK���ڭoRH7$Q����v�TZ�:s�N�����|��ο/\\�C?@�\H�ӢT�Ĥ"��4wNΤ��Vo[��A�@�	�Z�]H�I��Aa0i��VA:��[��X���,�c��\��bnH��7RAJ�����y&�{I����Br��2�v�/;�b�('�Һ�#��I?��Ө����K7�&%�~�]�i��Z����ˍ�D}
->A��>��m\^�9��S-�me��OQ��1����-=.D�I����.p>���Ŝm��j�lo�%D������j}W���D,��V���wR\�X���0Ҭ�����BXz����sx�����"�!+�0�[�P@�������K�|=�}�
-]�G��>ZQ���=�X�Z0������g�<=����9E��|�dhc�;�y����6�QVL�y�n�6|o�M�u��r��`�j�&��l�H�0s�#�|D��#Ȟ��G��yˮg4)S���=1L�bl�?3G-U��32��s�A���N����b�A�l(R�W鵜pݡ�0���ρ��'�7(����p��A���Y������X讏қ���E1�ShL�*�k�r�sμ�Y��U.A�]]2��%�v�HHx�9]nC����5(t�^bD'��Lw�!fVւ���hF0�����,�����)�x=4,4GA���ow>��I������O	Z��(g6�>oٮ@��iZr�@t�{��>֌?l��!�s�Y����T�c9�X�>��?z9z˒2��1������_d�^?a�������f�����q�>0@�k�&"�_J����#��Q^�wW�ɪ���?����>}[�NQ��G�/d���tf��Oc�(�[G�n�x�+�i.�����V�o�Fw����x`{s��� #����X����v<K��Jӛ����Cou_��q1j�%�t-�pG ӕ�-���z�E=U	��\y��#l^��`����ѝ�gwQ�w���ǘ��Ñ���0l_�דn�̦7t'�qwZ�������ky=U��e��F���Oi��F�����������	2�hMn�Or[�5UȧBތQ�R5ů
-y�\7�s�Ľ��"�kR��ڦ4w�^�:ZK�c{�py�ъ�^2�jwqy��J��&�Ô�UR?>���n�����~����:z��N�#�6Pj��+�@T*`�⫣r}g�m���r�n̊�L����c{�X������/rF2���I�}0p�H���C}Y$-��d"���h;/v�a���h(�gP'z��n�#@�9Ӛ*�]�	mDx��Q�mb�Z~�m؛���u="8��\C�(o�AHL�-Ord�p���qKZ��H&��Hǧ���k��F���JdW�hbB��J�&\~񒋜��N�_PK�˻6���[$��PK���	�/���������������META-INF/manifest.xml�ұj�0�O��n�ө;��)�ڃ3t�9Ȓ��!~����B��I��_p���q��kg3X�	����38T��+l7O�s^쪟r/ZiuC���A���Ϗ�����M�Ů?"�U.���`#�A���\C�o����5�s�Ft�w���$+��$f�ц"�܏�S�e�cGȮ3ZI�Ƴ�c?�8��4
-�f0&�$�2@��&�WJ�x��?�1]C���r�C��u=����lK,��J�ai�iS�Y��/PKS�S�������PK������	�/E�������������������������mimetypePK����	�/��.�
-������������������B���content.xmlPK����	�/�~����
+PK�����/E�����������mimetypeapplication/vnd.sun.xml.calcPK���/���������������content.xml�]�r�8}������)ZHY�����N�{R���d�'LB�$�@�������/�%J&%�$�8N�l���8w�P?>�x@�cJ.[N���x��d|����������_.���ӛ����3����k�zq��h{��|����wo@���~����:���ݷ_߂����]@������Z	��/���Es����I�ek"D��ۥ������z��sk~�`3��H�z����m�)Rr���FjE u�ҏ�z:�v�}M霟�w�}��e!\`y0�/�׭))��;�6#���?��'
+|X@�&�m֟�Xj��o�H�O�������Q���~�>nd��yG��'$�����r~��C����M+���������H:v�G^��.���W@��P��OXp!;	�?�����&�#�`v���(�{m���.",<��Ȱ���f�_ᄆ�i���W�}�ar��+���\�t�6\���`�]�pS\�������#�������m�96�_���Z�kkc�+�x�Y�3��L�A�VzgĤ{2�W��I���wHz��zK�$����W��t�s�o�g@lB�ZD��OOM��":;=1EtbQxb���]Dg'�::��h0�M�YEt:읙"����``���*"��5���":sc�96���t20vm�n���ƞ��L�N�?83�d3o:�A�����tg�1$����8�:bE5��<0��؞ <����<�7C�9j�H��,�bd� 
+��n�|��B�D�����l�x�s�;\��OO��,`~ХC�b��Q;��-�8y��;_��G��"�P�h�� m� SG��v<J��jA���9�Z���=��_��[�Zsj�����H]���-mNc�V�F��UJ(EB6Ƥ���*ñ���mѾ�BN�/[�����1�1���C�`?{����R�;R'Ej�S�$x���˂F��+*>l����ST5���"�ƊʴZ�s����w�V
+���ǁ׽�Ig-ZW8ҁ�x|����%��9v�{b6�e:B�٨Yw�2�ɪp��{�VML�
+�v�o��dc�A��35	�F��J�\��ulԹF����j�B��}��@��T����4��.��CW�iT�;�~�eړ��.Z�+�.k�#�}W�G���֐���]{_�̱s�b%���R��J����	#�쭺n1ԃ��`�*!ľ�٥�:2����O1�鴭5;/s�c׬�h,L�y`�W�<F9�d�hR/�CUK�Ý����O/�)�a�L�|%��nt���K .A3��4<��Gj�z��ʺ@܆CR��:C���ĉ�Fm�yk
+ Ӟ`�@��x4����i���������B�V-
+�	Ll�ĺ���L�F_#7�mT�S#��Bm�W�f�����)JD6*͜`�Fu����L��SH��-��;�Ϯ.�.��|�K������,2��f���R}F`��&�G��+h�4O�Ͼ�'G"��Hd��ӆ�O������g/�l����s<�ށ�V���pT[��:�����Kyh�Lr�u����!ȿl��$�L��Z�į����,�@��;�r�]����"���
+�"$YʎܼB@�߽�78����<|����\ș쑊yRV�_z���7�	;F��Q�e�oY�H�����_
+�v��77
+��D�m�q�"}A�/!Oy�o��FY���96.�;�Ł�|��Q���1]��3\���m���},>��E��9~��Y��A�~���8bͦ
+��)�7�ܰ��/��CL��/]���B�,������'-/�~�v{V��{�&V?o�����_�n�{���pm��[>�
+���
+��XLhE�IЖ�<+���k�F�V���������7�����K�:�p֫jM��I�</1����Y���B���56��
+�/ip�Yސ{���s�6)���f��[�E�FZ,f/1��cvOs����0�^{�Za|H��d���e�ầ!�Ja��2Z	%���e��l�X^�a�k�%e}�I�~�'(�`��I�]�~�l�_�\]��։�U��
+R�=u���l���r՛s�*��B,>T���X彃z���� ��Cظ��LT�Aʂ��!sF��*���`�A�1�O���=�e嵻,�1�`Ω��g�j ���?��	m>�\�hO�:݃�u�o�1'{e�k�PC���C'O����`X/!6p�~h̔���]���G�$��'�|�-���Y4�7�Ư�
+h\fcgɍ�����~�[�|��Ml�ꭊ�,��P����g[n�t��Y���h��9S"�P�R	D�A2��.4bXy�X�i0l�vU�߽�?O� ��P3�Fuy�ԥd}����j���w�$��Z�|K��&���b����|�$�a�E�3��j���dvf�ZJ���HY����Y���z�Z�����h:ya��U2�a��V�}�\�+�rxf������7��֎��<ƛ#��Y�'��:#��DF���8�#@�d�-�K\`�'�rG��2�)�N,���#��Q��*�<`�e�H�0�@�Eݥ_�K�Pʼ���)��A"".շ�kz/f�e�6���~y��C,�I����I��1V߽�:�!�'���FB.�d�����PHl�滟/���^�T�����lN�v%�F���W�K^�f�
+�џ��t�
+e�yub� 3��Z���6��\�'˥�9�
+ώ�	�sO�߅w��b:����[c�B��I\�o+��\3�y�S�EB9̾���qb���*5�%�_V
+Vm�bZ����W�|��5��Kb�VRr��6J��d����B���õFCEm�d��D&��\��iA5���e=cJ��(��ۭ��rԙO������h-��q��A�qR��(�0�ͱ�D�t��F]?0��\"q< �u]���zƻ��B�^��g�ws1:B�S�J��S>�=Rb�s��b
+(�S,���,9~�Qvf��j�;0�Dd���Ȱ{�(��ח}��jɎw��Z��w��LV	�/1�^��=ʼq��Q���sP��Ǟ~��T�,4��Gؓ���,�*�l�R�rY&�d(e�ؗ"�K��ߪnѯb�M�<��Q��֗�q
+��|�6�6�`o�[T^@�R�\=�W+�� �̇���CȪF�G���!�������{1�
+�%|&���XBYu���?��������@�����L?������]i�R
+>�5��/o���gեE[�LK��G��t=X)6/�]�n}Y@��/Y�R���RI���`�����o����#g?Q�����f�RF\������|YW�)��%W"���PK^Ӹ2
+�����PK���/������������
+���styles.xml�Xmo�6��_��C��%9m����i�i4ɰ}d$J&*�I�I��/z�%yk��&A���;ޝ�<{(r�sA]��,pLc����ۛwމ{��������Wo��$Ƨ	��S�	��c�\ݾ�����z�Ybz��f�g�~s��s�Ɂc|���q��Y"7Z���T���]KY��>�SX{�<�<�v��=��5ju�䤶Rh����Z�VO8�Lj+`��OY���lf�C�.�����j�<�~���Z�V���H�D=^�}6d�x�@�׈O�5ZF�=�&�28�q��B���EK/&�+�ƿ��r�Qq���ݖ&kS��8�Rخ8晢r�5�Br�
+�7̑s��]'eF=E�W�ST2�j@�\�sDId��#Nt����nКh�H�~�\T1I���s�Y�_~�s�(�y���<�:r�/�s�\�!B�C���.��T;��U��T�Q�RW�/�y���%���@Q��Ǥ@�W�(�b��{Ȧ)��*���z!f�N���1�!A�>�\�u)���Y�C����e��۲�ȇ,
+�C���^B�DT��`���x��4�hi���u��>?�V�T�3���v�>�z�J��ńd@"�~
+a��F\q��qD���b%�,G��^#yՁך~,�X^���D��ɋ���2t��Z�qV�z���;T�Y��dM�l�v�ې3huO�Jx��؃T���~��i5��l�M�����~��i&_��\Ce�[��^.N����
+̹�y۱�T>|�G,��ZI�x3z�s�#�����D9��r��*�`SH0�޵�Գ	�����F��$[����M:�h[���y�'�M�N����Dϗ�8ٚ4�8�|�a+�=:����v��%Q�ϰ��j$j_Ƿu:�"�kƆ�NDZ�d�l<�L"��!�V+w������*	S�����L�P:���E8M�ؐD��a8;Z�M�ldkK��l~t|hd�tUx�~��%����c��CȺ�h"bTbm�@<��]�mΝ�;&��AQ�S9(�a#1H6�ͼ�M��=y�����6�!bTa�}f����<ch�='/���!<)c�?�h�2����I��8�k��P)��z���Gj�,'��$�_��$���
+��v3�?�vL��U<�����рf�����o=a�5����?ZR��(nZ��,M�8����Jlb-U�;-�_��ؼ EgggK{Ѯ�[��u[T��O����R���5��ӯ�+�A�6�]��u�v Ԧz�OB�wh���G\2>I�|�X�gq�����7�v�=Id�U1��wx��[��g�t���s_�������7
+�~0W6ZJ+:pj��=<>
+�O��P����o���]E��-]E��/�?|���ϗ�?PK�;��~����PK�����/=�p���������meta.xml<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE office:document-meta PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "office.dtd"><office:document-meta xmlns:office="http://openoffice.org/2000/office" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" office:version="1.0"><office:meta><meta:generator>OpenOffice.org 1.1.0 (Linux)</meta:generator><!--645(Build:8693)--><meta:creation-date>2003-11-20T15:33:53</meta:creation-date><dc:date>2003-12-02T17:07:28</dc:date><meta:print-date>2003-12-02T11:14:45</meta:print-date><dc:language>en-US</dc:language><meta:editing-cycles>23</meta:editing-cycles><meta:editing-duration>PT6H6M23S</meta:editing-duration><meta:user-defined meta:name="Info 1"/><meta:user-defined meta:name="Info 2"/><meta:user-defined meta:name="Info 3"/><meta:user-defined meta:name="Info 4"/><meta:document-statistic meta:table-count="2" meta:cell-count="145"/></office:meta></office:document-meta>PK���/���������������settings.xml��s�:���_��a_uݺۺ���V[�[���nH���7A�n��uf�:S-���9�:9	�}���4�a�(9��NJT�Ħ"�4��N����o��]�U���Ȇ_j�>$�(��qݨ�7��V��d�&��&�;��+��H/���u�7$˭k�$���s��Y.�{I��+��1|�e���_v*��ȫki]`�����$�qr������J7�6%��}�]�W*Ҧ
+��ڣ��g+�5�1���ַ	�yMf&�����y�?A�0TCF4�6B��&5�3�9�]�.�g�!�"�y�Е/������\o������[�G>�q�:YS0��Ii>`��[���d��X�G����<Ќ�#��5G��h����aD�>��C��־,֏O�w[{����hI	�0b=��l�{4�a�Ð!�P���������U��L�C@ܜ�)8l6��9hm�ü��#w��{CmRƨ��/����1�y���\;X��~�����7������'N���v|����Ki޲�C������|򥘑)���s�:�tp���\U���B�~�H���M��&O��C(�=�E��Ը8���LaHS��<,�w�_Sv(t'Dٍ�Ȃ�QL�S1�ʕ�I�����_�* ��>���o�b�� d<��nD71È@s�[G&̮{1b��Df;z3k6��v�`�0����V��@Y��qW�[��(��=��;_t���E��^H	Z���`2�>kٮA�����Eѹ�9R�X3�gkF������N>�����c9�_/G�YRcF5���P�<ߚ^�k~��y���7N0���'�}����q�H��U���p!5b������Ve��^�˪�'Ɗ��9y]�VU{��H/d�����c��Ok���_G�N[�3չF�p�Y��0������̽;���`f�[d�9<����R��v���u��?z�� X�U��t�$�_�l�	,�2Y:�2/?���$��j��*s�b�bH�#C���VgR��&��厏R&n��/2İ%|i]�;m2�\��F���t&�u�����j��KM�^���\q#��ˏr�Wy�C��y0�Yz�&7�G�+�.�!o��T���W�<u��޹V�^iq�ˋ5��ccS�;��kmC�Ԟ>X\�
+E���B^��/N�ѩ�ׄ|�� c���TN����3�����=S{��c��Ⱥ��Z��j7�Jؕ�j�\�,@���=~\����/[�/R��^+Uzhǭ�����,�b�P�#��?m��B����Ld@�>�������:LBR��������,x�
+BH6gZS���7��OQsj�B�8/��u�j�nz^�~�Hd�{?�4�+5�mݏ��b���^��NVor�
+����j;��?�~�R���c����%�4@l�X�݄��^p��^�i�PK�v�!���W$��PK���/���������������META-INF/manifest.xml�ұj�0�O��n�ө;��)�ڃ3t�9Ȓ��!~����B��I��_p���q��kg3X�	����38T��+l7O�s^쪟r/ZiuC���A���Ϗ�����M�Ů?"�U.���`#�A���\C�o����5�s�Ft�w���$+��$f�ц"�܏�S�e�cGȮ3ZI�Ƴ�c?�8��4
+�f0&�$�2@��&�WJ�x��?�1]C���r�C��u=����lK,��J�ai�iS�Y��/PKS�S�������PK������/E�������������������������mimetypePK����/^Ӹ2
+������������������B���content.xmlPK����/�;��~����
 ��������������
-��styles.xmlPK������	�/I�:��������������������K��meta.xmlPK����	�/�˻6���[$���������������_��settings.xmlPK����	�/S�S��������������������U��META-INF/manifest.xmlPK������Z�������
\ No newline at end of file
+��styles.xmlPK������/=�p�������������������c��meta.xmlPK����/�v�!���W$���������������v��settings.xmlPK����/S�S��������������������h��META-INF/manifest.xmlPK������Z�������
\ No newline at end of file
Index: openacs-4/packages/simulation/www/simbuild/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/index.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/simulation/www/simbuild/index.tcl	13 Nov 2003 15:35:48 -0000	1.2
+++ openacs-4/packages/simulation/www/simbuild/index.tcl	2 Dec 2003 17:24:32 -0000	1.3
@@ -5,3 +5,5 @@
 set page_title "SimBuild"
 set context [list $page_title]
 set package_id [ad_conn package_id]
+
+permission::require_permission -object_id $package_id -privilege sim_template_read
Index: openacs-4/packages/simulation/www/simbuild/role-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/role-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/simbuild/role-delete.tcl	13 Nov 2003 15:35:48 -0000	1.1
+++ openacs-4/packages/simulation/www/simbuild/role-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -20,7 +20,7 @@
    "
                   ]
 if { [template::util::is_true $confirm_p] || $num_of_tasks == 0 } {
-    
+    permission::require_write_permission -object_id $role_id    
     simulation::role::delete -role_id $role_id
     ad_returnredirect $return_url
 }
Index: openacs-4/packages/simulation/www/simbuild/role-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/role-edit.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/simulation/www/simbuild/role-edit.tcl	1 Dec 2003 10:20:16 -0000	1.3
+++ openacs-4/packages/simulation/www/simbuild/role-edit.tcl	2 Dec 2003 17:24:32 -0000	1.4
@@ -46,7 +46,7 @@
         {html {size 20}}
     }
 } -edit_request {
-
+    permission::require_write_permission -object_id $role_id    
     workflow::role::get -role_id $role_id -array role_array
     set workflow_id $role_array(workflow_id)
     set name $role_array(pretty_name)
@@ -55,20 +55,20 @@
     set context [list [list "." "Sim Templates"] [list "template-edit?workflow_id=$workflow_id" "$sim_template_array(pretty_name)"] $page_title]    
 
 } -new_request {
-
+    permission::require_write_permission -object_id $workflow_id
     workflow::get -workflow_id $workflow_id -array sim_template_array
     set page_title "Add Role to $sim_template_array(pretty_name)"
     set context [list [list "." "Sim Templates"] [list "template-edit?workflow_id=$workflow_id" "$sim_template_array(pretty_name)"] $page_title]
 
 } -new_data {
-
+    permission::require_write_permission -object_id $workflow_id
     simulation::role::new \
         -template_id $workflow_id \
         -role_short_name $name \
         -role_pretty_name $name
 
 } -edit_data {
-    
+    permission::require_write_permission -object_id $role_id        
     set role_array(pretty_name) $name
 
     workflow::role::edit \
Index: openacs-4/packages/simulation/www/simbuild/task-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/task-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/simbuild/task-delete.tcl	13 Nov 2003 15:35:48 -0000	1.1
+++ openacs-4/packages/simulation/www/simbuild/task-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -6,6 +6,7 @@
     {return_url "."}
 }
 
+permission::require_write_permission -object_id $action_id
 workflow::action::fsm::delete -action_id $action_id
 
 ad_returnredirect $return_url
\ No newline at end of file
Index: openacs-4/packages/simulation/www/simbuild/task-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/task-edit.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/simulation/www/simbuild/task-edit.tcl	1 Dec 2003 10:20:16 -0000	1.4
+++ openacs-4/packages/simulation/www/simbuild/task-edit.tcl	2 Dec 2003 17:24:32 -0000	1.5
@@ -82,7 +82,7 @@
         {html {cols 60 rows 8}}
     }
 } -edit_request {
-
+    permission::require_write_permission -object_id $action_id
     # TODO - get the recipient (and put all this in simulation api)
     set workflow_id $task_array(workflow_id)
     set name $task_array(pretty_name)
@@ -95,13 +95,15 @@
     set recipient_role [workflow::role::get_element -role_id $recipient_role_id -element short_name]
 
    set assigned_role $task_array(assigned_role)
+} -new_request {
+    permission::require_write_permission -object_id $workflow_id
 } -on_submit {
     
     set description_content [template::util::richtext::get_property contents $description]
     set description_mime_type [template::util::richtext::get_property format $description]
 
 } -new_data {
-
+    permission::require_write_permission -object_id $workflow_id
     # create the task
 
     set action_id [workflow::action::fsm::new \
@@ -122,7 +124,7 @@
         values (:action_id, :recipient_role_id)
     }
 } -edit_data {
-
+    permission::require_write_permission -object_id $action_id
     simulation::action::edit \
         -action_id $action_id \
         -short_name $name \
Index: openacs-4/packages/simulation/www/simbuild/template-clone.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/template-clone.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/simbuild/template-clone.tcl	20 Nov 2003 12:57:00 -0000	1.1
+++ openacs-4/packages/simulation/www/simbuild/template-clone.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -9,3 +9,4 @@
 set context [list $page_title]
 set package_id [ad_conn package_id]
 
+permission::require_permission -object_id $package_id -privilege sim_template_create
Index: openacs-4/packages/simulation/www/simbuild/template-delete.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/template-delete.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/simbuild/template-delete.tcl	13 Nov 2003 15:35:48 -0000	1.1
+++ openacs-4/packages/simulation/www/simbuild/template-delete.tcl	2 Dec 2003 17:24:32 -0000	1.2
@@ -7,6 +7,8 @@
     workflow_id
 }
 
+permission::require_write_permission -object_id $workflow_id
+
 set template_name [workflow::get_element -workflow_id $workflow_id -element pretty_name]
 set package_id [ad_conn package_id]
 
Index: openacs-4/packages/simulation/www/simbuild/template-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/simbuild/template-edit.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/simulation/www/simbuild/template-edit.tcl	1 Dec 2003 10:20:16 -0000	1.4
+++ openacs-4/packages/simulation/www/simbuild/template-edit.tcl	2 Dec 2003 17:24:32 -0000	1.5
@@ -45,11 +45,15 @@
         {label "Suggested Duration"}
     }
 } -edit_request {
+    permission::require_write_permission -object_id $workflow_id
     simulation::template::get -workflow_id $workflow_id -array sim_template_array
     set name $sim_template_array(pretty_name)
     set ready_p $sim_template_array(ready_p)
     set suggested_duration $sim_template_array(suggested_duration)
+} -new_request {
+    permission::require_permission -object_id $package_id -privilege sim_template_create
 } -new_data {
+    permission::require_permission -object_id $package_id -privilege sim_template_create
     set workflow_id [simulation::template::new \
                          -short_name $name \
                          -pretty_name $name \
@@ -58,6 +62,7 @@
                          -package_key $package_key \
                          -object_id $package_id]
 } -edit_data {
+    permission::require_write_permission -object_id $workflow_id
     simulation::template::edit \
         -workflow_id $workflow_id \
         -short_name $name \
Index: openacs-4/packages/simulation/www/siminst/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/index.adp,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/simulation/www/siminst/index.adp	28 Nov 2003 16:55:52 -0000	1.7
+++ openacs-4/packages/simulation/www/siminst/index.adp	2 Dec 2003 17:24:33 -0000	1.8
@@ -2,55 +2,29 @@
   <property name="title">@page_title;noquote@</property>
   <property name="context">@context;noquote@</property>
 
-<h2>Templates Ready for Mapping</h2>
-
 <p>
-  <listtemplate name="ready_templates"></listtemplate>
-</p>
-
-<h2>Mapped Templates</h2>
-
-<p>
   <listtemplate name="mapped_templates"></listtemplate>
 </p>
 
-<h2>Current Simulations</h2>
+<h2>Simulations in Casting</h2>
 <p>
   <include src="/packages/simulation/lib/simulations"/>
 </p>
 
 <h2>Help</h2>
 
-<p>
-  The process of creating a simulation form a simulation template is referred to as <b>instantiation</b>. The
-  instantiation process is divided into two steps:
-
-  <ol>
-
-    <p>
-      <li>
-
-        <b>Mapping</b> (Ready Template -> Mapped Template). Starting with
-      a ready (complete) simulation template, a copy (clone) is
-      created. This new template is then mapped to objects in the
-      CityBuild world, such as characters and properties.
-
-      </li>
-    </p>
-
    <p>
-     <li>
 
-      <b>Casting</b> (Mapped Template -> Simulation). From a mapped simulation template, a copy (clone) is created,
+      <b>Casting</b> (Simulation in Development -> Simulation). From a
+      fully developed simulation, a copy (clone) is created (not sure
+      we need to clone any more at this point.  Just keep working on
+      the simulation - JA),
       and this new template becomes a simulation once it is connected to users in 
       the real world and time frame and other properties of the simulation are specified. 
       A simulation is subdivided into one or more simulation cases
       that each have their own set of users and will execute independently of
       eachother. A large class can thus be divided into smaller groups where each group
       has its own simulation case to play in.
 
-     </li>
    </p>
 
-  </ol>
-</p>
Index: openacs-4/packages/simulation/www/siminst/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/index.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/simulation/www/siminst/index.tcl	28 Nov 2003 16:55:52 -0000	1.4
+++ openacs-4/packages/simulation/www/siminst/index.tcl	2 Dec 2003 17:24:33 -0000	1.5
@@ -2,89 +2,49 @@
     The index page for SimInst
 }
 
-set page_title "SimInst"
+set page_title "Simulations in Development"
 set context [list $page_title]
 set package_id [ad_conn package_id]
 
-#---------------------------------------------------------------------
-# Templates ready for mapping
-#---------------------------------------------------------------------
+set add_url "simulation-new"
 
-# TODO: new columns:
-# number_of_roles
-# number_of_roles_not_cast
-# number_of_tasks
-# number_of_tasks_undescribed
-# number_of_prop_slots
-# number_of_prop_unfilled
-# TODO:
-# only show casting link if all the mapping parts are complete
-template::list::create \
-    -name ready_templates \
-    -multirow ready_templates \
-    -no_data "No templates are ready for mapping" \
-    -elements {
-        pretty_name {
-            label "Template"
-            orderby upper(w.pretty_name)
-        }
-        suggested_duration {
-            label "Suggested Duration"
-            orderby suggested_duration
-        }
-        number_of_roles {
-            label "Roles"
-            orderby number_of_roles
-        }
-        min_number_of_human_roles {
-            label "Min \# of players"
-            orderby min_number_of_human_roles
-        }
-        map {
-            link_url_col map_url
-            display_template {
-                Begin mapping
-            }
-        }    
-    }
 
-# TODO: min_number_of_human_roles should take agents into account
-db_multirow -extend {map_url} ready_templates select_ready_templates {
-select workflow_id,
-       suggested_duration,
-       pretty_name,
-       (select count(*)
-        from workflow_roles
-        where workflow_id = w.workflow_id) as number_of_roles,
-       (select count(*)
-        from workflow_roles
-        where workflow_id = w.workflow_id) as min_number_of_human_roles
-  from sim_simulations ss,
-       workflows w
- where ss.simulation_id = w.workflow_id
-   and w.object_id = :package_id
-   and ready_p = 't'
-} {
-    set map_url [export_vars -base "map-create" { workflow_id }]
-
-    if { [empty_string_p $suggested_duration] } {
-        set suggested_duration "none specified"
-    }
-}
-
 #---------------------------------------------------------------------
 # Mapped templates
 #---------------------------------------------------------------------
 
 template::list::create \
     -name mapped_templates \
     -multirow mapped_templates \
+    -actions "{New Simulation From Template} $add_url" \
     -no_data "No templates have been mapped" \
     -elements {
         pretty_name {
             label "Template"
             orderby upper(w.pretty_name)
         }
+        roles {
+            label "Developed Roles / Total Roles"
+            display_template {
+                0 / 9
+            }
+        }
+        props {
+            label "Developed Tasks / Total Tasks"
+            display_template {
+                0 / 8
+            }
+        }
+        delete {
+            display_template {
+                Delete
+            }
+        }
+        copy {
+            display_template {
+                <u>Copy</u>
+            }
+        }
         cast {
             link_url_col cast_url
             display_template {
Index: openacs-4/packages/simulation/www/siminst/simulation-new.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/simulation-new.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/simulation/www/siminst/simulation-new.adp	2 Dec 2003 17:24:33 -0000	1.1
@@ -0,0 +1,9 @@
+<master>
+  <property name="title">@page_title;noquote@</property>
+  <property name="context">@context;noquote@</property>
+
+<h2>Available Simulation Templates</h2>
+
+<p>
+  <listtemplate name="ready_templates"></listtemplate>
+</p>
Index: openacs-4/packages/simulation/www/siminst/simulation-new.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/simulation-new.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/simulation/www/siminst/simulation-new.tcl	2 Dec 2003 17:24:33 -0000	1.1
@@ -0,0 +1,73 @@
+ad_page_contract {
+    A list of available simulation templates
+}
+
+set page_title "New Simulation From Template"
+set context [list [list . "SimInst"] $page_title]
+set package_id [ad_conn package_id]
+
+#---------------------------------------------------------------------
+# Templates ready for mapping
+#---------------------------------------------------------------------
+
+# TODO: new columns:
+# number_of_roles
+# number_of_roles_not_cast
+# number_of_tasks
+# number_of_tasks_undescribed
+# number_of_prop_slots
+# number_of_prop_unfilled
+# TODO:
+# only show casting link if all the mapping parts are complete
+template::list::create \
+    -name ready_templates \
+    -multirow ready_templates \
+    -no_data "No templates are ready for mapping" \
+    -elements {
+        pretty_name {
+            label "Template"
+            orderby upper(w.pretty_name)
+        }
+        suggested_duration {
+            label "Suggested Duration"
+            orderby suggested_duration
+        }
+        number_of_roles {
+            label "Roles"
+            orderby number_of_roles
+        }
+        min_number_of_human_roles {
+            label "Min \# of players"
+            orderby min_number_of_human_roles
+        }
+        map {
+            link_url_col map_url
+            display_template {
+                Begin Development
+            }
+        }    
+    }
+
+# TODO: min_number_of_human_roles should take agents into account
+db_multirow -extend {map_url} ready_templates select_ready_templates {
+select workflow_id,
+       suggested_duration,
+       pretty_name,
+       (select count(*)
+        from workflow_roles
+        where workflow_id = w.workflow_id) as number_of_roles,
+       (select count(*)
+        from workflow_roles
+        where workflow_id = w.workflow_id) as min_number_of_human_roles
+  from sim_simulations ss,
+       workflows w
+ where ss.simulation_id = w.workflow_id
+   and w.object_id = :package_id
+   and ready_p = 't'
+} {
+    set map_url [export_vars -base "map-create" { workflow_id }]
+
+    if { [empty_string_p $suggested_duration] } {
+        set suggested_duration "none specified"
+    }
+}