diff --git a/addons/account/i18n/de.po b/addons/account/i18n/de.po index d2659e92d1c..edecdea43d1 100644 --- a/addons/account/i18n/de.po +++ b/addons/account/i18n/de.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.0\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-06-03 20:09+0000\n" +"PO-Revision-Date: 2010-06-09 15:10+0000\n" "Last-Translator: Ferdinand @ ChriCar \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-04 03:45+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account @@ -4904,7 +4904,7 @@ msgstr "Details Finanzkonto" #. module: account #: rml:account.overdue:0 msgid "VAT:" -msgstr "USt.:" +msgstr "UID:" #. module: account #: rml:account.analytic.account.cost_ledger:0 diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index 1f1aaf4dbb8..8340b713eb7 100644 --- a/addons/account/i18n/zh_CN.po +++ b/addons/account/i18n/zh_CN.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.6\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-05-29 11:45+0000\n" -"Last-Translator: digitalsatori \n" +"PO-Revision-Date: 2010-06-09 16:41+0000\n" +"Last-Translator: Wei \"oldrev\" Li \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-05-30 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account @@ -712,7 +712,7 @@ msgstr "客户欠款金额合计" #. module: account #: view:account.move.line:0 msgid "St." -msgstr "" +msgstr "结单编码" #. module: account #: model:ir.actions.act_window,name:account.action_tax_code_line_open diff --git a/addons/account_analytic_analysis/i18n/el.po b/addons/account_analytic_analysis/i18n/el.po index ba4a6964bd5..c456eeacf69 100644 --- a/addons/account_analytic_analysis/i18n/el.po +++ b/addons/account_analytic_analysis/i18n/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_analytic_analysis diff --git a/addons/account_anglo_saxon/i18n/el.po b/addons/account_anglo_saxon/i18n/el.po index b4be43ac790..774d8d4856c 100644 --- a/addons/account_anglo_saxon/i18n/el.po +++ b/addons/account_anglo_saxon/i18n/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_anglo_saxon diff --git a/addons/account_balance/i18n/el.po b/addons/account_balance/i18n/el.po index 0d013323c9e..c65e185fcc9 100644 --- a/addons/account_balance/i18n/el.po +++ b/addons/account_balance/i18n/el.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-06-09 03:21+0000\n" +"PO-Revision-Date: 2010-06-09 03:36+0000\n" "Last-Translator: Panayiotis Konstantinidis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_balance @@ -117,6 +117,25 @@ msgid "" " 5. You have an option to print the desired report in Landscape format.\n" " " msgstr "" +"Το κομμάτι Ισολογισμών είναι ένα επιπρόσθετο λειτουργικό κομμάτι στο κομμάτι " +"της Οικονομικής Διαχείρισης\n" +"\n" +" Αυτό το κομμάτι σου δίνει διάφορες επιλογές για εκτύπωση ισολογισμών.\n" +"\n" +" 1. Μπορείς να συγκρίνεις τους ισολογισμούς διαφόρων ετών.\n" +"\n" +" 2. Μπορείς να ορίσεις την απόλυτη ή επί τοις εκατό σύγκριση μεταξύ δύο " +"ετών.\n" +"\n" +" 3. Μπορείς να ορίσεις το ισολογισμό αναφοράς για την επί τοις εκατό " +"σύγκριση συγκεκριμένων ετών.\n" +"\n" +" 4. Μπορείς να επιλέξεις περιόδους ως πραγματική ημερομηνία ή περιόδους " +"ως ημέρα δημιουργίας.\n" +"\n" +" 5. Έχεις δυνατότητα να εκτυπώσεις την επιθυμητή αναφορά σε μορφή " +"Landscape.\n" +" " #. module: account_balance #: wizard_view:account.balance.account.balance.report,backtoinit:0 @@ -149,7 +168,7 @@ msgstr "Σύνολο:" #: rml:account.account.balance.landscape:0 #: rml:account.balance.account.balance:0 msgid "Account Balance -" -msgstr "" +msgstr "Ισολογισμός" #. module: account_balance #: wizard_field:account.balance.account.balance.report,init,format_perc:0 diff --git a/addons/account_coda/i18n/el.po b/addons/account_coda/i18n/el.po index 9ed3156d138..a3890e92939 100644 --- a/addons/account_coda/i18n/el.po +++ b/addons/account_coda/i18n/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-09 03:36+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_coda diff --git a/addons/account_invoice_layout/i18n/el.po b/addons/account_invoice_layout/i18n/el.po index 1b106512a00..6ea0abbb2fe 100644 --- a/addons/account_invoice_layout/i18n/el.po +++ b/addons/account_invoice_layout/i18n/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-09 03:35+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_invoice_layout diff --git a/addons/account_payment/i18n/el.po b/addons/account_payment/i18n/el.po index f732b6ba6c9..d08e0672262 100644 --- a/addons/account_payment/i18n/el.po +++ b/addons/account_payment/i18n/el.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-09-08 15:11+0000\n" -"Last-Translator: Makis Nicolaou \n" +"PO-Revision-Date: 2010-06-09 06:03+0000\n" +"Last-Translator: Panayiotis Konstantinidis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-04-17 04:11+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_payment @@ -40,7 +40,7 @@ msgstr "Επιλέξτε την Κατάσταση Πληρωμής που θα #. module: account_payment #: constraint:ir.actions.act_window:0 msgid "Invalid model name in the action definition." -msgstr "" +msgstr "Λανθασμένο όνομα μοντέλου στον ορισμό ενέργειας" #. module: account_payment #: view:payment.line:0 diff --git a/addons/auction/__openerp__.py b/addons/auction/__openerp__.py index cd27c60fdb7..0959d6a4dd9 100644 --- a/addons/auction/__openerp__.py +++ b/addons/auction/__openerp__.py @@ -60,6 +60,7 @@ 'auction_wizard.xml' ], 'demo_xml': ['auction_demo.xml'], +# 'test' : ['test/auction.yml','test/auction_wizard.yml'], 'installable': True, 'active': False, 'certificate': '0039333102717', diff --git a/addons/auction/test/auction.yml b/addons/auction/test/auction.yml new file mode 100644 index 00000000000..968bb5f6bbf --- /dev/null +++ b/addons/auction/test/auction.yml @@ -0,0 +1,204 @@ +- + In order to test the auction module in the Open-ERP I start the process by creating a product. +- + I create a new product furniture. +- + !record {model: product.product, id: product_product_furniture0}: + categ_id: product.cat1 + cost_method: standard + mes_type: fixed + name: Furniture + procure_method: make_to_stock + standard_price: 1.0 + supply_method: buy + type: product + uom_id: product.product_uom_unit + uom_po_id: product.product_uom_unit + volume: 0.0 + warranty: 0.0 + weight: 0.0 + weight_net: 0.0 +- + I create a new artist for an object. +- + !record {model: auction.artists, id: auction_artists_vincentvangogh0}: + birth_death_dates: 1853-1900 + name: Vincent van Gogh +- + Now I want to associate an object with the auction so for that I create an auction "Antique furniture exhibition" +- + !record {model: auction.dates, id: auction_dates_antiquefurnitureexhibition0}: + acc_expense: account.a_pay + acc_income: account.a_recv + account_analytic_id: account.analytic_root + auction1: '2010-05-20' + auction2: '2010-05-21' + expo1: '2010-05-18' + expo2: '2010-05-19' + journal_id: account.expenses_journal + journal_seller_id: account.sales_journal + name: Antique furniture exhibition +- + An object is being deposited for an auction,I create a seller's deposit record. +- + !record {model: auction.deposit, id: auction_deposit_ad0}: + date_dep: '2010-05-18' + method: keep + name: AD/006 + partner_id: base.res_partner_4 +- + I create a new object wooden-chair which is to be auctioned. +- + !record {model: auction.lots, id: auction_lots_woodenchair0}: + ach_uid: base.res_partner_2 + artist_id: auction_artists_vincentvangogh0 + auction_id: auction_dates_antiquefurnitureexhibition0 + bord_vnd_id: auction_deposit_ad0 + lot_est1: 3000.0 + lot_est2: 5000.0 + lot_num: 1 + name: wooden-chair + name2: antique wooden chair + obj_num: 1 + obj_price: 4000.0 + obj_ret: 5000.0 + product_id: 'product_product_furniture0' + state: draft + vnd_lim: 5000.0 +- + I create a bid for an object "wooden-chair" which is to be auctioned in Antique furniture exhibition. +- + !record {model: auction.bid, id: auction_bid_bid0}: + auction_id: auction_dates_antiquefurnitureexhibition0 + contact_tel: (+32)2 211 34 83 + name: bid/001 + partner_id: auction.partner_record1 +- + I create a bid line. +- + !record {model: auction.bid_line, id: auction_bid_line_0}: + auction: Antique furniture exhibition + bid_id: auction_bid_bid0 + lot_id: auction.auction_lots_woodenchair0 + price: 3500.0 +- + I create another bid for an object "wooden-chair" bided by a different partner +- + !record {model: auction.bid, id: auction_bid_bid1}: + auction_id: auction_dates_antiquefurnitureexhibition0 + name: bid/002 + partner_id: base.res_partner_2 +- + I create a bid line. +- + !record {model: auction.bid_line, id: auction_bid_line_1}: + auction: Antique furniture exhibition + bid_id: 'auction_bid_bid1' + call: 1 + lot_id: auction.auction_lots_woodenchair0 + price: 4000.0 +- + I check that buyer price and seller price gets bind with the value +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + assert(auc_id.buyer_price,auc_id.seller_price), _('Buyer price and seller price are not available!') +- + I check that a record gets created in the Seller's Summary. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + auc_deposit_obj=self.pool.get('auction.deposit') + rep_sell_obj = self.pool.get('report.seller.auction') + ids =rep_sell_obj.search(cr, uid, [('auction', '=', auc_id.auction_id.id),('seller', '=',auc_id.bord_vnd_id.partner_id.id)]) + assert ids, _('No record found!') +- + I check that a record gets created in the Seller's Revenues. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + auc_deposit_obj=self.pool.get('auction.deposit') + rep_sell_obj = self.pool.get('report.seller.auction2') + ids =rep_sell_obj.search(cr, uid, [('auction', '=', auc_id.auction_id.id),('seller', '=',auc_id.bord_vnd_id.partner_id.id)]) + assert ids, _('No record found!') +- + I check that a record gets created in the Buyer's Summary. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id1=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + rep_buy_obj1 = self.pool.get('report.buyer.auction') + ids1=rep_buy_obj1.search(cr, uid, [('auction', '=', auc_id1.auction_id.id),('buyer', '=',auc_id1.ach_uid.id)]) + assert ids1, _('No record found!') +- + I check that a record gets created in the Buyer's Revenue. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id1=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + rep_buy_obj1 = self.pool.get('report.buyer.auction2') + ids1=rep_buy_obj1.search(cr, uid, [('auction', '=', auc_id1.auction_id.id),('buyer', '=',auc_id1.ach_uid.id)]) + assert ids1, _('No record found!') +- + I check that a record gets created in the Auction's Summary. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id2=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + rep_auc_obj1 = self.pool.get('report.auction.view') + ids2=rep_auc_obj1.search(cr, uid, [('auction_id', '=', auc_id2.auction_id.id)]) + assert ids2, _('No record found!') +- + I check that a record gets created in the Auction's Revenues. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id3=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + rep_auc_obj1 = self.pool.get('report.auction.view2') + ids3=rep_auc_obj1.search(cr, uid, [('auction', '=', auc_id3.auction_id.id)]) + assert ids3, _('No record found!') +- + An object has been sold,so I click on the "Sold" button. +- + !python {model: auction.lots}: | + self.button_bought(cr, uid, [ref("auction_lots_woodenchair0")], {"lang": "en_US", "tz": + False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_lots_woodenchair0")], + "active_id": ref("auction.auction_lots_woodenchair0")}) +- + I check that the order which was initially in the draft state has transit to sold state. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + assert(auc_id.state == 'sold'), _('State not changed!') +- + Then I click on the Taken Away button. +- + !python {model: auction.lots}: | + self.button_taken_away(cr, uid, [ref("auction_lots_woodenchair0")], {"lang": + "en_US", "tz": False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_all_objects_menu")], + "active_id": ref("auction.auction_all_objects_menu")}) +- + I check that the order which was initially in the sold state has transit to taken away state. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + assert(auc_id.state == 'taken_away'), _('State not changed!') +- + I click on the "Close + Create all invoices" button +- + !python {model: auction.dates}: | + self.close(cr, uid, [ref("auction.auction_dates_antiquefurnitureexhibition0")], + {"lang": "en_US", "tz": False, "active_model": "ir.ui.menu", "active_ids": + [ref("auction.menu_auction_dates_next1")], "active_id": ref("auction.menu_auction_dates_next1")}) +- + I check that a record gets created in the "Supplier Invoices". +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) + assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!') diff --git a/addons/auction/test/auction_wizard.yml b/addons/auction/test/auction_wizard.yml new file mode 100644 index 00000000000..0998e7a03a5 --- /dev/null +++ b/addons/auction/test/auction_wizard.yml @@ -0,0 +1,248 @@ +- + In order to test the wizards of auction module I create a new record. +- + I start the process by creating a new product Paintings. +- + !record {model: product.product, id: product_product_paintings0}: + categ_id: product.cat1 + cost_method: standard + mes_type: fixed + name: Paintings + procure_method: make_to_stock + standard_price: 1.0 + supply_method: buy + type: product + uom_id: product.product_uom_unit + uom_po_id: product.product_uom_unit + volume: 0.0 + warranty: 0.0 + weight: 0.0 + weight_net: 0.0 +- + I create a new artist-Picasso's record. +- + !record {model: auction.artists, id: auction_artists_picasso0}: + birth_death_dates: 1881-1973 + name: Picasso +- + Now I want to associate an object with the auction so for that I create an auction "Picasso's painting exhibition" +- + !record {model: auction.dates, id: auction_dates_picassospaintingexhibition0}: + acc_expense: account.a_pay + acc_income: account.a_recv + account_analytic_id: account.analytic_root + auction1: '2010-05-24' + auction2: '2010-05-25' + expo1: '2010-05-21' + expo2: '2010-05-22' + journal_id: account.expenses_journal + journal_seller_id: account.sales_journal + name: Picasso's painting exhibition +- + An object is being deposited for an auction,I create a seller's deposit record. +- + !record {model: auction.deposit, id: auction_deposit_ad1}: + date_dep: '2010-05-18' + method: keep + name: AD/007 + partner_id: base.res_partner_9 +- + I create a new object painting which is to be auctioned. +- + !record {model: auction.lots, id: auction_lots_painting0}: + ach_login: 'Mr.Chang' + artist_id: auction.auction_artists_picasso0 + auction_id: auction_dates_picassospaintingexhibition0 + bord_vnd_id: auction_deposit_ad1 + lot_est1: 2000.0 + lot_est2: 4000.0 + lot_num: 2 + name: painting + name2: picasso_painting + obj_num: 2 + obj_price: 3500.0 + obj_ret: 4000.0 + product_id: auction.product_product_paintings0 + state: draft + vnd_lim: 4000.0 +- + I assign the buyer through "Map buyer user name to Partners" wizard. +- + !record {model: auction.lots.buyer_map, id: auction_lots_buyer_map_0}: + ach_login: 'Mr.Chang' + ach_uid: base.res_partner_3 +- + I click on the "Update" button. +- + !python {model: auction.lots.buyer_map}: | + auc_obj=self.pool.get('auction.lots') + ids=self.browse(cr, uid, ref("auction_lots_painting0")) + self.buyer_map_set(cr, uid, [ref("auction_lots_buyer_map_0")], {"lang": "en_US", + "tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], + "active_id": ref("auction_lots_painting0")}) +- + I check that the buyer field gets bind with the value. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_painting0")) + assert(auc_id.ach_uid), _('Buyer not assigned!') +- + I mark that a seller has been paid by using the "Mark as paid for seller" wizard. +- + !record {model: auction.payer.sel, id: auction_payer_sel_0}: + {} +- + I click on the "Pay" button. +- + !python {model: auction.payer.sel}: | + self.payer_sel(cr, uid, [ref("auction_payer_sel_0")], {"lang": "en_US", "tz": + False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], "active_id": ref("auction_lots_painting0")}) +- + I check that the Seller paid field is set to True. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_painting0")) + assert(auc_id.paid_vnd == True), _('Seller paid is not marked!') +- + I use the "Mark as taken away" wizard to indicate that an object is taken away. +- + !record {model: auction.lots.able, id: auction_lots_able_0}: + {} +- + Then I click on the "Able Taken away" wizard. +- + !python {model: auction.lots.able}: | + self.confirm_able(cr, uid, [ref("auction_lots_able_0")], {"lang":"en_US", "tz": + False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], + "active_id": ref("auction_lots_painting0")}) +- + I check that Taken away field is set to True. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_painting0")) + assert(auc_id.ach_emp == True), _('Taken away is not marked!') +- + I use the "Unmark as taken away" wizard to unmark the Taken Away field. +- + !record {model: auction.lots.enable, id: auction_lots_enable_0}: + confirm_en: 0.0 +- + Then I click on the "Enable Taken away" button. +- + !python {model: auction.lots.enable}: | + self.confirm_enable(cr, uid, [ref("auction_lots_enable_0")], {"lang": "en_US", + "tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], + "active_id": ref("auction_lots_painting0"),}) +- + I check that Taken away field is set to False. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_painting0")) + assert(auc_id.ach_emp == False), _('Taken away is marked!') +- + I create statement lines for an object's payment by using the "Pay objects of the buyer" wizard +- + I create a bank statement. +- + !record {model: account.bank.statement, id: account_bank_statement_st0}: + balance_end_real: 0.0 + date: '2010-05-19' + journal_id: account.bank_journal + name: St. 05/19 + period_id: account.period_5 + state: draft +- + I create auction payment record. +- + !record {model: auction.pay.buy, id: auction_pay_buy_0}: + amount: 2000.0 + amount2: 1000.0 + amount3: 1000.0 + buyer_id: base.res_partner_2 + statement_id1: account_bank_statement_st0 + statement_id2: account_bank_statement_st0 + statement_id3: account_bank_statement_st0 + total: 4000.0 +- + Then I click "Pay" button. +- + !python {model: auction.pay.buy}: | + self.pay_and_reconcile(cr, uid, [ref("auction_pay_buy_0")], {"lang": "en_US", "tz": + False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], + "active_id": ref("auction_lots_painting0"),}) +- + I check that a record gets created in the 'auction_statement_line_rel' table +- + !python {model: auction.lots}: | + from tools.translate import _ + cr.execute("select statement from auction_statement_line_rel,auction_lots where auction_lots.id=auction_statement_line_rel.auction_id AND auction_lots.name='painting'") + ans=cr.fetchall() + assert ans, _('statement_id not found!') +- + I create the seller's invoice by using the "Invoice Seller objects" wizard. +- + !record {model: auction.lots.make.invoice, id: auction_lots_make_invoice_0}: + amount: 3500.0 + number: 2010/002 + objects: 1 +- + Then I click on the "Create Invoices" button. +- + !python {model: auction.lots.make.invoice}: | + self.makeInvoices(cr, uid, [ref("auction_lots_make_invoice_0")], {"lang": "en_US", + "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], + "tz": False, "active_id": ref("auction_lots_painting0"),}) +- + I check that a "Seller Invoice" field gets bind with the value. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_painting0")) + assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!') +- + I create a buyer's invoice by using the "Invoice Buyer objects" wizard. +- + !record {model: auction.lots.make.invoice.buyer, id: auction_lots_make_invoice_buyer_0}: + amount: 3500.0 + buyer_id: base.res_partner_3 + number: 2010/003 + objects: 1 +- + Then I click on the "Create Invoices" button. +- + !python {model: auction.lots.make.invoice.buyer}: | + self.makeInvoices(cr, uid, [ref("auction_lots_make_invoice_buyer_0")], {"lang": + "en_US", "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], + "tz": False, "active_id": ref("auction_lots_painting0"), }) +- + I check that a "Buyer Invoice" field gets bind with the value. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_painting0")) + assert(auc_id.ach_inv_id), _('Seller Invoice has not been created!') +- + In order to change the auction for an object I use the "Change auction date" wizard. +- + !record {model: auction.lots.auction.move, id: auction_lots_auction_move_0}: + auction_id: auction.auction_date_2 +- + Then I click on the "Move to Auction date" button. +- + !python {model: auction.lots.auction.move}: | + self.auction_move_set(cr, uid, [ref("auction_lots_auction_move_0")], {"lang": + "en_US", "tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_painting0")], + "active_id": ref("auction_lots_painting0"), }) +- + I check that a record gets created in the lot history. +- + !python {model: auction.lots}: | + from tools.translate import _ + auc_id=self.browse(cr, uid, ref("auction_lots_painting0")) + auc_lot_his=self.pool.get('auction.lot.history') + ids=auc_lot_his.search(cr, uid, [('lot_id', '=', auc_id.id)]) + assert ids, _('Auction history does not exists!') diff --git a/addons/base_module_quality/i18n/zh_CN.po b/addons/base_module_quality/i18n/zh_CN.po index a4ee55061c2..63aa756e8d6 100644 --- a/addons/base_module_quality/i18n/zh_CN.po +++ b/addons/base_module_quality/i18n/zh_CN.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-03-17 14:08+0000\n" -"Last-Translator: 英华 \n" +"PO-Revision-Date: 2010-06-09 16:41+0000\n" +"Last-Translator: Wei \"oldrev\" Li \n" "Language-Team: Simplified Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-04-17 04:20+0000\n" +"X-Launchpad-Export-Date: 2010-06-10 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base_module_quality #: field:module.quality.check,final_score:0 msgid "Final Score (%)" -msgstr "" +msgstr "最终评分(%)" #. module: base_module_quality #: constraint:ir.model:0 diff --git a/addons/board_manufacturing/board_manufacturing_view.xml b/addons/board_manufacturing/board_manufacturing_view.xml index 191f1818612..37624d6e025 100644 --- a/addons/board_manufacturing/board_manufacturing_view.xml +++ b/addons/board_manufacturing/board_manufacturing_view.xml @@ -14,8 +14,8 @@ - - + + diff --git a/addons/board_warehouse/board_warehouse_view.xml b/addons/board_warehouse/board_warehouse_view.xml index af797401935..08ece3f821d 100644 --- a/addons/board_warehouse/board_warehouse_view.xml +++ b/addons/board_warehouse/board_warehouse_view.xml @@ -23,7 +23,7 @@
- + diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 7f7ab94616f..618dd55cc21 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -30,19 +30,19 @@ from tools.translate import _ MAX_LEVEL = 15 AVAILABLE_STATES = [ - ('draft', 'Draft'), - ('open', 'Open'), - ('cancel', 'Cancelled'), - ('done', 'Closed'), + ('draft', 'Draft'), + ('open', 'Open'), + ('cancel', 'Cancelled'), + ('done', 'Closed'), ('pending', 'Pending'), ] AVAILABLE_PRIORITIES = [ ('1', 'Highest'), - ('2', 'High'), - ('3', 'Normal'), - ('4', 'Low'), - ('5', 'Lowest'), + ('2', 'High'), + ('3', 'Normal'), + ('4', 'Low'), + ('5', 'Lowest'), ] class crm_case(object): @@ -107,10 +107,10 @@ class crm_case(object): """ user = self.pool.get('res.users').browse(cr, uid, uid, context=context) return user.context_section_id.id or False - + def stage_next(self, cr, uid, ids, context=None): """This function computes next stage for case from its current stage - using available stage for that case type + using available stage for that case type @param self: The object pointer @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, @@ -151,7 +151,7 @@ class crm_case(object): def stage_previous(self, cr, uid, ids, context=None): """This function computes previous stage for case from its current stage - using available stage for that case type + using available stage for that case type @param self: The object pointer @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, @@ -177,11 +177,11 @@ class crm_case(object): @param uid: the current user’s ID for security checks, @param ids: List of case IDs @param part: Partner's id - @email: Partner's email ID + @email: Partner's email ID """ if not part: - return {'value': {'partner_address_id': False, - 'email_from': False, + return {'value': {'partner_address_id': False, + 'email_from': False, }} addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact']) data = {'partner_address_id': addr['contact']} @@ -195,13 +195,13 @@ class crm_case(object): @param uid: the current user’s ID for security checks, @param ids: List of case IDs @param add: Id of Partner's address - @email: Partner's email ID + @email: Partner's email ID """ if not add: return {'value': {'email_from': False}} address = self.pool.get('res.partner.address').browse(cr, uid, add) return {'value': {'email_from': address.email}} - + def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context={}): mailgate_pool = self.pool.get('mailgate.thread') return mailgate_pool._history(cr, uid, cases, keyword, history=history,\ @@ -209,7 +209,7 @@ class crm_case(object): details=details, email_from=email_from,\ message_id=message_id, attach=attach, \ context=context) - + def case_open(self, cr, uid, ids, *args): """Opens Case @param self: The object pointer @@ -265,7 +265,7 @@ class crm_case(object): if case.section_id.parent_id.user_id: data['user_id'] = case.section_id.parent_id.user_id.id else: - raise osv.except_osv(_('Error !'), _('You can not escalate this case.\nYou are already at the top level.')) + raise osv.except_osv(_('Error !'), _('You can not escalate, You are already at the top level regarding your sales-team category.')) self.write(cr, uid, [case.id], data) cases = self.browse(cr, uid, ids) self._history(cr, uid, cases, _('Escalate')) @@ -317,7 +317,7 @@ class crm_case(object): self.write(cr, uid, ids, {'state': 'draft', 'active': True}) self._action(cr, uid, cases, 'draft') return True - + def remind_partner(self, cr, uid, ids, context={}, attach=False): """ @@ -350,7 +350,7 @@ class crm_case(object): src = case.email_from dest = case.section_id.reply_to body = "" - body = case.email_last or case.description + body = case.email_last or case.description if not destination: src, dest = dest, src if body and case.user_id.signature: @@ -381,7 +381,7 @@ class crm_case(object): # raise osv.except_osv(_('Email!'),("Email Successfully Sent")) #else: # raise osv.except_osv(_('Email Fail!'),("Email is not sent successfully")) - return True + return True def _check(self, cr, uid, ids=False, context={}): """ @@ -428,12 +428,12 @@ class crm_case_section(osv.osv): _order = "name" _columns = { - 'name': fields.char('Sales Team', size=64, required=True, translate=True), - 'code': fields.char('Code', size=8), + 'name': fields.char('Sales Team', size=64, required=True, translate=True), + 'code': fields.char('Code', size=8), 'active': fields.boolean('Active', help="If the active field is set to \ - true, it will allow you to hide the sales team without removing it."), - 'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"), - 'user_id': fields.many2one('res.users', 'Responsible User'), + true, it will allow you to hide the sales team without removing it."), + 'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"), + 'user_id': fields.many2one('res.users', 'Responsible User'), 'member_ids':fields.many2many('res.users', 'sale_member_rel', 'section_id', 'member_id', 'Team Members'), 'reply_to': fields.char('Reply-To', size=64, help="The email address put \ in the 'Reply-To' of all emails sent by Open ERP about cases in this sales team"), @@ -445,8 +445,8 @@ class crm_case_section(osv.osv): } _defaults = { - 'active': lambda *a: 1, - 'allow_unlink': lambda *a: 1, + 'active': lambda *a: 1, + 'allow_unlink': lambda *a: 1, } _sql_constraints = [ @@ -463,7 +463,7 @@ class crm_case_section(osv.osv): @param ids: List of Sales team ids """ level = 100 - + while len(ids): cr.execute('select distinct parent_id from crm_case_section where id =ANY(%s)', (ids,)) ids = filter(None, map(lambda x: x[0], cr.fetchall())) @@ -509,9 +509,9 @@ class crm_case_categ(osv.osv): _description = "Category of case" _columns = { - 'name': fields.char('Case Category Name', size=64, required=True, translate=True), - 'section_id': fields.many2one('crm.case.section', 'Sales Team'), - 'object_id': fields.many2one('ir.model', 'Object Name'), + 'name': fields.char('Case Category Name', size=64, required=True, translate=True), + 'section_id': fields.many2one('crm.case.section', 'Sales Team'), + 'object_id': fields.many2one('ir.model', 'Object Name'), } def _find_object_id(self, cr, uid, context=None): @@ -541,9 +541,9 @@ class crm_case_resource_type(osv.osv): _rec_name = "name" _columns = { - 'name': fields.char('Case Resource Type', size=64, required=True, translate=True), - 'section_id': fields.many2one('crm.case.section', 'Sales Team'), - 'object_id': fields.many2one('ir.model', 'Object Name'), + 'name': fields.char('Case Resource Type', size=64, required=True, translate=True), + 'section_id': fields.many2one('crm.case.section', 'Sales Team'), + 'object_id': fields.many2one('ir.model', 'Object Name'), } def _find_object_id(self, cr, uid, context=None): """Finds id for case object @@ -572,14 +572,14 @@ class crm_case_stage(osv.osv): _order = "sequence" _columns = { - 'name': fields.char('Stage Name', size=64, required=True, translate=True), - 'section_id': fields.many2one('crm.case.section', 'Sales Team'), + 'name': fields.char('Stage Name', size=64, required=True, translate=True), + 'section_id': fields.many2one('crm.case.section', 'Sales Team'), 'sequence': fields.integer('Sequence', help="Gives the sequence order \ - when displaying a list of case stages."), - 'object_id': fields.many2one('ir.model', 'Object Name'), - 'probability': fields.float('Probability (%)', required=True), + when displaying a list of case stages."), + 'object_id': fields.many2one('ir.model', 'Object Name'), + 'probability': fields.float('Probability (%)', required=True), 'on_change': fields.boolean('Change Probability Automatically', \ - help="Change Probability on next and previous stages."), + help="Change Probability on next and previous stages."), 'requirements': fields.text('Requirements') } def _find_object_id(self, cr, uid, context=None): @@ -594,8 +594,8 @@ class crm_case_stage(osv.osv): return ids and ids[0] _defaults = { - 'sequence': lambda *args: 1, - 'probability': lambda *args: 0.0, + 'sequence': lambda *args: 1, + 'probability': lambda *args: 0.0, 'object_id' : _find_object_id } @@ -619,7 +619,7 @@ class users(osv.osv): _inherit = 'res.users' _description = "Users" _columns = { - 'context_section_id': fields.many2one('crm.case.section', 'Sales Team'), + 'context_section_id': fields.many2one('crm.case.section', 'Sales Team'), } users() @@ -627,7 +627,7 @@ users() class res_partner(osv.osv): _inherit = 'res.partner' _columns = { - 'section_id': fields.many2one('crm.case.section', 'Sales Team'), + 'section_id': fields.many2one('crm.case.section', 'Sales Team'), } res_partner() diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 465c63ae626..a3d7639076f 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -48,7 +48,7 @@