Index: openacs-4/packages/recruiting/dotlrn-recruiting.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/Attic/dotlrn-recruiting.info,v diff -u -r1.7 -r1.8 --- openacs-4/packages/recruiting/dotlrn-recruiting.info 7 Aug 2002 23:39:19 -0000 1.7 +++ openacs-4/packages/recruiting/dotlrn-recruiting.info 14 Aug 2002 20:28:27 -0000 1.8 @@ -24,7 +24,8 @@ <file type="data_model" db_type="postgresql" path="sql/postgresql/recruiting-drop.sql"/> <file type="query_file" db_type="postgresql" path="tcl/dotlrn-recruiting-procs-postgresql.xql"/> <file type="tcl_procs" path="tcl/dotlrn-recruiting-procs.tcl"/> - <file type="tcl_procs" path="tcl/table-sorter-procs.tcl"/> + <file type="tcl_procs" path="tcl/recruiting-email-procs.tcl"/> + <file type="query_file" path="tcl/recruiting-email-procs.xql"/> <file type="content_page" path="www/admin/archive-candidate.adp"/> <file type="content_page" path="www/admin/archive-candidate.tcl"/> <file type="content_page" path="www/admin/assign-candidate-interview-2.adp"/> @@ -50,6 +51,9 @@ <file type="content_page" path="www/admin/edit-criteria.tcl"/> <file type="content_page" path="www/admin/edit-status-type.adp"/> <file type="content_page" path="www/admin/edit-status-type.tcl"/> + <file type="content_page" path="www/admin/email-options.adp"/> + <file type="content_page" path="www/admin/email-options.tcl"/> + <file type="query_file" path="www/admin/email-options.xql"/> <file type="content_page" path="www/admin/enable-criteria.tcl"/> <file type="query_file" path="www/admin/enable-criteria.xql"/> <file type="content_page" path="www/admin/enable-status-type.tcl"/> Index: openacs-4/packages/recruiting/sql/postgresql/recruiting-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/sql/postgresql/recruiting-create.sql,v diff -u -r1.6 -r1.7 --- openacs-4/packages/recruiting/sql/postgresql/recruiting-create.sql 7 Aug 2002 23:39:19 -0000 1.6 +++ openacs-4/packages/recruiting/sql/postgresql/recruiting-create.sql 14 Aug 2002 20:28:27 -0000 1.7 @@ -251,4 +251,25 @@ 'recruiting_rating__name' ); +create table recruiting_assignment_emails ( + package_id integer + constraint recruiting_emails_pkg_id_fk + references apm_packages(package_id) + constraint recruiting_emails_pkg_id_uniq + unique, + email_body varchar(8000) +); + +insert into recruiting_assignment_emails + (package_id, + email_body) + values (null,'\ +\ +Dear $interviewer_name,\ +\ +Please interview $candidate_name at your earliest convenience. When you have completed the interview, please go to $url and rate the candidate.\ +\ +Thank you,\ +$sender_name'); + \i recruiting-api-create.sql Index: openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs-postgresql.xql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs-postgresql.xql 7 Aug 2002 23:39:19 -0000 1.7 +++ openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs-postgresql.xql 14 Aug 2002 20:28:27 -0000 1.8 @@ -2,19 +2,19 @@ <queryset> <rdbms><type>postgresql</type><version>7.1</version></rdbms> - <fullquery name="recruiting_status_type::disable.disable_status_type"> + <fullquery name="recruiting::status_type::disable.disable_status_type"> <querytext> select recruiting_status_type__disable(:status_type_id) </querytext> </fullquery> - <fullquery name="recruiting_status_type::disable.enable_status_type"> + <fullquery name="recruiting::status_type::disable.enable_status_type"> <querytext> select recruiting_status_type__enable(:status_type_id) </querytext> </fullquery> - <fullquery name="recruiting_status_type::get.get_status_type"> + <fullquery name="recruiting::status_type::get.get_status_type"> <querytext> select package_id, short_desc, @@ -25,7 +25,7 @@ </querytext> </fullquery> - <fullquery name="recruiting_status_type::update_status_type.update_status_type"> + <fullquery name="recruiting::status_type::update_status_type.update_status_type"> <querytext> update recruiting_status_types set short_desc = :short_desc, @@ -36,19 +36,19 @@ </querytext> </fullquery> - <fullquery name="recruiting_criteria::disable.disable_criteria"> + <fullquery name="recruiting::criteria::disable.disable_criteria"> <querytext> select recruiting_criteria__disable(:criteria_id) </querytext> </fullquery> - <fullquery name="recruiting_criteria::disable.enable_criteria"> + <fullquery name="recruiting::criteria::disable.enable_criteria"> <querytext> select recruiting_criteria__enable(:criteria_id) </querytext> </fullquery> - <fullquery name="recruiting_criteria::get.get_criteria"> + <fullquery name="recruiting::criteria::get.get_criteria"> <querytext> select package_id, criteria_name, @@ -59,7 +59,7 @@ </querytext> </fullquery> - <fullquery name="recruiting_criteria::update_criteria_type.update_criteria"> + <fullquery name="recruiting::criteria::update_criteria_type.update_criteria"> <querytext> update recruiting_criteria set package_id = :package_id, @@ -69,45 +69,45 @@ </querytext> </fullquery> - <fullquery name="recruiting_candidate::delete.delete_ratings_for_candidate"> + <fullquery name="recruiting::candidate::delete.delete_ratings_for_candidate"> <querytext> delete from recruiting_ratings where interview_id = recruiting_interviews.interview_id and recruiting_interviews.candidate_id = :candidate_id </querytext> </fullquery> - <fullquery name="recruiting_candidate::delete.delete_interviews_for_candidate"> + <fullquery name="recruiting::candidate::delete.delete_interviews_for_candidate"> <querytext> delete from recruiting_interviews where candidate_id = :candidate_id </querytext> </fullquery> - <fullquery name="recruiting_candidate::delete.delete_candidate"> + <fullquery name="recruiting::candidate::delete.delete_candidate"> <querytext> delete from recruiting_candidates_all where candidate_id = :candidate_id </querytext> </fullquery> - <fullquery name="recruiting_candidate::archive.archive_candidate"> + <fullquery name="recruiting::candidate::archive.archive_candidate"> <querytext> update recruiting_candidates_all set archived_p = 't' where candidate_id = :candidate_id </querytext> </fullquery> - <fullquery name="recruiting_candidate::unarchive.unarchive_candidate"> + <fullquery name="recruiting::candidate::unarchive.unarchive_candidate"> <querytext> update recruiting_candidates_all set archived_p = 'f' where candidate_id = :candidate_id </querytext> </fullquery> - <fullquery name="recruiting_candidate::get.get_recruiting_candidate"> + <fullquery name="recruiting::candidate::get.get_recruiting_candidate"> <querytext> select package_id, first_name, @@ -130,7 +130,7 @@ </querytext> </fullquery> - <fullquery name="recruiting_candidate::update_candidate.update_candidate"> + <fullquery name="recruiting::candidate::update_candidate.update_candidate"> <querytext> update recruiting_candidates_all set address1 = :address1, @@ -148,21 +148,21 @@ </querytext> </fullquery> - <fullquery name="recruiting_interview::delete.delete_ratings"> + <fullquery name="recruiting::interview::delete.delete_ratings"> <querytext> delete from recruiting_ratings where interview_id = :interview_id </querytext> </fullquery> - <fullquery name="recruiting_interview::delete.delete_interview"> + <fullquery name="recruiting::interview::delete.delete_interview"> <querytext> delete from recruiting_interviews where interview_id = :interview_id </querytext> </fullquery> - <fullquery name="recruiting_interview::get.get_interview"> + <fullquery name="recruiting::interview::get.get_interview"> <querytext> select package_id, interviewer_id, @@ -174,14 +174,14 @@ </querytext> </fullquery> - <fullquery name="recruiting_rating::delete.delete_rating"> + <fullquery name="recruiting::rating::delete.delete_rating"> <querytext> delete from recruiting_ratings where rating_id = :rating_id </querytext> </fullquery> - <fullquery name="recruiting_rating::get.get_rating"> + <fullquery name="recruiting::rating::get.get_rating"> <querytext> select package_id, interview_id, Index: openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs.tcl 7 Aug 2002 23:39:19 -0000 1.9 +++ openacs-4/packages/recruiting/tcl/dotlrn-recruiting-procs.tcl 14 Aug 2002 20:28:28 -0000 1.10 @@ -25,397 +25,401 @@ # @creation-date 2002-07-30 # @version $Id$ -namespace eval recruiting_status_type { +namespace eval recruiting { - ad_proc -public new { - {-package_id ""} - {-short_desc:required} - {-long_desc:required} - {-enabled_p "t"} - } { - create a new status type - } { - if {[empty_string_p $package_id]} { - set package_id [ad_conn package_id] - } - - set extra_vars [ns_set create] - ns_set put $extra_vars package_id $package_id - ns_set put $extra_vars short_desc $short_desc - ns_set put $extra_vars long_desc $long_desc - ns_set put $extra_vars enabled_p $enabled_p + namespace eval status_type { - set object_type recruiting_status_type + ad_proc -public new { + {-package_id ""} + {-short_desc:required} + {-long_desc:required} + {-enabled_p "t"} + } { + create a new status type + } { + if {[empty_string_p $package_id]} { + set package_id [ad_conn package_id] + } + + set extra_vars [ns_set create] + ns_set put $extra_vars package_id $package_id + ns_set put $extra_vars short_desc $short_desc + ns_set put $extra_vars long_desc $long_desc + ns_set put $extra_vars enabled_p $enabled_p - return [package_instantiate_object -extra_vars $extra_vars $object_type] + set object_type recruiting_status_type - } + return [package_instantiate_object -extra_vars $extra_vars $object_type] - ad_proc -public disable { - {-status_type_id:required} - } { - delete a recruiting status type - } { - db_dml disable_status_type {} - } + } - ad_proc -public enable { - {-status_type_id:required} - } { - delete a recruiting status type - } { - db_dml enable_status_type {} - } + ad_proc -public disable { + {-status_type_id:required} + } { + delete a recruiting status type + } { + db_dml disable_status_type {} + } - ad_proc -public get { - {-status_type_id:required} - } { - get a status type - } { - db_1row get_status_type {} - - set status_type(status_type_id) $status_type_id - set status_type(package_id) $package_id - set status_type(short_desc) $short_desc - set status_type(long_desc) $long_desc - set status_type(enabled_p) $enabled_p + ad_proc -public enable { + {-status_type_id:required} + } { + delete a recruiting status type + } { + db_dml enable_status_type {} + } - return [array get status_type] - } - - ad_proc -public update_status_type { - {-status_type_id:required} - {-package_id ""} - {-short_desc:required} - {-long_desc:required} - {-enabled_p "t"} - } { - set a status type - } { - db_dml update_status_type {} - } -} + ad_proc -public get { + {-status_type_id:required} + } { + get a status type + } { + db_1row get_status_type {} + + set status_type(status_type_id) $status_type_id + set status_type(package_id) $package_id + set status_type(short_desc) $short_desc + set status_type(long_desc) $long_desc + set status_type(enabled_p) $enabled_p -namespace eval recruiting_criteria { - - ad_proc -public new { - {-criteria_name:required} - {-description:required} - {-enabled_p:required} - {-package_id ""} - } { - create a new recruiting criteria - } { - if {[empty_string_p $package_id]} { - set package_id [ad_conn package_id] + return [array get status_type] } - set extra_vars [ns_set create] - ns_set put $extra_vars package_id $package_id - ns_set put $extra_vars criteria_name $criteria_name - ns_set put $extra_vars description $description - ns_set put $extra_vars enabled_p $enabled_p + ad_proc -public update_status_type { + {-status_type_id:required} + {-package_id ""} + {-short_desc:required} + {-long_desc:required} + {-enabled_p "t"} + } { + set a status type + } { + db_dml update_status_type {} + } + } - set object_type "recruiting_criteria" + namespace eval criteria { + + ad_proc -public new { + {-criteria_name:required} + {-description:required} + {-enabled_p:required} + {-package_id ""} + } { + create a new recruiting criteria + } { + if {[empty_string_p $package_id]} { + set package_id [ad_conn package_id] + } + + set extra_vars [ns_set create] + ns_set put $extra_vars package_id $package_id + ns_set put $extra_vars criteria_name $criteria_name + ns_set put $extra_vars description $description + ns_set put $extra_vars enabled_p $enabled_p - return [package_instantiate_object -extra_vars $extra_vars $object_type] - } + set object_type "recruiting_criteria" - ad_proc -public disable { - {-criteria_id:required} - } { - disable a recruiting criteria - } { - db_dml disable_criteria {} - } + return [package_instantiate_object -extra_vars $extra_vars $object_type] + } - ad_proc -public enable { - {-criteria_id:required} - } { - enable a recruiting criteria - } { - db_dml enable_criteria {} - } + ad_proc -public disable { + {-criteria_id:required} + } { + disable a recruiting criteria + } { + db_dml disable_criteria {} + } - ad_proc -public get { - {-criteria_id:required} - } { - get a recruiting criteria - } { - db_1row get_criteria {} + ad_proc -public enable { + {-criteria_id:required} + } { + enable a recruiting criteria + } { + db_dml enable_criteria {} + } - set recruiting_criteria(criteria_id) $criteria_id - set recruiting_criteria(package_id) $package_id - set recruiting_criteria(criteria_name) $criteria_name - set recruiting_criteria(description) $description - set recruiting_criteria(enabled_p) $enabled_p + ad_proc -public get { + {-criteria_id:required} + } { + get a recruiting criteria + } { + db_1row get_criteria {} - return [array get recruiting_criteria] - } + set recruiting_criteria(criteria_id) $criteria_id + set recruiting_criteria(package_id) $package_id + set recruiting_criteria(criteria_name) $criteria_name + set recruiting_criteria(description) $description + set recruiting_criteria(enabled_p) $enabled_p - ad_proc -public update_criteria_type { - {-criteria_id:required} - {-criteria_name:required} - {-description:required} - {-enabled_p:required} - {-package_id ""} - } { - update a criteria type - } { - db_dml update_criteria {} + return [array get recruiting_criteria] + } + + ad_proc -public update_criteria_type { + {-criteria_id:required} + {-criteria_name:required} + {-description:required} + {-enabled_p:required} + {-package_id ""} + } { + update a criteria type + } { + db_dml update_criteria {} + } } -} -namespace eval recruiting_candidate { + namespace eval candidate { - ad_proc -public format_phone { - {-phone_number:required} - } { - this proc takes a 10 digit phone number (which should - have only digits, no ()-. characters, and formats it - like this: "(123) 456-7890" + ad_proc -public format_phone { + {-phone_number:required} + } { + this proc takes a 10 digit phone number (which should + have only digits, no ()-. characters, and formats it + like this: "(123) 456-7890" - if the input is not a string of ten digits, an empty - string is returned - } { - if {[string length $phone_number] != 10} { - return "" - } else { - return "\([string range $phone_number 0 2]\) [string range $phone_number 3 5]-[string range $phone_number 6 end]" + if the input is not a string of ten digits, an empty + string is returned + } { + if {[string length $phone_number] != 10} { + return "" + } else { + return "\([string range $phone_number 0 2]\) [string range $phone_number 3 5]-[string range $phone_number 6 end]" + } } - } - ad_proc -public strip_phone { - {-phone_number:required} - } { - this proc takes a 10 digit phone number of arbitrary format - and strips away ()-., or any other characters - } { - regsub -all {[^0-9]} $phone_number "" stripped_number - return $stripped_number - } - - ad_proc -public new { - {-candidate_id:required} - {-first_name:required} - {-last_name:required} - {-address1:required} - {-address2:required} - {-city:required} - {-state:required} - {-zip:required} - {-zip_plus_four:required} - {-country:required} - {-email:required} - {-home_phone:required} - {-cell_phone:required} - {-status:required} - {-package_id ""} - } { - add a new recruiting candidate - } { - - if {[empty_string_p $package_id]} { - set package_id [ad_conn package_id] + ad_proc -public strip_phone { + {-phone_number:required} + } { + this proc takes a 10 digit phone number of arbitrary format + and strips away ()-., or any other characters + } { + regsub -all {[^0-9]} $phone_number "" stripped_number + return $stripped_number } - set extra_vars [ns_set create] - ns_set put $extra_vars candidate_id $candidate_id - ns_set put $extra_vars package_id $package_id - ns_set put $extra_vars first_name $first_name - ns_set put $extra_vars last_name $last_name - ns_set put $extra_vars address1 $address1 - ns_set put $extra_vars address2 $address2 - ns_set put $extra_vars city $city - ns_set put $extra_vars state $state - ns_set put $extra_vars zip $zip - ns_set put $extra_vars zip_plus_four $zip_plus_four - ns_set put $extra_vars country $country - ns_set put $extra_vars home_phone $home_phone - ns_set put $extra_vars cell_phone $cell_phone - ns_set put $extra_vars email $email - ns_set put $extra_vars status $status - - set object_type "recruiting_candidate" + ad_proc -public new { + {-candidate_id:required} + {-first_name:required} + {-last_name:required} + {-address1:required} + {-address2:required} + {-city:required} + {-state:required} + {-zip:required} + {-zip_plus_four:required} + {-country:required} + {-email:required} + {-home_phone:required} + {-cell_phone:required} + {-status:required} + {-package_id ""} + } { + add a new recruiting candidate + } { + + if {[empty_string_p $package_id]} { + set package_id [ad_conn package_id] + } - return [package_instantiate_object -extra_vars $extra_vars $object_type] - } + set extra_vars [ns_set create] + ns_set put $extra_vars candidate_id $candidate_id + ns_set put $extra_vars package_id $package_id + ns_set put $extra_vars first_name $first_name + ns_set put $extra_vars last_name $last_name + ns_set put $extra_vars address1 $address1 + ns_set put $extra_vars address2 $address2 + ns_set put $extra_vars city $city + ns_set put $extra_vars state $state + ns_set put $extra_vars zip $zip + ns_set put $extra_vars zip_plus_four $zip_plus_four + ns_set put $extra_vars country $country + ns_set put $extra_vars home_phone $home_phone + ns_set put $extra_vars cell_phone $cell_phone + ns_set put $extra_vars email $email + ns_set put $extra_vars status $status + + set object_type "recruiting_candidate" - ad_proc -public delete { - {-candidate_id:required} - } { - delete a recruiting candidate - } { - db_dml delete_ratings_for_candidate {} - db_dml delete_interviews_for_candidate {} - db_dml delete_candidate {} - } + return [package_instantiate_object -extra_vars $extra_vars $object_type] + } - ad_proc -public archive { - {-candidate_id:required} - } { - archive a candidate - } { - db_dml archive_candidate {} - } + ad_proc -public delete { + {-candidate_id:required} + } { + delete a recruiting candidate + } { + db_dml delete_ratings_for_candidate {} + db_dml delete_interviews_for_candidate {} + db_dml delete_candidate {} + } - ad_proc -public unarchive { - {-candidate_id:required} - } { - unarchive a candidate - } { - db_dml unarchive_candidate {} - } + ad_proc -public archive { + {-candidate_id:required} + } { + archive a candidate + } { + db_dml archive_candidate {} + } - ad_proc -public get { - {-candidate_id:required} - } { - get a candidate - } { - db_1row get_recruiting_candidate {} + ad_proc -public unarchive { + {-candidate_id:required} + } { + unarchive a candidate + } { + db_dml unarchive_candidate {} + } - array set the_status [recruiting_status_type::get -status_type_id $status] + ad_proc -public get { + {-candidate_id:required} + } { + get a candidate + } { + db_1row get_recruiting_candidate {} - set recruiting_candidate(candidate_id) $candidate_id - set recruiting_candidate(package_id) $package_id - set recruiting_candidate(first_name) $first_name - set recruiting_candidate(last_name) $last_name - set recruiting_candidate(address1) $address1 - set recruiting_candidate(address2) $address2 - set recruiting_candidate(city) $city - set recruiting_candidate(state) $state - set recruiting_candidate(zip) $zip - set recruiting_candidate(zip_plus_four) $zip_plus_four - set recruiting_candidate(country) $country - set recruiting_candidate(home_phone) $home_phone - set recruiting_candidate(cell_phone) $cell_phone - set recruiting_candidate(email) $email - set recruiting_candidate(status) $the_status(short_desc) + array set the_status [recruiting_status_type::get -status_type_id $status] + + set recruiting_candidate(candidate_id) $candidate_id + set recruiting_candidate(package_id) $package_id + set recruiting_candidate(first_name) $first_name + set recruiting_candidate(last_name) $last_name + set recruiting_candidate(address1) $address1 + set recruiting_candidate(address2) $address2 + set recruiting_candidate(city) $city + set recruiting_candidate(state) $state + set recruiting_candidate(zip) $zip + set recruiting_candidate(zip_plus_four) $zip_plus_four + set recruiting_candidate(country) $country + set recruiting_candidate(home_phone) $home_phone + set recruiting_candidate(cell_phone) $cell_phone + set recruiting_candidate(email) $email + set recruiting_candidate(status) $the_status(short_desc) + + return [array get recruiting_candidate] + } - return [array get recruiting_candidate] - } - - ad_proc -public update_candidate { - {-candidate_id:required} - {-first_name:required} - {-last_name:required} - {-address1:required} - {-address2:required} - {-city:required} - {-state:required} - {-zip:required} - {-zip_plus_four:required} - {-country:required} - {-home_phone:required} - {-cell_phone:required} - {-email:required} - {-status:required} - {-package_id:required} - } { - update a candidate - } { - person::update \ - -person_id $candidate_id \ - -first_names $first_name \ - -last_name $last_name + ad_proc -public update_candidate { + {-candidate_id:required} + {-first_name:required} + {-last_name:required} + {-address1:required} + {-address2:required} + {-city:required} + {-state:required} + {-zip:required} + {-zip_plus_four:required} + {-country:required} + {-home_phone:required} + {-cell_phone:required} + {-email:required} + {-status:required} + {-package_id:required} + } { + update a candidate + } { + person::update \ + -person_id $candidate_id \ + -first_names $first_name \ + -last_name $last_name - db_dml update_candidate {} + db_dml update_candidate {} + } + } -} + namespace eval interview { -namespace eval recruiting_interview { + ad_proc -public new { + {-interviewer_id:required} + {-candidate_id:required} + {-package_id ""} + } { + assign an interviewer to interview a candidate + } { + if {[empty_string_p $package_id]} { + set package_id [ad_conn package_id] + } + + set extra_vars [ns_set create] + ns_set put $extra_vars package_id $package_id + ns_set put $extra_vars interviewer_id $interviewer_id + ns_set put $extra_vars candidate_id $candidate_id - ad_proc -public new { - {-interviewer_id:required} - {-candidate_id:required} - {-package_id ""} - } { - assign an interviewer to interview a candidate - } { - if {[empty_string_p $package_id]} { - set package_id [ad_conn package_id] - } - - set extra_vars [ns_set create] - ns_set put $extra_vars package_id $package_id - ns_set put $extra_vars interviewer_id $interviewer_id - ns_set put $extra_vars candidate_id $candidate_id + set object_type "recruiting_interview" - set object_type "recruiting_interview" + return [package_instantiate_object -extra_vars $extra_vars $object_type] + } - return [package_instantiate_object -extra_vars $extra_vars $object_type] - } + ad_proc -public delete { + {-interview_id:required} + } { + delete an interview + } { + db_dml delete_ratings {} + db_dml delete_interview {} + } - ad_proc -public delete { - {-interview_id:required} - } { - delete an interview - } { - db_dml delete_ratings {} - db_dml delete_interview {} - } + ad_proc -public get { + {-interview_id:required} + } { + get an interview + } { + db_1row get_interview {} - ad_proc -public get { - {-interview_id:required} - } { - get an interview - } { - db_1row get_interview {} + set interview(interview_id) $interview_id + set interview(package_id) $package_id + set interview(interviewer_id) $interviewer_id + set interview(candidate_id) $candidate_id + set interview(should_hire_p) $should_hire_p + set interview(comment) $comment - set interview(interview_id) $interview_id - set interview(package_id) $package_id - set interview(interviewer_id) $interviewer_id - set interview(candidate_id) $candidate_id - set interview(should_hire_p) $should_hire_p - set interview(comment) $comment - - return [array get interview] + return [array get interview] + } } -} -namespace eval recruiting_rating { - - ad_proc -public new { - {-interview_id:required} - {-criteria_id:required} - {-rating:required} - {-package_id ""} - } { - rate a candidate on a particular criteria - } { - if {[empty_string_p $package_id]} { - set package_id [ad_conn package_id] + namespace eval rating { + + ad_proc -public new { + {-interview_id:required} + {-criteria_id:required} + {-rating:required} + {-package_id ""} + } { + rate a candidate on a particular criteria + } { + if {[empty_string_p $package_id]} { + set package_id [ad_conn package_id] + } + + set extra_vars [ns_set create] + ns_set put $extra_vars package_id $package_id + ns_set put $extra_vars interview_id $interview_id + ns_set put $extra_vars criteria_id $criteria_id + ns_set put $extra_vars rating $rating + + set object_type "recruiting_rating" + return [package_instantiate_object -extra_vars $extra_vars $object_type] } - set extra_vars [ns_set create] - ns_set put $extra_vars package_id $package_id - ns_set put $extra_vars interview_id $interview_id - ns_set put $extra_vars criteria_id $criteria_id - ns_set put $extra_vars rating $rating + ad_proc -public delete { + {-rating_id:required} + } { + delete a rating + } { + db_dml delete_rating {} + } - set object_type "recruiting_rating" - return [package_instantiate_object -extra_vars $extra_vars $object_type] + ad_proc -public get { + {-rating_id:required} + } { + get a rating + } { + db_1row get_rating {} + set rating(package_id) $package_id + set rating(interview_id) $interview_id + set rating(criteria_id) $criteria_id + set rating(rating) $criteria + } } - - ad_proc -public delete { - {-rating_id:required} - } { - delete a rating - } { - db_dml delete_rating {} - } - ad_proc -public get { - {-rating_id:required} - } { - get a rating - } { - db_1row get_rating {} - set rating(package_id) $package_id - set rating(interview_id) $interview_id - set rating(criteria_id) $criteria_id - set rating(rating) $criteria - } } Index: openacs-4/packages/recruiting/www/edit-ratings.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/edit-ratings.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/recruiting/www/edit-ratings.tcl 2 Aug 2002 16:48:26 -0000 1.2 +++ openacs-4/packages/recruiting/www/edit-ratings.tcl 14 Aug 2002 20:28:28 -0000 1.3 @@ -13,7 +13,7 @@ set package_id [ad_conn package_id] set user_id [ad_verify_and_get_user_id] -array set interview_info [recruiting_interview::get -interview_id $interview_id] +array set interview_info [recruiting::interview::get -interview_id $interview_id] array set candidate_info [recruiting_candidate::get -candidate_id $candidate_id] form create rate_sheet @@ -68,7 +68,7 @@ form get_values rate_sheet \ criteria_$criteria_id - recruiting_rating::new \ + recruiting::rating::new \ -package_id $package_id \ -interview_id $interview_id \ -criteria_id $criteria_id \ @@ -82,3 +82,5 @@ } set context_bar [list [list "index" "Recruiting"] [list "my-completed-interviews" "My Completed Interviews"] "Edit Rate Sheet"] + + Index: openacs-4/packages/recruiting/www/rate-candidate.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/rate-candidate.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/recruiting/www/rate-candidate.tcl 2 Aug 2002 18:53:56 -0000 1.3 +++ openacs-4/packages/recruiting/www/rate-candidate.tcl 14 Aug 2002 20:28:28 -0000 1.4 @@ -60,7 +60,7 @@ criteria_$criteria_id if {[set criteria_$criteria_id] != 0} { - recruiting_rating::new \ + recruiting::rating::new \ -package_id $package_id \ -interview_id $interview_id \ -criteria_id $criteria_id \ @@ -75,3 +75,4 @@ } set context_bar [list [list "index" "Recruiting"] [list "my-new-interviews" "My New Interviews"] "One Rate Sheet"] + Index: openacs-4/packages/recruiting/www/rating-sheet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/rating-sheet.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/recruiting/www/rating-sheet.tcl 9 Aug 2002 20:30:51 -0000 1.3 +++ openacs-4/packages/recruiting/www/rating-sheet.tcl 14 Aug 2002 20:28:28 -0000 1.4 @@ -11,7 +11,7 @@ set package_id [ad_conn package_id] set user_id [ad_verify_and_get_user_id] -array set interview_info [recruiting_interview::get -interview_id $interview_id] +array set interview_info [recruiting::interview::get -interview_id $interview_id] if {$user_id != $interview_info(interviewer_id)} { @@ -54,3 +54,4 @@ + Index: openacs-4/packages/recruiting/www/admin/assign-candidate-interview-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/assign-candidate-interview-2.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/recruiting/www/admin/assign-candidate-interview-2.tcl 7 Aug 2002 23:39:19 -0000 1.2 +++ openacs-4/packages/recruiting/www/admin/assign-candidate-interview-2.tcl 14 Aug 2002 20:28:28 -0000 1.3 @@ -20,6 +20,11 @@ array set candidate_info [recruiting_candidate::get -candidate_id $candidate_id] +set candidate_name [person::name -person_id $candidate_id] +set url "[ad_parameter -package_id [ad_acs_kernel_id] SystemURL ""]$package_url" +set interviewer_name [person::name -person_id $search_user_id] +set sender_name [person::name -person_id $user_id] + form create msg element create msg subject \ -label "Subject:" \ @@ -33,15 +38,8 @@ -datatype text \ -widget textarea \ -html {rows 10 cols 60 wrap soft} \ - -value " + -value [recruiting_email::get_body -package_id $package_id] -Dear [person::name -person_id $search_user_id], - -Please interview [person::name -person_id $candidate_id] at your earliest convenience. When you have completed the interview, please go to [ad_parameter -package_id [ad_acs_kernel_id] SystemURL ""]$package_url and rate the candidate. - -Thank you, -[person::name -person_id $user_id]" - element create msg candidate_id \ -widget hidden \ -value $candidate_id @@ -59,7 +57,7 @@ catch {ns_sendmail $interviewer_email $sender_email "$subject" "$body"} message_send_errors - recruiting_interview::new \ + recruiting::interview::new \ -interviewer_id $search_user_id \ -candidate_id $candidate_id \ -package_id $package_id @@ -73,3 +71,4 @@ ad_return_template + Index: openacs-4/packages/recruiting/www/admin/assign-candidate-interview.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/assign-candidate-interview.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/recruiting/www/admin/assign-candidate-interview.tcl 9 Aug 2002 20:30:51 -0000 1.3 +++ openacs-4/packages/recruiting/www/admin/assign-candidate-interview.tcl 14 Aug 2002 20:28:28 -0000 1.4 @@ -15,12 +15,19 @@ set searching_p 1 -form create assign_interview -element create assign_interview search_text \ +form create assign_interview +element create assign_interview search_user_id \ -label "Assign interview to" \ + -datatype integer \ + -widget select \ + -options [db_list_of_lists get_all_recruiting_users {select last_name||', '||first_names,user_id from registered_users order by last_name}] + +element create assign_interview search_text \ + -label "or search:" \ -datatype text \ -widget text \ - -html {size 40} + -html {size 40} \ + -optional element create assign_interview candidate_id \ -widget hidden \ @@ -29,14 +36,21 @@ if {[form is_valid assign_interview]} { set searching_p 0 form get_values assign_interview \ - search_text + search_text search_user_id - ui::table::set_title search_results "Choose an interviewer" + if {![empty_string_p $search_text]} { - db_foreach select_users {} { - ui::table::add_sortable_row search_results [list "<a href=assign-candidate-interview-2?[export_vars "candidate_id search_user_id"]>$last_name, $first_names ($email)</a>"] - } if_no_rows { - ui::table::add_sortable_row search_results [list "There were no users matching your criteria"] + ui::table::set_title search_results "Choose an interviewer" + + db_foreach select_users {} { + ui::table::add_sortable_row search_results [list "<a href=assign-candidate-interview-2?[export_vars "candidate_id search_user_id"]>$last_name, $first_names ($email)</a>"] + } if_no_rows { + ui::table::add_sortable_row search_results [list "There were no users matching your criteria"] + } + + } else { + + ns_returnredirect assign-candidate-interview-2?[export_vars {candidate_id search_user_id}] } } Index: openacs-4/packages/recruiting/www/admin/delete-interview.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/delete-interview.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/recruiting/www/admin/delete-interview.tcl 9 Aug 2002 20:30:51 -0000 1.2 +++ openacs-4/packages/recruiting/www/admin/delete-interview.tcl 14 Aug 2002 20:28:28 -0000 1.3 @@ -19,7 +19,7 @@ if {$delete_p == "notyet"} { array set candidate_info [recruiting_candidate::get -candidate_id $candidate_id] - array set interview_info [recruiting_interview::get -interview_id $interview_id] + array set interview_info [recruiting::interview::get -interview_id $interview_id] ui::table::set_title delete "Deleting interview for $candidate_info(first_name) $candidate_info(last_name)" ui::table::set_form delete [ns_conn url] @@ -32,7 +32,7 @@ } else { if {$delete_p == "Yes"} { - recruiting_interview::delete -interview_id $interview_id + recruiting::interview::delete -interview_id $interview_id } ns_returnredirect [ns_urldecode $referrer] @@ -41,3 +41,4 @@ + Index: openacs-4/packages/recruiting/www/admin/edit-criteria.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/edit-criteria.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/recruiting/www/admin/edit-criteria.tcl 31 Jul 2002 23:54:00 -0000 1.1 +++ openacs-4/packages/recruiting/www/admin/edit-criteria.tcl 14 Aug 2002 20:28:28 -0000 1.2 @@ -12,7 +12,7 @@ set package_id [ad_conn package_id] set user_id [ad_verify_and_get_user_id] -array set info [recruiting_criteria::get -criteria_id $criteria_id] +array set info [recruiting::criteria::get -criteria_id $criteria_id] form create edit_criteria element create edit_criteria criteria_name \ @@ -37,7 +37,7 @@ form get_values edit_criteria \ criteria_name description - recruiting_criteria::update_criteria_type \ + recruiting::criteria::update_criteria_type \ -criteria_id $criteria_id \ -criteria_name $criteria_name \ -description $description \ @@ -51,3 +51,4 @@ set context_bar [list [list "../" "Recruiting"] [list "index" "Admin"] [list "list-criteria" "Criteria Types"] "Edit Criteria"] ad_return_template + Index: openacs-4/packages/recruiting/www/admin/edit-status-type.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/edit-status-type.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/recruiting/www/admin/edit-status-type.tcl 31 Jul 2002 23:54:00 -0000 1.1 +++ openacs-4/packages/recruiting/www/admin/edit-status-type.tcl 14 Aug 2002 20:28:28 -0000 1.2 @@ -13,7 +13,7 @@ set package_id [ad_conn package_id] set user_id [ad_verify_and_get_user_id] -array set info [recruiting_status_type::get -status_type_id $status_type_id] +array set info [recruiting::status_type::get -status_type_id $status_type_id] form create edit_status_type element create edit_status_type short_desc \ @@ -38,7 +38,7 @@ form get_values edit_status_type \ short_desc long_desc - recruiting_status_type::update_status_type \ + recruiting::status_type::update_status_type \ -status_type_id $status_type_id \ -short_desc $short_desc \ -long_desc $long_desc \ @@ -52,3 +52,4 @@ set context_bar [list [list "../" "Recruiting"] [list "index" "Admin"] [list "list-status-types" "Status Types"] "Edit Status Type"] ad_return_template + Index: openacs-4/packages/recruiting/www/admin/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/index.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/recruiting/www/admin/index.tcl 9 Aug 2002 20:30:51 -0000 1.4 +++ openacs-4/packages/recruiting/www/admin/index.tcl 14 Aug 2002 20:28:28 -0000 1.5 @@ -29,6 +29,7 @@ ui::table::set_title setup "Setup" ui::table::add_unsorted_row setup [list "<a href=list-status-types.tcl>Candidate status types</a>$status_types_msg"] ui::table::add_unsorted_row setup [list "<a href=list-criteria>Interview criteria</a>$criteria_msg"] +ui::table::add_unsorted_row setup [list "<a href=email-options>Email options</a>"] db_1row get_num_candidates {} db_1row get_pending_interviews {} @@ -41,5 +42,5 @@ set context_bar [list [list "../" "Recruiting"] "Admin"] +ad_return_template - Index: openacs-4/packages/recruiting/www/admin/new-criteria.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/new-criteria.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/recruiting/www/admin/new-criteria.tcl 31 Jul 2002 23:54:00 -0000 1.2 +++ openacs-4/packages/recruiting/www/admin/new-criteria.tcl 14 Aug 2002 20:28:28 -0000 1.3 @@ -27,7 +27,7 @@ form get_values new_criteria \ criteria_name description - recruiting_criteria::new \ + recruiting::criteria::new \ -criteria_name $criteria_name \ -description $description \ -package_id $package_id \ @@ -40,3 +40,4 @@ set context_bar [list [list "../" "Recruiting"] [list "index" "Admin"] [list "list-criteria" "Criteria Types"] "New Criteria"] ad_return_template + Index: openacs-4/packages/recruiting/www/admin/new-status-type.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/new-status-type.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/recruiting/www/admin/new-status-type.tcl 31 Jul 2002 23:54:00 -0000 1.2 +++ openacs-4/packages/recruiting/www/admin/new-status-type.tcl 14 Aug 2002 20:28:28 -0000 1.3 @@ -27,7 +27,7 @@ form get_values new_status_type \ short_desc long_desc - recruiting_status_type::new \ + recruiting::status_type::new \ -short_desc $short_desc \ -long_desc $long_desc \ -package_id $package_id \ @@ -40,3 +40,4 @@ set context_bar [list [list "../" "Recruiting"] [list "index" "Admin"] [list "list-status-types" "Status Types"] "New Status Type"] ad_return_template + Index: openacs-4/packages/recruiting/www/admin/view-ratings-by-criteria.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/view-ratings-by-criteria.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/recruiting/www/admin/view-ratings-by-criteria.tcl 9 Aug 2002 20:30:51 -0000 1.2 +++ openacs-4/packages/recruiting/www/admin/view-ratings-by-criteria.tcl 14 Aug 2002 20:28:28 -0000 1.3 @@ -12,7 +12,7 @@ } array set candidate_info [recruiting_candidate::get -candidate_id $candidate_id] -array set criteria_info [recruiting_criteria::get -criteria_id $criteria_id] +array set criteria_info [recruiting::criteria::get -criteria_id $criteria_id] ui::table::set_title ratings "$criteria_info(criteria_name) ratings for $candidate_info(first_name) $candidate_info(last_name)" ui::table::set_column_headings ratings [list "Interviewer" "$criteria_info(criteria_name) Rating"] @@ -40,3 +40,4 @@ + Index: openacs-4/packages/recruiting/www/admin/view-ratings.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/recruiting/www/admin/view-ratings.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/recruiting/www/admin/view-ratings.tcl 9 Aug 2002 20:30:51 -0000 1.3 +++ openacs-4/packages/recruiting/www/admin/view-ratings.tcl 14 Aug 2002 20:28:28 -0000 1.4 @@ -10,7 +10,7 @@ interview_id:notnull } -array set interview_info [recruiting_interview::get -interview_id $interview_id] +array set interview_info [recruiting::interview::get -interview_id $interview_id] array set candidate_info [recruiting_candidate::get -candidate_id $interview_info(candidate_id)] set interviewer_id $interview_info(interviewer_id) @@ -52,3 +52,4 @@ +