You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(381) |
Nov
(176) |
Dec
(310) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(334) |
Feb
(96) |
Mar
(149) |
Apr
(214) |
May
(120) |
Jun
(56) |
Jul
(10) |
Aug
(273) |
Sep
(182) |
Oct
(56) |
Nov
(125) |
Dec
(22) |
| 2003 |
Jan
(63) |
Feb
(181) |
Mar
(498) |
Apr
(433) |
May
(39) |
Jun
(512) |
Jul
(276) |
Aug
(156) |
Sep
(101) |
Oct
(66) |
Nov
(24) |
Dec
(161) |
| 2004 |
Jan
(1) |
Feb
(377) |
Mar
(68) |
Apr
(26) |
May
(107) |
Jun
(333) |
Jul
(13) |
Aug
|
Sep
(76) |
Oct
(88) |
Nov
(170) |
Dec
(91) |
| 2005 |
Jan
(52) |
Feb
(239) |
Mar
(402) |
Apr
(15) |
May
(2) |
Jun
(1) |
Jul
(13) |
Aug
|
Sep
(71) |
Oct
(34) |
Nov
|
Dec
|
| 2006 |
Jan
(5) |
Feb
(5) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
(7) |
Oct
(2) |
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Chris W. <la...@us...> - 2001-12-01 17:39:28
|
Update of /cvsroot/openinteract/OpenInteract In directory usw-pr-cvs1:/tmp/cvs-serv16215 Modified Files: Changes Log Message: ... Index: Changes =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/Changes,v retrieving revision 1.87 retrieving revision 1.88 diff -C2 -d -r1.87 -r1.88 *** Changes 2001/12/01 17:37:48 1.87 --- Changes 2001/12/01 17:39:22 1.88 *************** *** 3,6 **** --- 3,10 ---- 1.36 Sat Dec 1 12:55:16 EST 2001 + Overall: + + * Two bugfixes in core modules -- no package changes. + Individual: |
|
From: Chris W. <la...@us...> - 2001-12-01 17:38:15
|
Update of /cvsroot/openinteract/OpenInteract In directory usw-pr-cvs1:/tmp/cvs-serv16031 Modified Files: OpenInteract.pm Log Message: bump up version Index: OpenInteract.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/OpenInteract.pm,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** OpenInteract.pm 2001/11/26 13:42:25 1.22 --- OpenInteract.pm 2001/12/01 17:38:12 1.23 *************** *** 9,13 **** @OpenInteract::ISA = (); ! $OpenInteract::VERSION = 1.35; --- 9,13 ---- @OpenInteract::ISA = (); ! $OpenInteract::VERSION = 1.36; |
|
From: Chris W. <la...@us...> - 2001-12-01 17:38:03
|
Update of /cvsroot/openinteract/OpenInteract In directory usw-pr-cvs1:/tmp/cvs-serv15948 Modified Files: RELEASE Log Message: changes for 1.36 (totally minor) Index: RELEASE =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/RELEASE,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** RELEASE 2001/11/29 05:28:01 1.14 --- RELEASE 2001/12/01 17:37:59 1.15 *************** *** 2,5 **** --- 2,10 ---- ========================= + 1.36 Sat Dec 1 12:55:16 EST 2001 + + - Minor bugfixes, both in core OI modules. Easy upgrade. + + 1.35 Thu Nov 29 00:46:51 EST 2001 |
|
From: Chris W. <la...@us...> - 2001-12-01 17:37:54
|
Update of /cvsroot/openinteract/OpenInteract In directory usw-pr-cvs1:/tmp/cvs-serv15885 Modified Files: Changes Log Message: changes for 1.36 (totally minor) Index: Changes =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/Changes,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** Changes 2001/12/01 15:25:57 1.86 --- Changes 2001/12/01 17:37:48 1.87 *************** *** 1,5 **** Revision history for Perl extension OpenInteract. ! 1.36 Individual: --- 1,5 ---- Revision history for Perl extension OpenInteract. ! 1.36 Sat Dec 1 12:55:16 EST 2001 Individual: |
|
From: Chris W. <la...@us...> - 2001-12-01 17:37:29
|
Update of /cvsroot/openinteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv15791
Modified Files:
UPGRADE
Log Message:
cosmetic
Index: UPGRADE
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/UPGRADE,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** UPGRADE 2001/11/20 04:10:10 1.7
--- UPGRADE 2001/12/01 17:37:25 1.8
***************
*** 126,130 ****
to: 'server_info'->'website_name'
! - Added 'login'->'always_remember' (true false; default false)
--- 126,130 ----
to: 'server_info'->'website_name'
! - Added 'login'->'always_remember' (boolean; default false)
|
|
From: Chris W. <la...@us...> - 2001-12-01 15:26:00
|
Update of /cvsroot/openinteract/OpenInteract In directory usw-pr-cvs1:/tmp/cvs-serv20901 Modified Files: Changes Log Message: latest changes Index: Changes =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/Changes,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** Changes 2001/11/29 05:28:01 1.85 --- Changes 2001/12/01 15:25:57 1.86 *************** *** 1,4 **** --- 1,21 ---- Revision history for Perl extension OpenInteract. + 1.36 + + Individual: + + * OpenInteract/CommonHandler.pm: + + - Fixed call in remove() which made the id_field() call against the + wrong class, and added a stub for _remove_customize() (Thanks to + Andreas Nolte <and...@be...> for pointing these + out) + + * OpenInteract/Startup.pm: + + - Added MASK argument to mkdir() (optional in 5.6.1, not in 5.5.x; + thanks to Randal for pointing this out) + + 1.35 Thu Nov 29 00:46:51 EST 2001 |
|
From: Chris W. <la...@us...> - 2001-12-01 15:25:41
|
Update of /cvsroot/openinteract/OpenInteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv20853
Modified Files:
CommonHandler.pm
Log Message:
added stub for _remove_customize(); in remove(), call ->id_field()
against the right class (thx to Andreas Nolte for both)
Index: CommonHandler.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/OpenInteract/CommonHandler.pm,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** CommonHandler.pm 2001/11/06 04:25:07 1.28
--- CommonHandler.pm 2001/12/01 15:25:38 1.29
***************
*** 606,611 ****
my $object_type = $class->MY_OBJECT_TYPE;
my $object_class = $class->MY_OBJECT_CLASS;
! my $id_field = $class->id_field;
! my $object = eval { $class->fetch_object( $p->{ $id_field }, $id_field ) };
return $class->search_form({ error_msg => $@ }) if ( $@ );
--- 606,612 ----
my $object_type = $class->MY_OBJECT_TYPE;
my $object_class = $class->MY_OBJECT_CLASS;
! my $id_field = $object_class->id_field;
! my $object = eval { $class->fetch_object( $p->{ $id_field },
! $id_field ) };
return $class->search_form({ error_msg => $@ }) if ( $@ );
***************
*** 938,942 ****
sub _fetch_object_customize { return $_[1] }
sub _edit_customize { return ( OK, undef ) }
!
--- 939,943 ----
sub _fetch_object_customize { return $_[1] }
sub _edit_customize { return ( OK, undef ) }
! sub _remove_customize { return 1 }
|
|
From: Chris W. <la...@us...> - 2001-11-30 15:22:26
|
Update of /cvsroot/openinteract/OpenInteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv7806
Modified Files:
Startup.pm
Log Message:
added umask to mkdir() function -- optional in 5.6.1 but not in 5.5.x (thanks merlyn!)
Index: Startup.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/OpenInteract/Startup.pm,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** Startup.pm 2001/11/28 05:55:07 1.25
--- Startup.pm 2001/11/30 15:22:22 1.26
***************
*** 248,252 ****
File::Path::rmtree( $lib_dir ) if ( -d $lib_dir );
! mkdir( $lib_dir );
my $site_repos = $REPOS_CLASS->fetch( undef,
--- 248,252 ----
File::Path::rmtree( $lib_dir ) if ( -d $lib_dir );
! mkdir( $lib_dir, 0777 );
my $site_repos = $REPOS_CLASS->fetch( undef,
|
|
From: Chris W. <la...@us...> - 2001-11-30 13:30:39
|
Update of /cvsroot/openinteract/OpenInteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv12795
Modified Files:
Package.pm
Log Message:
cosmetic (update message when modules not found on install)
Index: Package.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/OpenInteract/Package.pm,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** Package.pm 2001/11/28 05:54:21 1.27
--- Package.pm 2001/11/30 13:30:35 1.28
***************
*** 326,330 ****
die "Package $name-$version requires the following modules " .
"that are not currently installed: " . join( ', ', @failed_modules ) .
! "Please install them and try again.\n";
}
}
--- 326,330 ----
die "Package $name-$version requires the following modules " .
"that are not currently installed: " . join( ', ', @failed_modules ) .
! ". Please install them and try again.\n";
}
}
|
|
From: Chris W. <la...@us...> - 2001-11-29 05:35:14
|
Update of /cvsroot/openinteract/OpenInteract/OpenInteract/UI
In directory usw-pr-cvs1:/tmp/cvs-serv15508
Modified Files:
Main.pm
Log Message:
add version var
Index: Main.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/OpenInteract/UI/Main.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Main.pm 2001/10/18 02:47:43 1.5
--- Main.pm 2001/11/29 05:35:11 1.6
***************
*** 5,8 ****
--- 5,11 ----
use strict;
+ @OpenInteract::UI::Main::ISA = qw( OpenInteract::Config );
+ $OpenInteract::UI::Main::VERSION = sprintf("%d.%02d", q$Revision$ =~ /(\d+)\.(\d+)/);
+
sub handler {
my ( $class ) = @_;
|
|
From: Chris W. <la...@us...> - 2001-11-29 05:34:40
|
Update of /cvsroot/openinteract/OpenInteract/OpenInteract/Config
In directory usw-pr-cvs1:/tmp/cvs-serv15394
Modified Files:
Ini.pm
Log Message:
add version var
Index: Ini.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/OpenInteract/Config/Ini.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Ini.pm 2001/10/18 12:03:35 1.4
--- Ini.pm 2001/11/29 05:34:38 1.5
***************
*** 6,9 ****
--- 6,12 ----
use OpenInteract::Config qw( _w DEBUG );
+ @OpenInteract::Config::Ini::ISA = ();
+ $OpenInteract::Config::Ini::VERSION = sprintf("%d.%02d", q$Revision$ =~ /(\d+)\.(\d+)/);
+
# Stuff in metadata (_m):
# sections (\@): all full sections, in the order they were read
|
|
From: Chris W. <la...@us...> - 2001-11-29 05:28:04
|
Update of /cvsroot/openinteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv14116
Modified Files:
Changes RELEASE
Log Message:
put dates, etc on release (finally!)
Index: Changes
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/Changes,v
retrieving revision 1.84
retrieving revision 1.85
diff -C2 -d -r1.84 -r1.85
*** Changes 2001/11/29 05:18:23 1.84
--- Changes 2001/11/29 05:28:01 1.85
***************
*** 1,5 ****
Revision history for Perl extension OpenInteract.
! 1.35
Overall:
--- 1,5 ----
Revision history for Perl extension OpenInteract.
! 1.35 Thu Nov 29 00:46:51 EST 2001
Overall:
Index: RELEASE
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/RELEASE,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** RELEASE 2001/11/28 06:01:02 1.13
--- RELEASE 2001/11/29 05:28:01 1.14
***************
*** 2,6 ****
=========================
! 1.35
- Tons of configuration changes -- please see UPGRADE if you're
--- 2,6 ----
=========================
! 1.35 Thu Nov 29 00:46:51 EST 2001
- Tons of configuration changes -- please see UPGRADE if you're
|
|
From: Chris W. <la...@us...> - 2001-11-29 05:21:43
|
Update of /cvsroot/openinteract/Bundle/OpenInteract In directory usw-pr-cvs1:/tmp/cvs-serv12740 Modified Files: OpenInteract.pm Log Message: update version Index: OpenInteract.pm =================================================================== RCS file: /cvsroot/openinteract/Bundle/OpenInteract/OpenInteract.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** OpenInteract.pm 2001/11/26 06:41:55 1.8 --- OpenInteract.pm 2001/11/29 05:21:41 1.9 *************** *** 5,9 **** use strict; ! $Bundle::OpenInteract::VERSION = '1.07'; 1; --- 5,9 ---- use strict; ! $Bundle::OpenInteract::VERSION = '1.08'; 1; |
|
From: Chris W. <la...@us...> - 2001-11-29 05:18:57
|
Update of /cvsroot/openinteract/OpenInteract In directory usw-pr-cvs1:/tmp/cvs-serv11965 Modified Files: MANIFEST Log Message: latest package versions Index: MANIFEST =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/MANIFEST,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** MANIFEST 2001/11/28 06:01:57 1.75 --- MANIFEST 2001/11/29 05:18:55 1.76 *************** *** 93,106 **** pkg/base_component-1.30.tar.gz pkg/base_error-1.37.tar.gz ! pkg/base_group-1.27.tar.gz ! pkg/base_page-0.38.tar.gz pkg/base_security-1.53.tar.gz pkg/base_template-1.27.tar.gz pkg/base_theme-1.29.tar.gz ! pkg/base_user-1.44.tar.gz pkg/lookup-0.18.tar.gz pkg/object_activity-0.10.tar.gz pkg/results_manage-0.06.tar.gz ! pkg/system_doc-1.27.tar.gz pkg/classified-1.32.tar.gz pkg/full_text-1.30.tar.gz --- 93,106 ---- pkg/base_component-1.30.tar.gz pkg/base_error-1.37.tar.gz ! pkg/base_group-1.30.tar.gz ! pkg/base_page-0.40.tar.gz pkg/base_security-1.53.tar.gz pkg/base_template-1.27.tar.gz pkg/base_theme-1.29.tar.gz ! pkg/base_user-1.45.tar.gz pkg/lookup-0.18.tar.gz pkg/object_activity-0.10.tar.gz pkg/results_manage-0.06.tar.gz ! pkg/system_doc-1.28.tar.gz pkg/classified-1.32.tar.gz pkg/full_text-1.30.tar.gz |
|
From: Chris W. <la...@us...> - 2001-11-29 05:18:25
|
Update of /cvsroot/openinteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv11861
Modified Files:
Changes
Log Message:
latest changes
Index: Changes
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/Changes,v
retrieving revision 1.83
retrieving revision 1.84
diff -C2 -d -r1.83 -r1.84
*** Changes 2001/11/28 06:01:44 1.83
--- Changes 2001/11/29 05:18:23 1.84
***************
*** 231,234 ****
--- 231,239 ----
files.
+ - When installing SQL, call OI::Startup->create_temp_lib() directly;
+ other actions that use the full OI environment don't have to do this
+ because it's called in setup_static_environment(), which we can't do
+ when installing SQL due to bootstrapping issues.
+
* template/base_(main|simple):
***************
*** 257,270 ****
base_component: 1.30 -> 1.30
base_error: 1.32 -> 1.37
! base_group: 1.26 -> 1.27
! base_page: n/a -> 0.38
base_security: 1.51 -> 1.53
base_template: 1.27 -> 1.27
base_theme: 1.27 -> 1.29
! base_user: 1.37 -> 1.44
lookup: 0.15 -> 0.18
object_activity: n/a -> 0.10
results_manage: 0.05 -> 0.06
! system_doc: 1.25 -> 1.27
classified: 1.28 -> 1.32
full_text: 1.27 -> 1.30
--- 262,275 ----
base_component: 1.30 -> 1.30
base_error: 1.32 -> 1.37
! base_group: 1.26 -> 1.30
! base_page: n/a -> 0.40
base_security: 1.51 -> 1.53
base_template: 1.27 -> 1.27
base_theme: 1.27 -> 1.29
! base_user: 1.37 -> 1.45
lookup: 0.15 -> 0.18
object_activity: n/a -> 0.10
results_manage: 0.05 -> 0.06
! system_doc: 1.25 -> 1.28
classified: 1.28 -> 1.32
full_text: 1.27 -> 1.30
|
|
From: Chris W. <la...@us...> - 2001-11-29 05:17:54
|
Update of /cvsroot/openinteract/OpenInteract/conf In directory usw-pr-cvs1:/tmp/cvs-serv11766/conf Modified Files: sample-server.ini Log Message: reorder Index: sample-server.ini =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/conf/sample-server.ini,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** sample-server.ini 2001/11/20 04:08:30 1.5 --- sample-server.ini 2001/11/29 05:17:51 1.6 *************** *** 18,45 **** # - # If you're using a database-backed session store, you just need - # to change 'class' to the relevant storage module (e.g., - # 'Apache::Session::Postgres') - # - # If you're not using a database-backed session store, you should - # be able to change 'class' to something like - # 'Apache::Session::File' and then create relevant entries in - # 'params' (e.g., 'Directory' and 'LockDirectory' for - # 'Apache::Session::File'). - # - # Note that you can also set the expiration for the session - # cookie -- if you set it to be 'undef' the cookie will be - # 'short-lived', meaning it will expire when the user shuts - # down the browser. Otherwise, pass something like the - # following: '+3d' (3 days); '+3M' (3 months); '+480s' (480 - # seconds); '+15h' (15 hours); '+1y' (1 year) - - [session_info] - class = Apache::Session::MySQL - expiration = +3M - params = - - - # # Define the default datasource names to use when an SPOPS object # doesn't specify one --- 18,21 ---- *************** *** 129,132 **** --- 105,132 ---- sasl = 0 debug = 0 + + + # + # If you're using a database-backed session store, you just need + # to change 'class' to the relevant storage module (e.g., + # 'Apache::Session::Postgres') + # + # If you're not using a database-backed session store, you should + # be able to change 'class' to something like + # 'Apache::Session::File' and then create relevant entries in + # 'params' (e.g., 'Directory' and 'LockDirectory' for + # 'Apache::Session::File'). + # + # Note that you can also set the expiration for the session + # cookie -- if you set it to be 'undef' the cookie will be + # 'short-lived', meaning it will expire when the user shuts + # down the browser. Otherwise, pass something like the + # following: '+3d' (3 days); '+3M' (3 months); '+480s' (480 + # seconds); '+15h' (15 hours); '+1y' (1 year) + + [session_info] + class = Apache::Session::MySQL + expiration = +3M + params = |
|
From: Chris W. <la...@us...> - 2001-11-29 05:16:47
|
Update of /cvsroot/openinteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv11534
Modified Files:
INSTALL.website
Log Message:
updated with INI-style config, plus various other small items
Index: INSTALL.website
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/INSTALL.website,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** INSTALL.website 2001/10/17 04:47:07 1.8
--- INSTALL.website 2001/11/29 05:16:44 1.9
***************
*** 35,73 ****
With a plaintext editor (emacs, vi, pico, etc.) Edit the file:
! %%WEBSITE_DIR%%/conf/server.perl
Change the following values:
! 'mail'->'smtp_host'
Set to an available server to use for an SMTP host. If you don't
know, check whether localhost (127.0.0.1) works.
- 'mail'->'admin_email'
Set to your email address. You can change this later if you want.
- 'db_info'
This tells OpenInteract how to connect to your database. Here are
some sample values:
! ...
! 'db_info' => {
! 'main' => {
! 'db_owner' => '',
! 'username' => 'dbuser',
! 'password' => 'dbpassword',
! 'dsn' => 'mysql',
! 'db_name' => 'MyAppDB',
! 'driver_name' => 'mysql',
! },
! },
Note that you can configure multiple datasources -- 'main' is the
default and is used when you don't specify a 'dataource'
! configuration value in your SPOPS object.
! 'ldap_info'
Skip this step if you're not using LDAP.
--- 35,83 ----
With a plaintext editor (emacs, vi, pico, etc.) Edit the file:
! %%WEBSITE_DIR%%/conf/server.ini
Change the following values:
! [mail]
! smtp_host = 127.0.0.1
Set to an available server to use for an SMTP host. If you don't
know, check whether localhost (127.0.0.1) works.
+ [mail]
+ admin_email = ad...@my...
+
Set to your email address. You can change this later if you want.
+ [db_info]
+
This tells OpenInteract how to connect to your database. Here are
some sample values:
! [db_info main]
! db_owner =
! username = dbuser
! password = dbpassword
! dsn = mysql
! db_name = MyAppDB
! driver_name = mysql
! sql_install =
! long_read_len = 65536
! long_trunc_ok = 0
Note that you can configure multiple datasources -- 'main' is the
default and is used when you don't specify a 'dataource'
! configuration value in your SPOPS object. To specify another one,
! just copy-and-paste the above, then change:
! [db_info main]
!
! to:
!
! [db_info newdatasource]
!
! [ldap_info]
Skip this step if you're not using LDAP.
***************
*** 76,98 ****
directories. Here are some sample values:
! 'ldap_info' => {
! 'main' => {
! host => 'localhost',
! port => '389',
! bind_dn => '',
! bind_password => '',
! base_dn => 'dc=mycompany,dc=com',
! timeout => 120,
! version => 2,
! sasl => 0,
! debug => 0,
! },
! },
Note that you can configure multiple datasources -- 'main' is the
default and is used when you don't specify a 'dataource'
! configuration value in your SPOPS object.
! 'session_info'
If you're using MySQL as your SQL database, you can leave this
--- 86,106 ----
directories. Here are some sample values:
! [ldap_info main]
! host = localhost
! port = 389
! bind_dn =
! bind_password =
! base_dn = dc=mycompany,dc=com
! timeout = 120
! version = 2
! sasl = 0
! debug = 0
Note that you can configure multiple datasources -- 'main' is the
default and is used when you don't specify a 'dataource'
! configuration value in your SPOPS object. (See example above under
! 'db_info' for creating a new one.)
! [session_info]
If you're using MySQL as your SQL database, you can leave this
***************
*** 106,109 ****
--- 114,119 ----
file since it has sensitive username/password information.)
+ There are, of course, many other modifications you can make to the
+ server configuration, but these changes should get you up and running.
(3) Create your database and test the connection
***************
*** 192,197 ****
is displayed in the status messages, and if you chose 'crypt_password'
in your configuration file you will NEVER be able to know the password
! for the superuser. If this happens, you'll have to just remove the
! directory tree with your website and reinstall. Yuck.
--- 202,207 ----
is displayed in the status messages, and if you chose 'crypt_password'
in your configuration file you will NEVER be able to know the password
! for the superuser. If this happens, you can just drop the database,
! recreate it and re-run the 'install_sql' command.
***************
*** 289,294 ****
Create a new user for yourself (click on the 'Users - new' link in the
Admin Tools box), and then assign the user to the 'site admin' group
! (click on 'Groups - list' in the Admin Tools box and then the 'Detail'
! link next to the site admin group.)
Now: have some fun!
--- 299,304 ----
Create a new user for yourself (click on the 'Users - new' link in the
Admin Tools box), and then assign the user to the 'site admin' group
! (click on 'Groups - list' in the Admin Tools box and then the name of
! the 'site admin' group to pull up a form).
Now: have some fun!
|
|
From: Chris W. <la...@us...> - 2001-11-29 04:14:08
|
Update of /cvsroot/openinteract/OpenInteract/pkg/base_page In directory usw-pr-cvs1:/tmp/cvs-serv32723 Modified Files: Changes package.conf Log Message: fix small but important error Index: Changes =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_page/Changes,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Changes 2001/11/28 13:14:22 1.15 --- Changes 2001/11/29 04:14:06 1.16 *************** *** 1,4 **** --- 1,9 ---- Revision history for OpenInteract package base_page. + 0.40 Wed Nov 28 23:31:56 EST 2001 + + Fix tiny but important error that blanked out filesystem + contents when editing them... + 0.39 Wed Nov 28 08:33:05 EST 2001 Index: package.conf =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_page/package.conf,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** package.conf 2001/11/28 13:14:22 1.15 --- package.conf 2001/11/29 04:14:06 1.16 *************** *** 1,4 **** name base_page ! version 0.39 author Chris Winters <ch...@cw...> module File::Basename --- 1,4 ---- name base_page ! version 0.40 author Chris Winters <ch...@cw...> module File::Basename |
|
From: Chris W. <la...@us...> - 2001-11-29 04:14:08
|
Update of /cvsroot/openinteract/OpenInteract/pkg/base_page/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv32723/OpenInteract
Modified Files:
Page.pm
Log Message:
fix small but important error
Index: Page.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_page/OpenInteract/Page.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Page.pm 2001/11/27 13:20:47 1.7
--- Page.pm 2001/11/29 04:14:06 1.8
***************
*** 129,133 ****
return 1 unless ( $self->{content} );
my $storage_class = $STORAGE_CLASS{ $self->{storage} };
! return $self->{content} = $storage_class->save( $self );
}
--- 129,133 ----
return 1 unless ( $self->{content} );
my $storage_class = $STORAGE_CLASS{ $self->{storage} };
! return $self->{content} = $storage_class->save( $self, $self->{content} );
}
|
|
From: Chris W. <la...@us...> - 2001-11-29 04:13:51
|
Update of /cvsroot/openinteract/OpenInteract/pkg/base_page/template
In directory usw-pr-cvs1:/tmp/cvs-serv32630/template
Modified Files:
page_form.tmpl
Log Message:
if the dates don't exist for active_on, expires_on, make them blank
Index: page_form.tmpl
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_page/template/page_form.tmpl,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** page_form.tmpl 2001/11/27 13:21:18 1.9
--- page_form.tmpl 2001/11/29 04:13:48 1.10
***************
*** 78,86 ****
[%- count = count + 1 -%]
! [% INCLUDE label_form_date_row( label = 'Active On Date', name = 'active_on',
value = page.active_on ) -%]
[%- count = count + 1 -%]
! [% INCLUDE label_form_date_row( label = 'Expires On Date', name = 'expires_on',
value = page.expires_on ) -%]
--- 78,88 ----
[%- count = count + 1 -%]
! [% INCLUDE label_form_date_row( label = 'Active On Date',
! name = 'active_on', is_blank = 1,
value = page.active_on ) -%]
[%- count = count + 1 -%]
! [% INCLUDE label_form_date_row( label = 'Expires On Date',
! name = 'expires_on', is_blank = 1,
value = page.expires_on ) -%]
|
|
From: Chris W. <la...@us...> - 2001-11-29 04:05:20
|
Update of /cvsroot/openinteract/OpenInteract/template
In directory usw-pr-cvs1:/tmp/cvs-serv30733
Modified Files:
base_main
Log Message:
fix link
Index: base_main
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/template/base_main,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** base_main 2001/11/06 15:20:16 1.1
--- base_main 2001/11/29 04:05:18 1.2
***************
*** 27,31 ****
<b><a href="/User/">Users</a></b> |
<b><a href="/Group/">Groups</a></b> |
! <b><a href="/Page/directory_listing/">Pages</a></b>
</td>
</tr>
--- 27,31 ----
<b><a href="/User/">Users</a></b> |
<b><a href="/Group/">Groups</a></b> |
! <b><a href="/Page/directory_list/">Pages</a></b>
</td>
</tr>
|
|
From: Chris W. <la...@us...> - 2001-11-29 04:03:44
|
Update of /cvsroot/openinteract/OpenInteract/pkg/base_group/template In directory usw-pr-cvs1:/tmp/cvs-serv30425 Modified Files: group_detail.tmpl Log Message: cosmetic Index: group_detail.tmpl =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_group/template/group_detail.tmpl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** group_detail.tmpl 2001/11/29 04:01:44 1.4 --- group_detail.tmpl 2001/11/29 04:03:42 1.5 *************** *** 11,15 **** [% INCLUDE table_bordered_begin -%] ! [%- count = 0 -%] [%- count = count + 1 -%] --- 11,16 ---- [% INCLUDE table_bordered_begin -%] ! [%- count = 0; ! valign = 'top' -%] [%- count = count + 1 -%] |
|
From: Chris W. <la...@us...> - 2001-11-29 04:02:07
|
Update of /cvsroot/openinteract/OpenInteract/pkg/base_group In directory usw-pr-cvs1:/tmp/cvs-serv30064 Modified Files: Changes package.conf Log Message: meta Index: Changes =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_group/Changes,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Changes 2001/10/31 14:26:30 1.17 --- Changes 2001/11/29 04:02:05 1.18 *************** *** 1,4 **** --- 1,14 ---- Revision history for OpenInteract package base_group. + 1.30 Wed Nov 28 23:19:21 EST 2001 + + 1.29 Wed Nov 28 23:15:38 EST 2001 + + Small template, handler updates. + + 1.28 Wed Nov 28 23:05:28 EST 2001 + + Update to use OI::CommonHandler (fairly extensive changes to handler). + 1.27 Wed Oct 31 09:35:39 EST 2001 Index: package.conf =================================================================== RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_group/package.conf,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** package.conf 2001/10/31 14:26:30 1.16 --- package.conf 2001/11/29 04:02:05 1.17 *************** *** 1,4 **** name base_group ! version 1.27 author Chris Winters (ch...@cw...) url http://www.openinteract.org/ --- 1,4 ---- name base_group ! version 1.30 author Chris Winters (ch...@cw...) url http://www.openinteract.org/ |
|
From: Chris W. <la...@us...> - 2001-11-29 04:01:46
|
Update of /cvsroot/openinteract/OpenInteract/pkg/base_group/template
In directory usw-pr-cvs1:/tmp/cvs-serv29970/template
Modified Files:
group_detail.tmpl group_form.tmpl group_list.tmpl
Log Message:
small modifications to work with the modifications to the handler
Index: group_detail.tmpl
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_group/template/group_detail.tmpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** group_detail.tmpl 2001/10/31 14:27:18 1.3
--- group_detail.tmpl 2001/11/29 04:01:44 1.4
***************
*** 15,29 ****
[%- count = count + 1 -%]
[% INCLUDE label_text_row( label = 'Group Name',
! text = group.name ) -%]
[%- count = count + 1 -%]
[% INCLUDE label_text_row( label = 'Notes',
! text = group.notes ) -%]
[%- count = count + 1 -%]
[% INCLUDE label_row_begin( label = 'Members' ) -%]
! <td>[% FOREACH user = mem_user_list -%]
! [%- user_url = OI.make_url( base = '/User/show/', user_id = user.id ) -%]
! [%- theme.bullet %] <a href="">[% user.name %]</a><br>
[% END %]
</td></tr>
--- 15,30 ----
[%- count = count + 1 -%]
[% INCLUDE label_text_row( label = 'Group Name',
! text = group.name ) -%]
[%- count = count + 1 -%]
[% INCLUDE label_text_row( label = 'Notes',
! text = group.notes ) -%]
[%- count = count + 1 -%]
[% INCLUDE label_row_begin( label = 'Members' ) -%]
! <td>[% FOREACH user = member_user_list -%]
! [%- user_show_url = OI.make_url( base = '/User/show/',
! user_id = user.id ) -%]
! [%- theme.bullet %] <a href="[% user_show_url %]">[% user.name %]</a><br>
[% END %]
</td></tr>
Index: group_form.tmpl
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_group/template/group_form.tmpl,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** group_form.tmpl 2001/10/31 14:27:18 1.4
--- group_form.tmpl 2001/11/29 04:01:44 1.5
***************
*** 12,16 ****
<p>This screen allows you to add a new group or edit an existing one.</p>
! <form name="group" action="[% main_script %]/edit/"
method="post" onsubmit="return tally_added_items()">
--- 12,16 ----
<p>This screen allows you to add a new group or edit an existing one.</p>
! <form name="group" action="/Group/edit/"
method="post" onsubmit="return tally_added_items()">
***************
*** 19,26 ****
valign = 'top'; -%]
[%- count = count + 1 -%]
[% INCLUDE label_form_text_row( label = 'Group Name', is_required = 1,
! size = 10, maxlength = 20,
! name = 'name', value = group.name ) -%]
[%- count = count + 1 -%]
--- 19,34 ----
valign = 'top'; -%]
+ [% IF group.id -%]
+ [%- remove_url = OI.make_url( base = '/Group/remove/',
+ group_id = group.id ) -%]
+ <tr bgcolor="[% theme.bgcolor %]"><td align="right" colspan="2">
+ <a href="[% remove_url %]"><b>Remove</b></a> this group
+ </td></tr>
+ [% END -%]
+
[%- count = count + 1 -%]
[% INCLUDE label_form_text_row( label = 'Group Name', is_required = 1,
! size = 10, maxlength = 20,
! name = 'name', value = group.name ) -%]
[%- count = count + 1 -%]
***************
*** 40,44 ****
[% PROCESS to_group( form_name = 'group', from_element = 'population',
to_element = 'member', mem_list_hold = member_field,
! pop_list = all_user_list, mem_list = mem_user_list,
label_from = 'All Users', label_to = 'Members' ) -%]
</td>
--- 48,52 ----
[% PROCESS to_group( form_name = 'group', from_element = 'population',
to_element = 'member', mem_list_hold = member_field,
! pop_list = all_user_list, mem_list = member_user_list,
label_from = 'All Users', label_to = 'Members' ) -%]
</td>
Index: group_list.tmpl
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_group/template/group_list.tmpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** group_list.tmpl 2001/10/31 14:27:18 1.3
--- group_list.tmpl 2001/11/29 04:01:44 1.4
***************
*** 11,41 ****
actions on them.</p>
! [% IF group_list.size == 0 -%]
!
! <p>There are currently no groups in the system that you have security
! access to view.</p>
!
! [% ELSE -%]
[% INCLUDE table_bordered_begin -%]
! [% INCLUDE header_row( labels = [ 'Name', 'Description', 'Actions' ] ) -%]
! [% FOREACH group = group_list -%]
! [%- show_url = OI.make_url( base = '/Group/show/',
! group_id= group.id ) -%]
! [%- remove_url = OI.make_url( base = '/Group/remove/',
! group_id= group.id ) -%]
! <tr bgcolor="[% PROCESS row_color( count = loop.count ) %]" valign="top">
! <td>[% group.name %]</td>
<td>[% group.notes %] </td>
- <td><a href="[% show_url %]">Detail</a>
- [% IF group.tmp_security_level >= OI.security_level.write -%]
- <a href="[% remove_url %]">Remove</a>[% END -%]
- </td>
</tr>
[% END %]
[% INCLUDE table_bordered_end -%]
[% END %]
--- 11,37 ----
actions on them.</p>
! [% IF iterator and iterator.has_next -%]
[% INCLUDE table_bordered_begin -%]
! [% INCLUDE header_row( labels = [ 'Name', 'Description' ] ) -%]
! [%- count = 1 -%]
! [% WHILE ( group = iterator.get_next ) -%]
! [%- show_url = OI.make_url( base = '/Group/show/',
! group_id = group.id, edit = 1 ) -%]
! <tr valign="top" bgcolor="[% PROCESS row_color %]">
! <td><a href="[% show_url %]">[% group.name %]</a></td>
<td>[% group.notes %] </td>
</tr>
+ [%- count = count + 1 -%]
[% END %]
[% INCLUDE table_bordered_end -%]
+
+ [% ELSE -%]
+
+ <p>There are currently no groups in the system that you have security
+ access to view.</p>
[% END %]
|
|
From: Chris W. <la...@us...> - 2001-11-29 04:01:20
|
Update of /cvsroot/openinteract/OpenInteract/pkg/base_group/OpenInteract/Handler
In directory usw-pr-cvs1:/tmp/cvs-serv29868/OpenInteract/Handler
Modified Files:
Group.pm
Log Message:
rewrote to use OI::CommonHandler for the bulk of the work
Index: Group.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/pkg/base_group/OpenInteract/Handler/Group.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Group.pm 2001/09/14 03:22:47 1.5
--- Group.pm 2001/11/29 04:01:17 1.6
***************
*** 4,105 ****
use strict;
use SPOPS::Secure qw( :level );
use Data::Dumper qw( Dumper );
! @OpenInteract::Handler::Group::ISA = qw( OpenInteract::Handler::GenericDispatcher SPOPS::Secure );
$OpenInteract::Handler::Group::VERSION = sprintf("%d.%02d", q$Revision$ =~ /(\d+)\.(\d+)/);
$OpenInteract::Handler::Group::author = 'ch...@cw...';
! $OpenInteract::Handler::Group::default_method = 'listing';
@OpenInteract::Handler::Group::forbidden_methods = ();
! %OpenInteract::Handler::Group::security = (
! listing => SEC_LEVEL_READ, edit => SEC_LEVEL_WRITE,
! show => SEC_LEVEL_READ, remove => SEC_LEVEL_WRITE,
);
- use constant MAIN_SCRIPT => '/Group';
use constant MEMBER_FIELD => 'group_members';
- # Simple: Just retrieve a list of groups. Currently, the only limit is
- # based on what the user can 'see' (security-wise)
! sub listing {
! my ( $class, $p ) = @_;
my $R = OpenInteract::Request->instance;
- my $params = { main_script => MAIN_SCRIPT,
- error_msg => $p->{error_msg} };
- $params->{group_list} = eval { $R->group->fetch_group( { order => 'name' } ); };
- if ( $@ ) {
- $params->{error_msg} .= "\n\nCannot retrieve group listing";
- OpenInteract::Error->set( SPOPS::Error->get );
- $OpenInteract::Error::user_msg = 'Cannot retrieve groups for listing.';
- $R->throw({ code => 403 });
- }
- $R->{page}{title} = 'Group Listing';
- return $R->template->handler( {}, $params,
- { package => 'base_group',
- db => 'group_list' } );
- }
-
-
- sub show {
- my ( $class, $p ) = @_;
- my $R = OpenInteract::Request->instance;
- my $params = { error_msg => $p->{error_msg}, main_script => MAIN_SCRIPT };
- my $group_id = $R->apache->param( 'group_id' ) || $R->apache->param( 'gid' );
- my $group = $p->{group} || eval { $R->group->fetch( $group_id ) };
- if ( $@ ) {
- my $ei = OpenInteract::Error->set( SPOPS::Error->get );
- if ( $ei->{type} eq 'security' ) {
- $params->{error_msg} .= 'You do not have access to view this group. ' .
- 'Permission denied -- returning to listing';
- }
- else {
- $R->throw({ code => 404 });
- $params->{error_msg} .= "Error -- most likely a database error -- retrieving group object." .
- "Error has been logged. Returning you to listing.";
- }
- return $class->listing( $params );
- }
-
- # If the user has less than WRITE access to module and there is no
- # group object, there's no reason to continue
-
- if ( ! $group and $p->{level} < SEC_LEVEL_WRITE ) {
- $params->{error_msg} = 'Sorry, you do not have access to create a new ' .
- 'group object. Returning to listing.';
- return $class->listing( $params );
- }
! # Object security defaults to WRITE: if there is no object,
! # then you're creating it and security then depends on the application
! #
! # Why do we check that both the object and the ID exist? Picture a situation
! # where the user fails to enter necessary information and edit() bounces the
! # error back to us, including the actual object in our parameter list. Since it
! # does indeed exist, we'll try and run check_security() on it here, which
! # will bomb entirely, and we'll be left with an object that needs to be
! # edited, that doesn't actually exist -- but it's on a read-only screen :)
!
! my $obj_level = ( $group ) ? $group->{tmp_security_level} : SEC_LEVEL_WRITE;
! $group ||= $R->group->new;
# Retrieve the member users
! my $mem_users = eval { $group->user } || [];
! $params->{error_msg} .= "Failed to retrieve user listing: $@->{error}" if ( $@ );
! my @mem_user_list = map { { id => $_->id, name => $_->{login_name} } } @{ $mem_users };
! $params->{group} = $group;
! $params->{mem_user_list} = \@mem_user_list;
! my $tmpl_name = 'group_detail';
! # If the user has WRITE access to tool **plus** WRITE access
! # to the object, change the template and retrieve some additional info
! if ( $p->{level} == SEC_LEVEL_WRITE and $obj_level == SEC_LEVEL_WRITE ) {
! my $all_user_list = eval { $R->user->fetch_group; };
if ( $@ ) {
OpenInteract::Error->set( SPOPS::Error->get );
--- 4,74 ----
use strict;
+ use OpenInteract::CommonHandler;
+ use OpenInteract::Handler::GenericDispatcher qw( DEFAULT_SECURITY_KEY );
use SPOPS::Secure qw( :level );
use Data::Dumper qw( Dumper );
! @OpenInteract::Handler::Group::ISA = qw( OpenInteract::CommonHandler SPOPS::Secure );
$OpenInteract::Handler::Group::VERSION = sprintf("%d.%02d", q$Revision$ =~ /(\d+)\.(\d+)/);
$OpenInteract::Handler::Group::author = 'ch...@cw...';
! $OpenInteract::Handler::Group::default_method = 'search';
@OpenInteract::Handler::Group::forbidden_methods = ();
! %OpenInteract::Handler::Group::security = (
! DEFAULT_SECURITY_KEY() => SEC_LEVEL_READ,
! edit => SEC_LEVEL_WRITE, remove => SEC_LEVEL_WRITE,
);
use constant MEMBER_FIELD => 'group_members';
+ sub MY_PACKAGE { return 'base_group' }
+ sub MY_HANDLER_PATH { return '/Group' }
+ sub MY_OBJECT_TYPE { return 'group' }
+ sub MY_OBJECT_CLASS { return OpenInteract::Request->instance->group }
+ sub MY_SEARCH_FIELDS { return qw( name ) }
+ sub MY_SEARCH_RESULTS_TITLE { return 'Group Listing' }
+ sub MY_SEARCH_RESULTS_TEMPLATE { return 'group_list' }
+ sub MY_SEARCH_RESULTS_ORDER { return 'name' }
+ sub MY_OBJECT_FORM_TITLE { return 'Group Detail' }
+ sub MY_OBJECT_FORM_TEMPLATE { return 'group_detail' }
+ sub MY_EDIT_RETURN_URL { return '/Group/' }
+ sub MY_EDIT_FIELDS { return qw( name notes ) }
+ sub MY_EDIT_DISPLAY_TASK { return '_post_save' }
+ sub MY_ALLOW_SEARCH_FORM { return undef }
+ sub MY_ALLOW_CREATE { return 1 }
+ sub MY_ALLOW_SEARCH { return 1 }
+ sub MY_ALLOW_SHOW { return 1 }
+ sub MY_ALLOW_EDIT { return 1 }
+ sub MY_ALLOW_REMOVE { return 1 }
+ sub MY_ALLOW_NOTIFY { return 1 }
! sub _show_customize {
! my ( $class, $params ) = @_;
my $R = OpenInteract::Request->instance;
! my $group = $params->{group};
# Retrieve the member users
! my $group_members = eval { $group->user } || [];
! if ( $@ ) {
! $params->{error_msg} .= "Failed to retrieve user listing: $SPOPS::Error::system_msg";
! return;
! }
! my @member_info = map { { id => $_->id,
! name => $_->{login_name} } } @{ $group_members };
! my $do_edit = ( $params->{do_edit} and
! $group->{tmp_security_level} >= SEC_LEVEL_WRITE );
! # If the user has WRITE access to tool **plus** WRITE access to
! # the object, change the template and retrieve some additional
! # info
! if ( $do_edit ) {
! $params->{template_name} = 'base_group::group_form';
! my $all_users = eval { $R->user->fetch_group } || [];
if ( $@ ) {
OpenInteract::Error->set( SPOPS::Error->get );
***************
*** 107,278 ****
$params->{error_msg} = "Cannot retrieve all users. Error logged.";
}
! $all_user_list ||= [];
! my %all_nonmem_users = map { $_->id => $_->{login_name} }
! @{ $all_user_list };
! foreach ( @mem_user_list ) { delete $all_nonmem_users{ $_->{id} } }
! my @all_nonmem_users = map { { id => $_, name => $all_nonmem_users{ $_ } } }
! sort { $all_nonmem_users{ $a } cmp $all_nonmem_users{ $b } }
! keys %all_nonmem_users;
! $params->{member_field} = MEMBER_FIELD;
! $params->{all_user_list} = \@all_nonmem_users;
! $tmpl_name = 'group_form';
}
!
! $R->{page}{title} = 'Group Detail';
! return $R->template->handler( {}, $params,
! { package => 'base_group',
! db => $tmpl_name } );
}
-
- sub edit {
- my ( $class, $p ) = @_;
- my $R = OpenInteract::Request->instance;
- my $params = { error_msg => $p->{error_msg},
- main_script => MAIN_SCRIPT };
- $R->{page}{return_url} = '/Group/';
-
- # First get the gid from the user and try to fetch
-
- my $apr = $R->apache;
- my $group_id = $apr->param( 'group_id' );
- my $group = eval { $R->group->fetch( $group_id ); };
- if ( $@ ) {
- OpenInteract::Error->set( SPOPS::Error->get );
- $R->throw( { code => 404 } );
- $params->{error_msg} .= "Cannot retrieve group object for editing -- no changes made. Returning to listing";
- return $class->listing( $p );
- }
-
- # See what our security level for this object is; bail on failure or
- # if our level is less than WRITE
-
- my $obj_level = ( $group ) ? $group->{tmp_security_level} : SEC_LEVEL_WRITE;
- if ( $obj_level < SEC_LEVEL_WRITE ) {
- $params->{error_msg} .= 'Sorry, you do not have access to modify this group object. Returning to listing.';
- return $class->listing( $params );
- }
-
- # If we don't have a group yet, create one; then read in
- # all relevant form values for the group (new or old)
! $group ||= $R->group->new;
! $group->{name} = $apr->param( 'name' );
! $group->{notes} = $apr->param( 'notes' );
!
! # Try to save; if we can't pass back an error.
! eval { $group->save };
! if ( $@ ) {
! OpenInteract::Error->set( SPOPS::Error->get );
! $OpenInteract::Error::user_msg = 'Error saving group object.';
! $R->throw({ code => 407 });
! $params->{error_msg} = "Cannot save group object. Error logged.";
! return $class->show({ group => $group, %{ $params } });
}
! # Now save the members that were specified
! #
! # First get the existing members, then split apart the members
! # specified in the form. Give both pieces of information to
! # the list_process method to separate them out into removals,
! # additions and keepers.
my $existing_user_list = eval { $group->user } || [];
my @existing_uid = map { $_->id } @{ $existing_user_list };
! my @member_uid = split ';', $apr->param( MEMBER_FIELD );
$R->DEBUG && $R->scrib( 1, "User IDs retrieved: ", join( '/', @member_uid ) );
- my $mem_info = $group->list_process( \@existing_uid, \@member_uid );
- $R->DEBUG && $R->scrib( 1, "After processing: ", Dumper( $mem_info ) );
! my $removed = eval { $group->user_remove( $mem_info->{remove} ); };
if ( $@ ) { $R->scrib( 0, "Error removing users from group: $@" ) }
! $R->DEBUG && $R->scrib( 1, "Removed <$removed> of <", scalar @{ $mem_info->{remove} }, ">" );
! my $added = eval { $group->user_add( $mem_info->{add} ); };
if ( $@ ) { $R->scrib( 0, "Error adding users to group: $@" ) }
! $R->DEBUG && $R->scrib( 1, "Added <$added> of <", scalar @{ $mem_info->{add} }, ">" );
# always display this group: if we had an error, then they can
# edit the information again; if they didn't have an error,
# then they'll see that something happened.
-
- $params->{status_msg} = 'Group information updated.';
- $params->{group} = $group;
- return $class->show( $params );
- }
-
! sub remove {
! my ( $class, $p ) = @_;
! my $R = OpenInteract::Request->instance;
! my $group_id = $R->apache->param( 'group_id' );
! my $group = undef;
! if ( $group_id ) {
! my $group = eval { $R->group->fetch( $group_id ) };
! if ( $@ ) {
! my $error_msg = undef;
! my $ei = OpenInteract::Error->set( SPOPS::Error->get );
! if ( $ei->{type} eq 'security' ) {
! $error_msg = "Cannot remove group: you do not have access to view this group.";
! }
! else {
! $error_msg = 'Cannot remove Group -- object not created properly. Error logged.';
! }
! return $class->listing( { error_msg => $error_msg } );
! }
! }
! unless ( $group ) {
! return $class->listing({ error_msg => 'Cannot create group for removal: bad ID for object.' });
! }
! if ( $group->{tmp_security_level} < SEC_LEVEL_WRITE ) {
! my $user_msg = 'Sorry, you do not have access to remove this group object. ' .
! 'Returning to listing.';
! return $class->listing({ error_msg => $user_msg });
! }
! eval { $group->remove };
! if ( $@ ) {
! OpenInteract::Error->set( SPOPS::Error->get );
! $R->throw({ code => 405 });
! $p->{error_msg} = 'Error removing group object! Error logged.';
! }
! $p->{status_msg} = 'Group removed.';
! return $class->listing( $p );
}
1;
-
- __END__
-
- =pod
-
- =head1 NAME
-
- OpenInteract::Handler::Group - Manipulate group records
-
- =head1 SYNOPSIS
-
- =head1 DESCRIPTION
-
- The group records modified by this handler are fairly rudimentary. If
- you add information and/or actions to the group object, you might want
- to use this as a base handler so you do not have to start from scratch.
-
- =head1 METHODS
-
- =head1 TO DO
-
- =head1 BUGS
-
- =head1 COPYRIGHT
-
- Copyright (c) 2001 intes.net, inc.. All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =head1 AUTHORS
-
- Chris Winters <ch...@cw...>
-
- =cut
--- 76,132 ----
$params->{error_msg} = "Cannot retrieve all users. Error logged.";
}
! my %all_nonmember_info = map { $_->id => $_->{login_name} } @{ $all_users };
! for ( @member_info ) { delete $all_nonmember_info{ $_->{id} } }
! my @sorted_nonmember_info = map { { id => $_,
! name => $all_nonmember_info{ $_ } } }
! sort { $all_nonmember_info{ $a } cmp $all_nonmember_info{ $b } }
! keys %all_nonmember_info;
! $params->{member_field} = MEMBER_FIELD;
! $params->{all_user_list} = \@sorted_nonmember_info;
}
! $params->{member_user_list} = \@member_info;
}
! # Find the specified members for saving.
! #
! # First get the existing members, then split apart the members
! # specified in the form. Give both pieces of information to
! # the list_process method to separate them out into removals,
! # additions and keepers.
! sub _post_save {
! my ( $class, $show_params ) = @_;
! if ( $show_params->{error_msg} ) {
! $show_params->{do_edit}++;
! return $class->show( $show_params );
}
! my $R = OpenInteract::Request->instance;
! my $group = $show_params->{group};
my $existing_user_list = eval { $group->user } || [];
my @existing_uid = map { $_->id } @{ $existing_user_list };
! my @member_uid = split ';', $R->apache->param( MEMBER_FIELD );
$R->DEBUG && $R->scrib( 1, "User IDs retrieved: ", join( '/', @member_uid ) );
! my $member_status = $group->list_process( \@existing_uid, \@member_uid );
! $R->DEBUG && $R->scrib( 1, "After processing: ", Dumper( $member_status ) );
!
! my $removed = eval { $group->user_remove( $member_status->{remove} ); };
if ( $@ ) { $R->scrib( 0, "Error removing users from group: $@" ) }
! $R->DEBUG && $R->scrib( 1, "Removed ($removed) of (", scalar @{ $member_status->{remove} }, ")" );
! my $added = eval { $group->user_add( $member_status->{add} ); };
if ( $@ ) { $R->scrib( 0, "Error adding users to group: $@" ) }
! $R->DEBUG && $R->scrib( 1, "Added ($added) of (", scalar @{ $member_status->{add} }, ")" );
# always display this group: if we had an error, then they can
# edit the information again; if they didn't have an error,
# then they'll see that something happened.
! $show_params->{status_msg} .= '<br>Group membership information updated.';
! return $class->show( $show_params );
}
1;
|