Index: openacs-4/packages/invoices/invoices.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/invoices.info,v
diff -u -r1.15 -r1.16
--- openacs-4/packages/invoices/invoices.info 15 Nov 2005 22:38:03 -0000 1.15
+++ openacs-4/packages/invoices/invoices.info 15 Dec 2005 18:58:42 -0000 1.16
@@ -7,15 +7,15 @@
f
t
-
+
Timo Hentschel
Invoices package that will collect costs to invoice items in invoices and store data about received payment.
2005-11-15
Cognovis
Collect costs to invoice items and invoices, store payment information.
0
-
+
Index: openacs-4/packages/invoices/catalog/invoices.de_DE.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/catalog/invoices.de_DE.ISO-8859-1.xml,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/invoices/catalog/invoices.de_DE.ISO-8859-1.xml 14 Dec 2005 17:39:30 -0000 1.14
+++ openacs-4/packages/invoices/catalog/invoices.de_DE.ISO-8859-1.xml 15 Dec 2005 18:58:42 -0000 1.15
@@ -115,6 +115,9 @@
Rabatt
Nummer
Titel
+ Lektorat
+ Adaption
+ Sprachen
Mehrwertsteuer
Rechnungsposition ansehen
Neue Rechnung
Index: openacs-4/packages/invoices/catalog/invoices.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/catalog/invoices.en_US.ISO-8859-1.xml,v
diff -u -r1.19 -r1.20
--- openacs-4/packages/invoices/catalog/invoices.en_US.ISO-8859-1.xml 14 Dec 2005 17:39:30 -0000 1.19
+++ openacs-4/packages/invoices/catalog/invoices.en_US.ISO-8859-1.xml 15 Dec 2005 18:58:42 -0000 1.20
@@ -140,6 +140,9 @@
Rebate
Sort order
Title
+ Editing
+ Translation
+ Languages
VAT
View Invoice Item
New Invoice
Index: openacs-4/packages/invoices/sql/postgresql/invoices-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/sql/postgresql/invoices-create.sql,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/invoices/sql/postgresql/invoices-create.sql 2 Dec 2005 14:27:38 -0000 1.6
+++ openacs-4/packages/invoices/sql/postgresql/invoices-create.sql 15 Dec 2005 18:58:42 -0000 1.7
@@ -299,6 +299,9 @@
offer_item_id integer
constraint iv_default_objects_offer_item_fk
references acs_objects,
+ offer_item_title_id integer
+ constraint iv_default_objects_offer_title_fk
+ references acs_objects,
invoice_id integer
constraint iv_default_objects_invoice_fk
references acs_objects,
Index: openacs-4/packages/invoices/sql/postgresql/upgrade/upgrade-0.01d19-0.01d20.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/sql/postgresql/upgrade/upgrade-0.01d19-0.01d20.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/invoices/sql/postgresql/upgrade/upgrade-0.01d19-0.01d20.sql 15 Dec 2005 18:58:42 -0000 1.1
@@ -0,0 +1 @@
+alter table iv_default_objects add column offer_item_title_id integer;
Index: openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl 14 Dec 2005 22:06:38 -0000 1.10
+++ openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl 15 Dec 2005 18:58:43 -0000 1.11
@@ -311,34 +311,38 @@
lappend group_ids [group::get_id -group_name $group_name]
}
- set already_offer_p [db_0or1row check_for_offer {
- select of.offer_id as credit_offer_rev_id
- from iv_offers of, cr_items oi, acs_data_links r,
- pm_projects p, cr_items pi
- where r.object_id_one = pi.item_id
- and r.object_id_two = oi.item_id
- and oi.latest_revision = of.offer_id
- and of.status = 'credit'
- and pi.latest_revision = p.project_id
- and p.status_id = 2
- and p.customer_id = :organization_id
- }]
+ if {[lsearch $group_ids $group_id] >-1} {
+ # check if there is already an offer dummy project
+ set already_offer_p [db_0or1row check_for_offer {
+ select of.offer_id as credit_offer_rev_id
+ from iv_offers of, cr_items oi, acs_data_links r,
+ pm_projects p, cr_items pi
+ where r.object_id_one = pi.item_id
+ and r.object_id_two = oi.item_id
+ and oi.latest_revision = of.offer_id
+ and of.status = 'credit'
+ and pi.latest_revision = p.project_id
+ and p.status_id = 2
+ and p.customer_id = :organization_id
+ }]
- set root_folder_id [lindex [application_data_link::get_linked -from_object_id $organization_id -to_object_type content_folder] 0]
- foreach folder {invoices offers accepted} {
- if {[empty_string_p [fs::get_folder -name $folder -parent_id $root_folder_id]]} {
- set folder_id [fs::new_folder \
- -name $folder \
- -pretty_name "#invoices.${folder}#" \
- -parent_id $root_folder_id \
- -no_callback]
- }
- }
+ if {!$already_offer_p} {
+ # Create the new project and credit offer
- if {[lsearch $group_ids $group_id] >-1 && !$already_offer_p} {
- # Create the new project and credit offer
- foreach package_id [apm_package_id_from_key invoices] {
- iv::offer::new_credit -organization_id $organization_id -package_id $package_id
+ set root_folder_id [lindex [application_data_link::get_linked -from_object_id $organization_id -to_object_type content_folder] 0]
+ foreach folder {invoices offers accepted} {
+ if {[empty_string_p [fs::get_folder -name $folder -parent_id $root_folder_id]]} {
+ set folder_id [fs::new_folder \
+ -name "${folder}_${root_folder_id}" \
+ -pretty_name "#invoices.${folder}#" \
+ -parent_id $root_folder_id \
+ -no_callback]
+ }
+ }
+
+ foreach package_id [apm_package_id_from_key invoices] {
+ iv::offer::new_credit -organization_id $organization_id -package_id $package_id
+ }
}
}
}
Index: openacs-4/packages/invoices/tcl/iv-install-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/iv-install-procs.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/invoices/tcl/iv-install-procs.tcl 26 Oct 2005 12:33:37 -0000 1.6
+++ openacs-4/packages/invoices/tcl/iv-install-procs.tcl 15 Dec 2005 18:58:43 -0000 1.7
@@ -130,6 +130,7 @@
set cost_id [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Costs Default Object"]] acs_object]
set offer_id [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Offers Default Object"]] acs_object]
set offer_item_id [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Offer Items Default Object"]] acs_object]
+ set offer_item_title_id [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Offer Items Title Default Object"]] acs_object]
set invoice_id [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Invoices Default Object"]] acs_object]
set invoice_item_id [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Invoice Items Default Object"]] acs_object]
set payment_id [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Payments Default Object"]] acs_object]
@@ -141,6 +142,7 @@
-cost_id $cost_id \
-offer_id $offer_id \
-offer_item_id $offer_item_id \
+ -offer_item_title_id $offer_item_title_id \
-invoice_id $invoice_id \
-invoice_item_id $invoice_item_id \
-payment_id $payment_id
@@ -247,6 +249,27 @@
}
}
}
+ 0.01d19 0.01d20 {
+ foreach package_id [apm_package_id_from_key invoices] {
+ array set objects [iv::util::get_default_objects -package_id $package_id]
+
+ set objects(invoice_item_id) [package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "Invoice Items Default Object"]] acs_object]
+
+ iv::util::set_default_objects \
+ -package_id $package_id \
+ -list_id $objects(list_id) \
+ -price_id $objects(price_id) \
+ -cost_id $objects(cost_id) \
+ -offer_id $objects(offer_id) \
+ -offer_item_id $objects(offer_item_id) \
+ -offer_item_title_id $objects(offer_item_title_id) \
+ -invoice_id $objects(invoice_id) \
+ -invoice_item_id $objects(invoice_item_id) \
+ -payment_id $objects(payment_id)
+
+ array unset objects
+ }
+ }
}
}
Index: openacs-4/packages/invoices/tcl/util-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/util-procs.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/invoices/tcl/util-procs.tcl 1 Oct 2005 11:05:05 -0000 1.3
+++ openacs-4/packages/invoices/tcl/util-procs.tcl 15 Dec 2005 18:58:43 -0000 1.4
@@ -37,6 +37,7 @@
-cost_id:required
-offer_id:required
-offer_item_id:required
+ -offer_item_title_id:required
-invoice_id:required
-invoice_item_id:required
-payment_id:required
Index: openacs-4/packages/invoices/tcl/util-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/util-procs.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/invoices/tcl/util-procs.xql 28 Sep 2005 19:08:28 -0000 1.2
+++ openacs-4/packages/invoices/tcl/util-procs.xql 15 Dec 2005 18:58:43 -0000 1.3
@@ -5,7 +5,7 @@
- select list_id, price_id, cost_id, offer_id, offer_item_id,
+ select list_id, price_id, cost_id, offer_id, offer_item_id, offer_item_title_id,
invoice_id, invoice_item_id, payment_id
from iv_default_objects
where package_id = :package_id
@@ -17,10 +17,10 @@
insert into iv_default_objects
- (package_id, list_id, price_id, cost_id, offer_id,
+ (package_id, list_id, price_id, cost_id, offer_id, offer_item_title_id,
offer_item_id, invoice_id, invoice_item_id, payment_id)
values
- (:package_id, :list_id, :price_id, :cost_id, :offer_id,
+ (:package_id, :list_id, :price_id, :cost_id, :offer_id, :offer_item_title_id,
:offer_item_id, :invoice_id, :invoice_item_id, :payment_id)
Index: openacs-4/packages/invoices/www/offer-ae.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/www/offer-ae.tcl,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/invoices/www/offer-ae.tcl 2 Nov 2005 14:50:43 -0000 1.10
+++ openacs-4/packages/invoices/www/offer-ae.tcl 15 Dec 2005 18:58:43 -0000 1.11
@@ -378,6 +378,13 @@
[list help_text "[_ invoices.iv_offer_item_Title_help]"] \
[list section "[_ invoices.iv_offer_item_1] $i"] ] ]
ad_form -extend -name iv_offer_form -form \
+ [list [list "item_title_cat.${i}:text(category),optional" \
+ [list label "[_ invoices.iv_offer_item_title_category]"] \
+ [list value [list 0 $container_objects(offer_item_title_id)]] \
+ [list help_text "[_ invoices.iv_offer_item_title_category_help]"] \
+ [list section "[_ invoices.iv_offer_item_1] $i"] ] ]
+
+ ad_form -extend -name iv_offer_form -form \
[list [list "item_description.${i}:text(textarea),optional" \
[list label "[_ invoices.iv_offer_item_Description]"] \
[list html [list rows 5 cols 80]] \
@@ -544,7 +551,23 @@
set item(rebate) $item_rebate($i)
set item(page_count) $item_pages($i)
set item(file_count) $item_files($i)
+ set title_cat $item_title_cat($i)
+
+ # generate item title from categories if empty title
+ if {[empty_string_p $item(title)]} {
+ # if only single category
+ if {[llength $title_cat] == 1} {
+ set item(title) "#invoices.iv_invoice_item_title_cat_1# ([category::get_name [lindex $title_cat 0]])"
+ }
+ # if two categories selected
+ if {[llength $title_cat] == 2} {
+ set from_cat [category::get_name [lindex $title_cat 0]]
+ set to_cat [category::get_name [lindex $title_cat 1]]
+ set item(title) "#invoices.iv_invoice_item_title_cat_2# ($from_cat -> $to_cat)"
+ }
+ }
+
if {[empty_string_p $item(price)]} {
set item(sum) "0"
} else {