From 004a0b996ff8f269451e07346f71a129a1f3fbaf Mon Sep 17 00:00:00 2001 From: pinky <> Date: Thu, 7 Dec 2006 13:41:40 +0000 Subject: [PATCH] New trunk bzr revid: pinky-3f10ee12cea3c4c75cef44ab04ad33ef47432907 --- MANIFEST.in | 3 + bin/PKG-INFO | 18 + bin/__init__.py | 0 bin/addons/__init__.py | 249 + bin/addons/base/__init__.py | 32 + bin/addons/base/__terp__.py | 36 + bin/addons/base/base.sql | 335 ++ bin/addons/base/base_data.xml | 1054 ++++ bin/addons/base/base_demo.xml | 274 + bin/addons/base/base_menu.xml | 20 + bin/addons/base/base_update.xml | 169 + bin/addons/base/ir/__init__.py | 41 + bin/addons/base/ir/ir.xml | 654 +++ bin/addons/base/ir/ir_actions.py | 141 + bin/addons/base/ir/ir_attachment.py | 43 + bin/addons/base/ir/ir_cron.py | 139 + bin/addons/base/ir/ir_default.py | 43 + bin/addons/base/ir/ir_exports.py | 50 + bin/addons/base/ir/ir_fields_description.py | 32 + bin/addons/base/ir/ir_model.py | 273 + bin/addons/base/ir/ir_report_custom.py | 206 + bin/addons/base/ir/ir_sequence.py | 93 + bin/addons/base/ir/ir_translation.py | 88 + bin/addons/base/ir/ir_ui_menu.py | 123 + bin/addons/base/ir/ir_ui_view.py | 76 + bin/addons/base/ir/ir_values.py | 153 + bin/addons/base/ir/workflow/__init__.py | 2 + bin/addons/base/ir/workflow/instance_print.py | 88 + bin/addons/base/ir/workflow/print_instance.py | 172 + bin/addons/base/ir/workflow/pydot/LICENSE | 16 + bin/addons/base/ir/workflow/pydot/PKG-INFO | 33 + bin/addons/base/ir/workflow/pydot/README | 29 + bin/addons/base/ir/workflow/pydot/__init__.py | 1 + .../base/ir/workflow/pydot/dot_parser.py | 352 ++ bin/addons/base/ir/workflow/pydot/pydot.py | 1075 ++++ bin/addons/base/ir/workflow/pydot/setup.py | 23 + bin/addons/base/ir/workflow/workflow.py | 129 + bin/addons/base/ir/workflow/workflow_print.py | 68 + bin/addons/base/ir/workflow/workflow_view.xml | 209 + bin/addons/base/module/__init__.py | 31 + bin/addons/base/module/module.py | 274 + bin/addons/base/module/module.py.old | 228 + bin/addons/base/module/module_data.xml | 12 + bin/addons/base/module/module_report.xml | 13 + bin/addons/base/module/module_view.xml | 198 + bin/addons/base/module/module_wizard.xml | 76 + bin/addons/base/module/report/__init__.py | 29 + .../module/report/ir_module_reference.rml | 173 + .../module/report/ir_module_reference.sxw | Bin 0 -> 12192 bytes .../report/ir_module_reference_print.py | 60 + bin/addons/base/module/wizard/__init__.py | 35 + bin/addons/base/module/wizard/add_new.py | 100 + .../base/module/wizard/wizard_export_lang.py | 91 + .../base/module/wizard/wizard_import_lang.py | 75 + .../module/wizard/wizard_install_module.py | 67 + .../module/wizard/wizard_module_info_get.py | 46 + .../wizard/wizard_module_lang_install.py | 83 + .../module/wizard/wizard_module_upgrade.py | 81 + .../module/wizard/wizard_update_module.py | 61 + bin/addons/base/report/custom.xsl | 246 + bin/addons/base/report/custom_default.xsl | 36 + bin/addons/base/report/custom_new.xsl | 127 + bin/addons/base/report/custom_rml.xsl | 62 + bin/addons/base/report/rml_template.xsl | 70 + bin/addons/base/res/__init__.py | 38 + bin/addons/base/res/ir_property.py | 77 + bin/addons/base/res/ir_property_view.xml | 43 + bin/addons/base/res/partner/__init__.py | 37 + bin/addons/base/res/partner/crm.py | 105 + bin/addons/base/res/partner/crm_demo.xml | 39 + bin/addons/base/res/partner/crm_view.xml | 116 + bin/addons/base/res/partner/partner.py | 372 ++ bin/addons/base/res/partner/partner_data.xml | 5 + bin/addons/base/res/partner/partner_demo.xml | 288 ++ .../base/res/partner/partner_report.xml | 9 + bin/addons/base/res/partner/partner_view.xml | 504 ++ .../base/res/partner/partner_wizard.xml | 11 + .../base/res/partner/report/__init__.py | 32 + .../base/res/partner/report/business_card.xml | 15 + .../base/res/partner/report/business_card.xsl | 79 + .../res/partner/report/partner_address.xml | 18 + .../res/partner/report/partner_address.xsl | 85 + .../base/res/partner/wizard/__init__.py | 32 + .../res/partner/wizard/wizard_clear_ids.py | 45 + .../res/partner/wizard/wizard_ean_check.py | 101 + .../base/res/partner/wizard/wizard_sms.py | 75 + .../base/res/partner/wizard/wizard_spam.py | 80 + bin/addons/base/res/res_company.py | 105 + bin/addons/base/res/res_currency.py | 70 + bin/addons/base/res/res_currency_view.xml | 52 + bin/addons/base/res/res_request.py | 124 + bin/addons/base/res/res_request_view.xml | 125 + bin/addons/base/res/res_user.py | 122 + bin/addons/gen_graph.sh | 3 + bin/addons/module_graph.py | 12 + bin/gpl.txt | 278 + bin/i18n/VERSION | 6 + bin/i18n/cs_CZ.csv | 4014 +++++++++++++++ bin/i18n/de_DE.csv | 4577 +++++++++++++++++ bin/i18n/es_AR.csv | 4016 +++++++++++++++ bin/i18n/es_ES.csv | 3526 +++++++++++++ bin/i18n/fr_CH.csv | 0 bin/i18n/fr_FR.csv | 4380 ++++++++++++++++ bin/i18n/hu_HU.csv | 1538 ++++++ bin/i18n/it_IT.csv | 4015 +++++++++++++++ bin/i18n/nl_NL.csv | 3141 +++++++++++ bin/i18n/pt_BR.csv | 1984 +++++++ bin/i18n/pt_PT.csv | 3504 +++++++++++++ bin/i18n/ro_RO.csv | 1367 +++++ bin/i18n/ru_RU.csv | 2670 ++++++++++ bin/i18n/sv_SE.csv | 3590 +++++++++++++ bin/i18n/zh_CN.csv | 1739 +++++++ bin/i18n/zh_TW.csv | 1982 +++++++ bin/ir/__init__.py | 1 + bin/ir/ir.py | 16 + bin/netsvc.py | 292 ++ bin/osv/__init__.py | 31 + bin/osv/fields.py | 539 ++ bin/osv/orm.py | 1468 ++++++ bin/osv/osv.py | 361 ++ bin/pooler.py | 95 + bin/pychart/__init__.py | 21 + bin/pychart/afm/AvantGarde_Book.py | 5 + bin/pychart/afm/AvantGarde_BookOblique.py | 5 + bin/pychart/afm/AvantGarde_Demi.py | 5 + bin/pychart/afm/AvantGarde_DemiOblique.py | 5 + bin/pychart/afm/Bookman_Demi.py | 5 + bin/pychart/afm/Bookman_DemiItalic.py | 5 + bin/pychart/afm/Bookman_Light.py | 5 + bin/pychart/afm/Bookman_LightItalic.py | 5 + bin/pychart/afm/Courier.py | 5 + bin/pychart/afm/Courier_Bold.py | 5 + bin/pychart/afm/Courier_BoldOblique.py | 5 + bin/pychart/afm/Courier_Oblique.py | 5 + bin/pychart/afm/Helvetica.py | 5 + bin/pychart/afm/Helvetica_Bold.py | 5 + bin/pychart/afm/Helvetica_BoldOblique.py | 5 + bin/pychart/afm/Helvetica_Light.py | 5 + bin/pychart/afm/Helvetica_LightOblique.py | 5 + bin/pychart/afm/Helvetica_Narrow.py | 5 + bin/pychart/afm/Helvetica_Narrow_Bold.py | 5 + .../afm/Helvetica_Narrow_BoldOblique.py | 5 + bin/pychart/afm/Helvetica_Narrow_Oblique.py | 5 + bin/pychart/afm/Helvetica_Oblique.py | 5 + bin/pychart/afm/NewCenturySchlbk_Bold.py | 5 + .../afm/NewCenturySchlbk_BoldItalic.py | 5 + bin/pychart/afm/NewCenturySchlbk_Italic.py | 5 + bin/pychart/afm/NewCenturySchlbk_Roman.py | 5 + bin/pychart/afm/Palatino_Bold.py | 5 + bin/pychart/afm/Palatino_BoldItalic.py | 5 + bin/pychart/afm/Palatino_Italic.py | 5 + bin/pychart/afm/Palatino_Roman.py | 5 + bin/pychart/afm/Symbol.py | 5 + bin/pychart/afm/Times_Bold.py | 5 + bin/pychart/afm/Times_BoldItalic.py | 5 + bin/pychart/afm/Times_Italic.py | 5 + bin/pychart/afm/Times_Roman.py | 5 + bin/pychart/afm/Utopia_Bold.py | 5 + bin/pychart/afm/Utopia_BoldItalic.py | 5 + bin/pychart/afm/Utopia_Italic.py | 5 + bin/pychart/afm/Utopia_Regular.py | 5 + bin/pychart/afm/ZapfChancery_MediumItalic.py | 5 + bin/pychart/afm/ZapfDingbats.py | 5 + bin/pychart/afm/__init__.py | 1 + bin/pychart/afm/dir.py | 2 + bin/pychart/area.py | 249 + bin/pychart/area_doc.py | 63 + bin/pychart/arrow.py | 184 + bin/pychart/arrow_doc.py | 9 + bin/pychart/axis.py | 241 + bin/pychart/axis_doc.py | 53 + bin/pychart/axis_x_doc.py | 65 + bin/pychart/axis_y_doc.py | 65 + bin/pychart/bar_plot.py | 268 + bin/pychart/bar_plot_doc.py | 79 + bin/pychart/basecanvas.py | 505 ++ bin/pychart/canvas.py | 123 + bin/pychart/category_coord.py | 47 + bin/pychart/chart_data.py | 387 ++ bin/pychart/chart_object.py | 73 + bin/pychart/color.py | 611 +++ bin/pychart/color_doc.py | 7 + bin/pychart/coord.py | 49 + bin/pychart/doc_support.py | 122 + bin/pychart/empty_docs.py | 44 + bin/pychart/error_bar.py | 159 + bin/pychart/error_bar_doc.py | 34 + bin/pychart/fill_style.py | 285 + bin/pychart/fill_style_doc.py | 7 + bin/pychart/font.py | 454 ++ bin/pychart/generate_docs.py | 125 + bin/pychart/gs_frontend.py | 87 + bin/pychart/interval_bar_plot.py | 228 + bin/pychart/legend.py | 181 + bin/pychart/legend_doc.py | 28 + bin/pychart/line_plot.py | 150 + bin/pychart/line_plot_doc.py | 25 + bin/pychart/line_style.py | 158 + bin/pychart/line_style_doc.py | 24 + bin/pychart/linear_coord.py | 37 + bin/pychart/log_coord.py | 48 + bin/pychart/object_set.py | 43 + bin/pychart/pdfcanvas.py | 297 ++ bin/pychart/pie_plot.py | 148 + bin/pychart/pie_plot_doc.py | 34 + bin/pychart/pngcanvas.py | 55 + bin/pychart/pscanvas.py | 257 + bin/pychart/pychart_types.py | 70 + bin/pychart/pychart_util.py | 142 + bin/pychart/range_plot.py | 144 + bin/pychart/range_plot_doc.py | 11 + bin/pychart/rose_plot.py | 143 + bin/pychart/scaling.py | 28 + bin/pychart/svgcanvas.py | 428 ++ bin/pychart/text_box.py | 152 + bin/pychart/text_box_doc.py | 20 + bin/pychart/theme.py | 234 + bin/pychart/tick_mark.py | 188 + bin/pychart/tick_mark_doc.py | 7 + bin/pychart/typechecker.py | 27 + bin/pychart/version.py | 16 + bin/pychart/x11canvas.py | 25 + bin/pychart/zap.py | 78 + bin/report/__init__.py | 38 + bin/report/common.py | 32 + bin/report/custom.py | 661 +++ bin/report/int_to_text.py | 81 + bin/report/interface.py | 195 + bin/report/misc.py | 14 + bin/report/print_fnc.py | 41 + bin/report/print_xml.py | 358 ++ bin/report/printscreen/__init__.py | 31 + bin/report/printscreen/ps_form.py | 154 + bin/report/printscreen/ps_list.py | 152 + bin/report/render/__init__.py | 37 + bin/report/render/render.py | 80 + bin/report/render/rml.py | 50 + bin/report/render/rml2html/__init__.py | 18 + bin/report/render/rml2html/rml2html.py | 365 ++ bin/report/render/rml2html/utils.py | 67 + bin/report/render/rml2pdf/__init__.py | 46 + bin/report/render/rml2pdf/color.py | 36 + bin/report/render/rml2pdf/trml2pdf.py | 640 +++ bin/report/render/rml2pdf/utils.py | 93 + bin/report/render/simple.py | 90 + bin/report/report_sxw.py | 309 ++ bin/reportlab/__init__.py | 23 + bin/reportlab/extensions/README | 25 + bin/reportlab/extensions/__init__.py | 7 + bin/reportlab/fonts/00readme.txt | 8 + bin/reportlab/fonts/Dustismo_Roman.ttf | Bin 0 -> 105340 bytes bin/reportlab/fonts/PenguinAttack.ttf | Bin 0 -> 70356 bytes bin/reportlab/fonts/Wargames.afm | 471 ++ bin/reportlab/fonts/Wargames.pfb | Bin 0 -> 29611 bytes bin/reportlab/graphics/__init__.py | 4 + bin/reportlab/graphics/charts/__init__.py | 4 + bin/reportlab/graphics/charts/areas.py | 92 + bin/reportlab/graphics/charts/axes.py | 1958 +++++++ bin/reportlab/graphics/charts/barcharts.py | 1943 +++++++ bin/reportlab/graphics/charts/dotbox.py | 165 + bin/reportlab/graphics/charts/doughnut.py | 372 ++ bin/reportlab/graphics/charts/legends.py | 486 ++ bin/reportlab/graphics/charts/linecharts.py | 656 +++ bin/reportlab/graphics/charts/lineplots.py | 1096 ++++ bin/reportlab/graphics/charts/markers.py | 81 + bin/reportlab/graphics/charts/piecharts.py | 863 ++++ bin/reportlab/graphics/charts/slidebox.py | 186 + bin/reportlab/graphics/charts/spider.py | 353 ++ bin/reportlab/graphics/charts/textlabels.py | 440 ++ bin/reportlab/graphics/charts/utils.py | 191 + bin/reportlab/graphics/charts/utils3d.py | 233 + bin/reportlab/graphics/renderPDF.py | 361 ++ bin/reportlab/graphics/renderPM.py | 631 +++ bin/reportlab/graphics/renderPS.py | 859 ++++ bin/reportlab/graphics/renderSVG.py | 813 +++ bin/reportlab/graphics/renderbase.py | 315 ++ bin/reportlab/graphics/samples/__init__.py | 0 bin/reportlab/graphics/samples/bubble.py | 73 + .../graphics/samples/clustered_bar.py | 84 + .../graphics/samples/clustered_column.py | 83 + bin/reportlab/graphics/samples/excelcolors.py | 45 + .../graphics/samples/exploded_pie.py | 65 + .../graphics/samples/filled_radar.py | 54 + bin/reportlab/graphics/samples/line_chart.py | 83 + .../samples/linechart_with_markers.py | 94 + bin/reportlab/graphics/samples/radar.py | 66 + bin/reportlab/graphics/samples/runall.py | 59 + bin/reportlab/graphics/samples/scatter.py | 71 + .../graphics/samples/scatter_lines.py | 82 + .../graphics/samples/scatter_lines_markers.py | 72 + bin/reportlab/graphics/samples/simple_pie.py | 61 + bin/reportlab/graphics/samples/stacked_bar.py | 85 + .../graphics/samples/stacked_column.py | 84 + bin/reportlab/graphics/shapes.py | 1244 +++++ bin/reportlab/graphics/testdrawings.py | 294 ++ bin/reportlab/graphics/testshapes.py | 547 ++ bin/reportlab/graphics/widgetbase.py | 490 ++ bin/reportlab/graphics/widgets/__init__.py | 4 + bin/reportlab/graphics/widgets/eventcal.py | 303 ++ bin/reportlab/graphics/widgets/flags.py | 879 ++++ bin/reportlab/graphics/widgets/grids.py | 504 ++ bin/reportlab/graphics/widgets/markers.py | 228 + .../graphics/widgets/signsandsymbols.py | 919 ++++ bin/reportlab/lib/PyFontify.py | 155 + bin/reportlab/lib/__init__.py | 7 + bin/reportlab/lib/abag.py | 44 + bin/reportlab/lib/attrmap.py | 132 + bin/reportlab/lib/codecharts.py | 340 ++ bin/reportlab/lib/colors.py | 564 ++ bin/reportlab/lib/corp.py | 443 ++ bin/reportlab/lib/enums.py | 11 + bin/reportlab/lib/extformat.py | 81 + bin/reportlab/lib/fonts.py | 89 + bin/reportlab/lib/formatters.py | 100 + bin/reportlab/lib/logger.py | 61 + bin/reportlab/lib/normalDate.py | 603 +++ bin/reportlab/lib/pagesizes.py | 55 + bin/reportlab/lib/randomtext.py | 348 ++ bin/reportlab/lib/rparsexml.py | 440 ++ bin/reportlab/lib/sequencer.py | 284 + bin/reportlab/lib/set_ops.py | 38 + bin/reportlab/lib/styles.py | 256 + bin/reportlab/lib/tocindex.py | 294 ++ bin/reportlab/lib/units.py | 23 + bin/reportlab/lib/utils.py | 776 +++ bin/reportlab/lib/validators.py | 260 + bin/reportlab/lib/xmllib.py | 770 +++ bin/reportlab/lib/yaml.py | 188 + bin/reportlab/pdfbase/__init__.py | 6 + bin/reportlab/pdfbase/_cidfontdata.py | 452 ++ bin/reportlab/pdfbase/_fontdata.py | 2590 ++++++++++ bin/reportlab/pdfbase/cidfonts.py | 399 ++ bin/reportlab/pdfbase/pdfdoc.py | 1855 +++++++ bin/reportlab/pdfbase/pdfform.py | 632 +++ bin/reportlab/pdfbase/pdfmetrics.py | 773 +++ bin/reportlab/pdfbase/pdfpattern.py | 59 + bin/reportlab/pdfbase/pdfutils.py | 453 ++ bin/reportlab/pdfbase/ttfonts.py | 1048 ++++ bin/reportlab/pdfgen/__init__.py | 5 + bin/reportlab/pdfgen/canvas.py | 1487 ++++++ bin/reportlab/pdfgen/pathobject.py | 93 + bin/reportlab/pdfgen/pdfgeom.py | 77 + bin/reportlab/pdfgen/pdfimages.py | 186 + bin/reportlab/pdfgen/pycanvas.py | 309 ++ bin/reportlab/pdfgen/textobject.py | 360 ++ bin/reportlab/platypus/__init__.py | 14 + bin/reportlab/platypus/doctemplate.py | 897 ++++ bin/reportlab/platypus/figures.py | 372 ++ bin/reportlab/platypus/flowables.py | 693 +++ bin/reportlab/platypus/frames.py | 195 + bin/reportlab/platypus/para.py | 2369 +++++++++ bin/reportlab/platypus/paragraph.py | 944 ++++ bin/reportlab/platypus/paraparser.py | 938 ++++ bin/reportlab/platypus/tableofcontents.py | 329 ++ bin/reportlab/platypus/tables.py | 1184 +++++ bin/reportlab/platypus/xpreformatted.py | 316 ++ bin/reportlab/rl_config.py | 132 + bin/reportlab/tools/README | 10 + bin/reportlab/tools/__init__.py | 3 + bin/reportlab/tools/docco/README | 8 + bin/reportlab/tools/docco/__init__.py | 3 + bin/reportlab/tools/docco/codegrab.py | 228 + bin/reportlab/tools/docco/docpy.py | 1247 +++++ bin/reportlab/tools/docco/examples.py | 851 +++ bin/reportlab/tools/docco/graphdocpy.py | 980 ++++ bin/reportlab/tools/docco/rl_doc_utils.py | 411 ++ bin/reportlab/tools/docco/rltemplate.py | 140 + bin/reportlab/tools/docco/stylesheet.py | 147 + bin/reportlab/tools/docco/t_parse.py | 247 + bin/reportlab/tools/docco/yaml.py | 201 + bin/reportlab/tools/docco/yaml2pdf.py | 104 + bin/reportlab/tools/py2pdf/README | 8 + bin/reportlab/tools/py2pdf/__init__.py | 3 + bin/reportlab/tools/py2pdf/demo-config.txt | 11 + bin/reportlab/tools/py2pdf/demo.py | 198 + bin/reportlab/tools/py2pdf/idle_print.py | 56 + bin/reportlab/tools/py2pdf/py2pdf.py | 1567 ++++++ bin/reportlab/tools/py2pdf/vertpython.jpg | Bin 0 -> 22872 bytes bin/reportlab/tools/pythonpoint/README | 29 + bin/reportlab/tools/pythonpoint/__init__.py | 3 + .../tools/pythonpoint/customshapes.py | 298 ++ bin/reportlab/tools/pythonpoint/demos/htu.xml | 96 + .../tools/pythonpoint/demos/leftlogo.a85 | 53 + .../tools/pythonpoint/demos/leftlogo.gif | Bin 0 -> 2198 bytes .../tools/pythonpoint/demos/lj8100.jpg | Bin 0 -> 12463 bytes .../tools/pythonpoint/demos/monterey.xml | 306 ++ .../tools/pythonpoint/demos/outline.gif | Bin 0 -> 12918 bytes .../tools/pythonpoint/demos/pplogo.gif | Bin 0 -> 3429 bytes .../tools/pythonpoint/demos/python.gif | Bin 0 -> 125666 bytes .../tools/pythonpoint/demos/pythonpoint.xml | 1051 ++++ .../tools/pythonpoint/demos/spectrum.png | Bin 0 -> 1855 bytes .../tools/pythonpoint/demos/vertpython.gif | Bin 0 -> 20910 bytes .../tools/pythonpoint/pythonpoint.dtd | 275 + .../tools/pythonpoint/pythonpoint.py | 1129 ++++ bin/reportlab/tools/pythonpoint/stdparser.py | 834 +++ .../tools/pythonpoint/styles/__init__.py | 3 + .../tools/pythonpoint/styles/horrible.py | 101 + bin/reportlab/tools/pythonpoint/styles/htu.py | 158 + .../tools/pythonpoint/styles/modern.py | 120 + .../tools/pythonpoint/styles/projection.py | 106 + .../tools/pythonpoint/styles/standard.py | 132 + bin/server.cert | 14 + bin/server.pkey | 15 + bin/service/__init__.py | 31 + bin/service/security.py | 72 + bin/service/web_services.py | 449 ++ bin/sql_db.py | 133 + bin/ssl/SecureXMLRPCServer.py | 0 bin/ssl/__init__.py | 1 + bin/ssl/server.cert | 14 + bin/ssl/server.pkey | 15 + bin/tinyerp-server.py | 232 + bin/tools/__init__.py | 4 + bin/tools/amount_to_text.py | 213 + bin/tools/config.py | 216 + bin/tools/convert.py | 403 ++ bin/tools/decimal.py | 3079 +++++++++++ bin/tools/import_email.py | 146 + bin/tools/misc.py | 296 ++ bin/tools/threadinglocal.py | 265 + bin/tools/translate.py | 340 ++ bin/tools/upgrade.py | 96 + bin/wizard/__init__.py | 153 + bin/workflow/__init__.py | 31 + bin/workflow/common.py | 32 + bin/workflow/instance.py | 81 + bin/workflow/wkf_expr.py | 91 + bin/workflow/wkf_logs.py | 35 + bin/workflow/wkf_service.py | 98 + bin/workflow/workitem.py | 184 + doc/COPYING | 0 doc/Changelog | 650 +++ doc/INSTALL | 87 + doc/README | 0 doc/README.pychart | 0 doc/migrate/3.3.0-3.4.0/README | 35 + doc/migrate/3.3.0-3.4.0/post.py | 143 + doc/migrate/3.3.0-3.4.0/pre.py | 110 + doc/migrate/3.4.0-4.0.0/pre.py | 96 + doc/tinyerp-icon.ico | Bin 0 -> 4286 bytes doc/tinyerp-icon.png | Bin 0 -> 1663 bytes man/terp_serverrc.5 | 101 + man/tinyerp-server.1 | 96 + setup.py | 170 + 444 files changed, 136485 insertions(+) create mode 100644 MANIFEST.in create mode 100644 bin/PKG-INFO create mode 100644 bin/__init__.py create mode 100644 bin/addons/__init__.py create mode 100644 bin/addons/base/__init__.py create mode 100644 bin/addons/base/__terp__.py create mode 100644 bin/addons/base/base.sql create mode 100644 bin/addons/base/base_data.xml create mode 100644 bin/addons/base/base_demo.xml create mode 100644 bin/addons/base/base_menu.xml create mode 100644 bin/addons/base/base_update.xml create mode 100644 bin/addons/base/ir/__init__.py create mode 100644 bin/addons/base/ir/ir.xml create mode 100644 bin/addons/base/ir/ir_actions.py create mode 100644 bin/addons/base/ir/ir_attachment.py create mode 100644 bin/addons/base/ir/ir_cron.py create mode 100644 bin/addons/base/ir/ir_default.py create mode 100644 bin/addons/base/ir/ir_exports.py create mode 100644 bin/addons/base/ir/ir_fields_description.py create mode 100644 bin/addons/base/ir/ir_model.py create mode 100644 bin/addons/base/ir/ir_report_custom.py create mode 100644 bin/addons/base/ir/ir_sequence.py create mode 100644 bin/addons/base/ir/ir_translation.py create mode 100644 bin/addons/base/ir/ir_ui_menu.py create mode 100644 bin/addons/base/ir/ir_ui_view.py create mode 100644 bin/addons/base/ir/ir_values.py create mode 100644 bin/addons/base/ir/workflow/__init__.py create mode 100644 bin/addons/base/ir/workflow/instance_print.py create mode 100644 bin/addons/base/ir/workflow/print_instance.py create mode 100755 bin/addons/base/ir/workflow/pydot/LICENSE create mode 100755 bin/addons/base/ir/workflow/pydot/PKG-INFO create mode 100755 bin/addons/base/ir/workflow/pydot/README create mode 100755 bin/addons/base/ir/workflow/pydot/__init__.py create mode 100755 bin/addons/base/ir/workflow/pydot/dot_parser.py create mode 100755 bin/addons/base/ir/workflow/pydot/pydot.py create mode 100755 bin/addons/base/ir/workflow/pydot/setup.py create mode 100644 bin/addons/base/ir/workflow/workflow.py create mode 100644 bin/addons/base/ir/workflow/workflow_print.py create mode 100644 bin/addons/base/ir/workflow/workflow_view.xml create mode 100644 bin/addons/base/module/__init__.py create mode 100644 bin/addons/base/module/module.py create mode 100644 bin/addons/base/module/module.py.old create mode 100644 bin/addons/base/module/module_data.xml create mode 100644 bin/addons/base/module/module_report.xml create mode 100644 bin/addons/base/module/module_view.xml create mode 100644 bin/addons/base/module/module_wizard.xml create mode 100644 bin/addons/base/module/report/__init__.py create mode 100644 bin/addons/base/module/report/ir_module_reference.rml create mode 100644 bin/addons/base/module/report/ir_module_reference.sxw create mode 100644 bin/addons/base/module/report/ir_module_reference_print.py create mode 100644 bin/addons/base/module/wizard/__init__.py create mode 100644 bin/addons/base/module/wizard/add_new.py create mode 100644 bin/addons/base/module/wizard/wizard_export_lang.py create mode 100644 bin/addons/base/module/wizard/wizard_import_lang.py create mode 100644 bin/addons/base/module/wizard/wizard_install_module.py create mode 100644 bin/addons/base/module/wizard/wizard_module_info_get.py create mode 100644 bin/addons/base/module/wizard/wizard_module_lang_install.py create mode 100644 bin/addons/base/module/wizard/wizard_module_upgrade.py create mode 100644 bin/addons/base/module/wizard/wizard_update_module.py create mode 100644 bin/addons/base/report/custom.xsl create mode 100644 bin/addons/base/report/custom_default.xsl create mode 100644 bin/addons/base/report/custom_new.xsl create mode 100644 bin/addons/base/report/custom_rml.xsl create mode 100644 bin/addons/base/report/rml_template.xsl create mode 100644 bin/addons/base/res/__init__.py create mode 100644 bin/addons/base/res/ir_property.py create mode 100644 bin/addons/base/res/ir_property_view.xml create mode 100644 bin/addons/base/res/partner/__init__.py create mode 100644 bin/addons/base/res/partner/crm.py create mode 100644 bin/addons/base/res/partner/crm_demo.xml create mode 100644 bin/addons/base/res/partner/crm_view.xml create mode 100644 bin/addons/base/res/partner/partner.py create mode 100644 bin/addons/base/res/partner/partner_data.xml create mode 100644 bin/addons/base/res/partner/partner_demo.xml create mode 100644 bin/addons/base/res/partner/partner_report.xml create mode 100644 bin/addons/base/res/partner/partner_view.xml create mode 100644 bin/addons/base/res/partner/partner_wizard.xml create mode 100644 bin/addons/base/res/partner/report/__init__.py create mode 100644 bin/addons/base/res/partner/report/business_card.xml create mode 100644 bin/addons/base/res/partner/report/business_card.xsl create mode 100644 bin/addons/base/res/partner/report/partner_address.xml create mode 100644 bin/addons/base/res/partner/report/partner_address.xsl create mode 100644 bin/addons/base/res/partner/wizard/__init__.py create mode 100644 bin/addons/base/res/partner/wizard/wizard_clear_ids.py create mode 100644 bin/addons/base/res/partner/wizard/wizard_ean_check.py create mode 100644 bin/addons/base/res/partner/wizard/wizard_sms.py create mode 100644 bin/addons/base/res/partner/wizard/wizard_spam.py create mode 100644 bin/addons/base/res/res_company.py create mode 100644 bin/addons/base/res/res_currency.py create mode 100644 bin/addons/base/res/res_currency_view.xml create mode 100644 bin/addons/base/res/res_request.py create mode 100644 bin/addons/base/res/res_request_view.xml create mode 100644 bin/addons/base/res/res_user.py create mode 100755 bin/addons/gen_graph.sh create mode 100644 bin/addons/module_graph.py create mode 100644 bin/gpl.txt create mode 100644 bin/i18n/VERSION create mode 100644 bin/i18n/cs_CZ.csv create mode 100644 bin/i18n/de_DE.csv create mode 100644 bin/i18n/es_AR.csv create mode 100644 bin/i18n/es_ES.csv create mode 100644 bin/i18n/fr_CH.csv create mode 100644 bin/i18n/fr_FR.csv create mode 100644 bin/i18n/hu_HU.csv create mode 100644 bin/i18n/it_IT.csv create mode 100644 bin/i18n/nl_NL.csv create mode 100644 bin/i18n/pt_BR.csv create mode 100644 bin/i18n/pt_PT.csv create mode 100644 bin/i18n/ro_RO.csv create mode 100644 bin/i18n/ru_RU.csv create mode 100644 bin/i18n/sv_SE.csv create mode 100644 bin/i18n/zh_CN.csv create mode 100644 bin/i18n/zh_TW.csv create mode 100644 bin/ir/__init__.py create mode 100644 bin/ir/ir.py create mode 100644 bin/netsvc.py create mode 100644 bin/osv/__init__.py create mode 100644 bin/osv/fields.py create mode 100644 bin/osv/orm.py create mode 100644 bin/osv/osv.py create mode 100644 bin/pooler.py create mode 100644 bin/pychart/__init__.py create mode 100644 bin/pychart/afm/AvantGarde_Book.py create mode 100644 bin/pychart/afm/AvantGarde_BookOblique.py create mode 100644 bin/pychart/afm/AvantGarde_Demi.py create mode 100644 bin/pychart/afm/AvantGarde_DemiOblique.py create mode 100644 bin/pychart/afm/Bookman_Demi.py create mode 100644 bin/pychart/afm/Bookman_DemiItalic.py create mode 100644 bin/pychart/afm/Bookman_Light.py create mode 100644 bin/pychart/afm/Bookman_LightItalic.py create mode 100644 bin/pychart/afm/Courier.py create mode 100644 bin/pychart/afm/Courier_Bold.py create mode 100644 bin/pychart/afm/Courier_BoldOblique.py create mode 100644 bin/pychart/afm/Courier_Oblique.py create mode 100644 bin/pychart/afm/Helvetica.py create mode 100644 bin/pychart/afm/Helvetica_Bold.py create mode 100644 bin/pychart/afm/Helvetica_BoldOblique.py create mode 100644 bin/pychart/afm/Helvetica_Light.py create mode 100644 bin/pychart/afm/Helvetica_LightOblique.py create mode 100644 bin/pychart/afm/Helvetica_Narrow.py create mode 100644 bin/pychart/afm/Helvetica_Narrow_Bold.py create mode 100644 bin/pychart/afm/Helvetica_Narrow_BoldOblique.py create mode 100644 bin/pychart/afm/Helvetica_Narrow_Oblique.py create mode 100644 bin/pychart/afm/Helvetica_Oblique.py create mode 100644 bin/pychart/afm/NewCenturySchlbk_Bold.py create mode 100644 bin/pychart/afm/NewCenturySchlbk_BoldItalic.py create mode 100644 bin/pychart/afm/NewCenturySchlbk_Italic.py create mode 100644 bin/pychart/afm/NewCenturySchlbk_Roman.py create mode 100644 bin/pychart/afm/Palatino_Bold.py create mode 100644 bin/pychart/afm/Palatino_BoldItalic.py create mode 100644 bin/pychart/afm/Palatino_Italic.py create mode 100644 bin/pychart/afm/Palatino_Roman.py create mode 100644 bin/pychart/afm/Symbol.py create mode 100644 bin/pychart/afm/Times_Bold.py create mode 100644 bin/pychart/afm/Times_BoldItalic.py create mode 100644 bin/pychart/afm/Times_Italic.py create mode 100644 bin/pychart/afm/Times_Roman.py create mode 100644 bin/pychart/afm/Utopia_Bold.py create mode 100644 bin/pychart/afm/Utopia_BoldItalic.py create mode 100644 bin/pychart/afm/Utopia_Italic.py create mode 100644 bin/pychart/afm/Utopia_Regular.py create mode 100644 bin/pychart/afm/ZapfChancery_MediumItalic.py create mode 100644 bin/pychart/afm/ZapfDingbats.py create mode 100644 bin/pychart/afm/__init__.py create mode 100644 bin/pychart/afm/dir.py create mode 100644 bin/pychart/area.py create mode 100644 bin/pychart/area_doc.py create mode 100644 bin/pychart/arrow.py create mode 100644 bin/pychart/arrow_doc.py create mode 100644 bin/pychart/axis.py create mode 100644 bin/pychart/axis_doc.py create mode 100644 bin/pychart/axis_x_doc.py create mode 100644 bin/pychart/axis_y_doc.py create mode 100644 bin/pychart/bar_plot.py create mode 100644 bin/pychart/bar_plot_doc.py create mode 100644 bin/pychart/basecanvas.py create mode 100644 bin/pychart/canvas.py create mode 100644 bin/pychart/category_coord.py create mode 100644 bin/pychart/chart_data.py create mode 100644 bin/pychart/chart_object.py create mode 100644 bin/pychart/color.py create mode 100644 bin/pychart/color_doc.py create mode 100644 bin/pychart/coord.py create mode 100644 bin/pychart/doc_support.py create mode 100644 bin/pychart/empty_docs.py create mode 100644 bin/pychart/error_bar.py create mode 100644 bin/pychart/error_bar_doc.py create mode 100644 bin/pychart/fill_style.py create mode 100644 bin/pychart/fill_style_doc.py create mode 100644 bin/pychart/font.py create mode 100644 bin/pychart/generate_docs.py create mode 100644 bin/pychart/gs_frontend.py create mode 100644 bin/pychart/interval_bar_plot.py create mode 100644 bin/pychart/legend.py create mode 100644 bin/pychart/legend_doc.py create mode 100644 bin/pychart/line_plot.py create mode 100644 bin/pychart/line_plot_doc.py create mode 100644 bin/pychart/line_style.py create mode 100644 bin/pychart/line_style_doc.py create mode 100644 bin/pychart/linear_coord.py create mode 100644 bin/pychart/log_coord.py create mode 100644 bin/pychart/object_set.py create mode 100644 bin/pychart/pdfcanvas.py create mode 100644 bin/pychart/pie_plot.py create mode 100644 bin/pychart/pie_plot_doc.py create mode 100644 bin/pychart/pngcanvas.py create mode 100644 bin/pychart/pscanvas.py create mode 100644 bin/pychart/pychart_types.py create mode 100644 bin/pychart/pychart_util.py create mode 100644 bin/pychart/range_plot.py create mode 100644 bin/pychart/range_plot_doc.py create mode 100644 bin/pychart/rose_plot.py create mode 100644 bin/pychart/scaling.py create mode 100644 bin/pychart/svgcanvas.py create mode 100644 bin/pychart/text_box.py create mode 100644 bin/pychart/text_box_doc.py create mode 100644 bin/pychart/theme.py create mode 100644 bin/pychart/tick_mark.py create mode 100644 bin/pychart/tick_mark_doc.py create mode 100644 bin/pychart/typechecker.py create mode 100644 bin/pychart/version.py create mode 100644 bin/pychart/x11canvas.py create mode 100644 bin/pychart/zap.py create mode 100644 bin/report/__init__.py create mode 100644 bin/report/common.py create mode 100644 bin/report/custom.py create mode 100644 bin/report/int_to_text.py create mode 100644 bin/report/interface.py create mode 100644 bin/report/misc.py create mode 100644 bin/report/print_fnc.py create mode 100644 bin/report/print_xml.py create mode 100644 bin/report/printscreen/__init__.py create mode 100644 bin/report/printscreen/ps_form.py create mode 100644 bin/report/printscreen/ps_list.py create mode 100644 bin/report/render/__init__.py create mode 100644 bin/report/render/render.py create mode 100644 bin/report/render/rml.py create mode 100644 bin/report/render/rml2html/__init__.py create mode 100755 bin/report/render/rml2html/rml2html.py create mode 100644 bin/report/render/rml2html/utils.py create mode 100644 bin/report/render/rml2pdf/__init__.py create mode 100644 bin/report/render/rml2pdf/color.py create mode 100755 bin/report/render/rml2pdf/trml2pdf.py create mode 100644 bin/report/render/rml2pdf/utils.py create mode 100644 bin/report/render/simple.py create mode 100644 bin/report/report_sxw.py create mode 100644 bin/reportlab/__init__.py create mode 100644 bin/reportlab/extensions/README create mode 100644 bin/reportlab/extensions/__init__.py create mode 100644 bin/reportlab/fonts/00readme.txt create mode 100644 bin/reportlab/fonts/Dustismo_Roman.ttf create mode 100644 bin/reportlab/fonts/PenguinAttack.ttf create mode 100644 bin/reportlab/fonts/Wargames.afm create mode 100644 bin/reportlab/fonts/Wargames.pfb create mode 100644 bin/reportlab/graphics/__init__.py create mode 100644 bin/reportlab/graphics/charts/__init__.py create mode 100644 bin/reportlab/graphics/charts/areas.py create mode 100644 bin/reportlab/graphics/charts/axes.py create mode 100644 bin/reportlab/graphics/charts/barcharts.py create mode 100644 bin/reportlab/graphics/charts/dotbox.py create mode 100644 bin/reportlab/graphics/charts/doughnut.py create mode 100644 bin/reportlab/graphics/charts/legends.py create mode 100644 bin/reportlab/graphics/charts/linecharts.py create mode 100644 bin/reportlab/graphics/charts/lineplots.py create mode 100644 bin/reportlab/graphics/charts/markers.py create mode 100644 bin/reportlab/graphics/charts/piecharts.py create mode 100644 bin/reportlab/graphics/charts/slidebox.py create mode 100644 bin/reportlab/graphics/charts/spider.py create mode 100644 bin/reportlab/graphics/charts/textlabels.py create mode 100644 bin/reportlab/graphics/charts/utils.py create mode 100644 bin/reportlab/graphics/charts/utils3d.py create mode 100644 bin/reportlab/graphics/renderPDF.py create mode 100644 bin/reportlab/graphics/renderPM.py create mode 100644 bin/reportlab/graphics/renderPS.py create mode 100644 bin/reportlab/graphics/renderSVG.py create mode 100644 bin/reportlab/graphics/renderbase.py create mode 100644 bin/reportlab/graphics/samples/__init__.py create mode 100644 bin/reportlab/graphics/samples/bubble.py create mode 100644 bin/reportlab/graphics/samples/clustered_bar.py create mode 100644 bin/reportlab/graphics/samples/clustered_column.py create mode 100644 bin/reportlab/graphics/samples/excelcolors.py create mode 100644 bin/reportlab/graphics/samples/exploded_pie.py create mode 100644 bin/reportlab/graphics/samples/filled_radar.py create mode 100644 bin/reportlab/graphics/samples/line_chart.py create mode 100644 bin/reportlab/graphics/samples/linechart_with_markers.py create mode 100644 bin/reportlab/graphics/samples/radar.py create mode 100644 bin/reportlab/graphics/samples/runall.py create mode 100644 bin/reportlab/graphics/samples/scatter.py create mode 100644 bin/reportlab/graphics/samples/scatter_lines.py create mode 100644 bin/reportlab/graphics/samples/scatter_lines_markers.py create mode 100644 bin/reportlab/graphics/samples/simple_pie.py create mode 100644 bin/reportlab/graphics/samples/stacked_bar.py create mode 100644 bin/reportlab/graphics/samples/stacked_column.py create mode 100644 bin/reportlab/graphics/shapes.py create mode 100755 bin/reportlab/graphics/testdrawings.py create mode 100755 bin/reportlab/graphics/testshapes.py create mode 100644 bin/reportlab/graphics/widgetbase.py create mode 100644 bin/reportlab/graphics/widgets/__init__.py create mode 100644 bin/reportlab/graphics/widgets/eventcal.py create mode 100644 bin/reportlab/graphics/widgets/flags.py create mode 100644 bin/reportlab/graphics/widgets/grids.py create mode 100644 bin/reportlab/graphics/widgets/markers.py create mode 100644 bin/reportlab/graphics/widgets/signsandsymbols.py create mode 100644 bin/reportlab/lib/PyFontify.py create mode 100755 bin/reportlab/lib/__init__.py create mode 100644 bin/reportlab/lib/abag.py create mode 100644 bin/reportlab/lib/attrmap.py create mode 100644 bin/reportlab/lib/codecharts.py create mode 100644 bin/reportlab/lib/colors.py create mode 100755 bin/reportlab/lib/corp.py create mode 100644 bin/reportlab/lib/enums.py create mode 100644 bin/reportlab/lib/extformat.py create mode 100755 bin/reportlab/lib/fonts.py create mode 100755 bin/reportlab/lib/formatters.py create mode 100755 bin/reportlab/lib/logger.py create mode 100755 bin/reportlab/lib/normalDate.py create mode 100755 bin/reportlab/lib/pagesizes.py create mode 100755 bin/reportlab/lib/randomtext.py create mode 100644 bin/reportlab/lib/rparsexml.py create mode 100644 bin/reportlab/lib/sequencer.py create mode 100755 bin/reportlab/lib/set_ops.py create mode 100644 bin/reportlab/lib/styles.py create mode 100644 bin/reportlab/lib/tocindex.py create mode 100755 bin/reportlab/lib/units.py create mode 100644 bin/reportlab/lib/utils.py create mode 100644 bin/reportlab/lib/validators.py create mode 100644 bin/reportlab/lib/xmllib.py create mode 100644 bin/reportlab/lib/yaml.py create mode 100644 bin/reportlab/pdfbase/__init__.py create mode 100644 bin/reportlab/pdfbase/_cidfontdata.py create mode 100644 bin/reportlab/pdfbase/_fontdata.py create mode 100644 bin/reportlab/pdfbase/cidfonts.py create mode 100644 bin/reportlab/pdfbase/pdfdoc.py create mode 100644 bin/reportlab/pdfbase/pdfform.py create mode 100644 bin/reportlab/pdfbase/pdfmetrics.py create mode 100644 bin/reportlab/pdfbase/pdfpattern.py create mode 100644 bin/reportlab/pdfbase/pdfutils.py create mode 100644 bin/reportlab/pdfbase/ttfonts.py create mode 100644 bin/reportlab/pdfgen/__init__.py create mode 100644 bin/reportlab/pdfgen/canvas.py create mode 100644 bin/reportlab/pdfgen/pathobject.py create mode 100644 bin/reportlab/pdfgen/pdfgeom.py create mode 100644 bin/reportlab/pdfgen/pdfimages.py create mode 100644 bin/reportlab/pdfgen/pycanvas.py create mode 100644 bin/reportlab/pdfgen/textobject.py create mode 100644 bin/reportlab/platypus/__init__.py create mode 100644 bin/reportlab/platypus/doctemplate.py create mode 100644 bin/reportlab/platypus/figures.py create mode 100644 bin/reportlab/platypus/flowables.py create mode 100644 bin/reportlab/platypus/frames.py create mode 100644 bin/reportlab/platypus/para.py create mode 100644 bin/reportlab/platypus/paragraph.py create mode 100644 bin/reportlab/platypus/paraparser.py create mode 100644 bin/reportlab/platypus/tableofcontents.py create mode 100644 bin/reportlab/platypus/tables.py create mode 100644 bin/reportlab/platypus/xpreformatted.py create mode 100644 bin/reportlab/rl_config.py create mode 100644 bin/reportlab/tools/README create mode 100644 bin/reportlab/tools/__init__.py create mode 100644 bin/reportlab/tools/docco/README create mode 100644 bin/reportlab/tools/docco/__init__.py create mode 100644 bin/reportlab/tools/docco/codegrab.py create mode 100755 bin/reportlab/tools/docco/docpy.py create mode 100644 bin/reportlab/tools/docco/examples.py create mode 100755 bin/reportlab/tools/docco/graphdocpy.py create mode 100755 bin/reportlab/tools/docco/rl_doc_utils.py create mode 100644 bin/reportlab/tools/docco/rltemplate.py create mode 100644 bin/reportlab/tools/docco/stylesheet.py create mode 100644 bin/reportlab/tools/docco/t_parse.py create mode 100644 bin/reportlab/tools/docco/yaml.py create mode 100644 bin/reportlab/tools/docco/yaml2pdf.py create mode 100644 bin/reportlab/tools/py2pdf/README create mode 100644 bin/reportlab/tools/py2pdf/__init__.py create mode 100644 bin/reportlab/tools/py2pdf/demo-config.txt create mode 100755 bin/reportlab/tools/py2pdf/demo.py create mode 100644 bin/reportlab/tools/py2pdf/idle_print.py create mode 100755 bin/reportlab/tools/py2pdf/py2pdf.py create mode 100644 bin/reportlab/tools/py2pdf/vertpython.jpg create mode 100644 bin/reportlab/tools/pythonpoint/README create mode 100644 bin/reportlab/tools/pythonpoint/__init__.py create mode 100644 bin/reportlab/tools/pythonpoint/customshapes.py create mode 100644 bin/reportlab/tools/pythonpoint/demos/htu.xml create mode 100644 bin/reportlab/tools/pythonpoint/demos/leftlogo.a85 create mode 100644 bin/reportlab/tools/pythonpoint/demos/leftlogo.gif create mode 100644 bin/reportlab/tools/pythonpoint/demos/lj8100.jpg create mode 100644 bin/reportlab/tools/pythonpoint/demos/monterey.xml create mode 100644 bin/reportlab/tools/pythonpoint/demos/outline.gif create mode 100644 bin/reportlab/tools/pythonpoint/demos/pplogo.gif create mode 100644 bin/reportlab/tools/pythonpoint/demos/python.gif create mode 100644 bin/reportlab/tools/pythonpoint/demos/pythonpoint.xml create mode 100644 bin/reportlab/tools/pythonpoint/demos/spectrum.png create mode 100644 bin/reportlab/tools/pythonpoint/demos/vertpython.gif create mode 100644 bin/reportlab/tools/pythonpoint/pythonpoint.dtd create mode 100755 bin/reportlab/tools/pythonpoint/pythonpoint.py create mode 100644 bin/reportlab/tools/pythonpoint/stdparser.py create mode 100644 bin/reportlab/tools/pythonpoint/styles/__init__.py create mode 100644 bin/reportlab/tools/pythonpoint/styles/horrible.py create mode 100644 bin/reportlab/tools/pythonpoint/styles/htu.py create mode 100644 bin/reportlab/tools/pythonpoint/styles/modern.py create mode 100644 bin/reportlab/tools/pythonpoint/styles/projection.py create mode 100644 bin/reportlab/tools/pythonpoint/styles/standard.py create mode 100644 bin/server.cert create mode 100644 bin/server.pkey create mode 100644 bin/service/__init__.py create mode 100644 bin/service/security.py create mode 100644 bin/service/web_services.py create mode 100644 bin/sql_db.py create mode 100644 bin/ssl/SecureXMLRPCServer.py create mode 100644 bin/ssl/__init__.py create mode 100644 bin/ssl/server.cert create mode 100644 bin/ssl/server.pkey create mode 100755 bin/tinyerp-server.py create mode 100644 bin/tools/__init__.py create mode 100644 bin/tools/amount_to_text.py create mode 100644 bin/tools/config.py create mode 100644 bin/tools/convert.py create mode 100644 bin/tools/decimal.py create mode 100644 bin/tools/import_email.py create mode 100644 bin/tools/misc.py create mode 100644 bin/tools/threadinglocal.py create mode 100644 bin/tools/translate.py create mode 100644 bin/tools/upgrade.py create mode 100644 bin/wizard/__init__.py create mode 100644 bin/workflow/__init__.py create mode 100644 bin/workflow/common.py create mode 100644 bin/workflow/instance.py create mode 100644 bin/workflow/wkf_expr.py create mode 100644 bin/workflow/wkf_logs.py create mode 100644 bin/workflow/wkf_service.py create mode 100644 bin/workflow/workitem.py create mode 100644 doc/COPYING create mode 100644 doc/Changelog create mode 100644 doc/INSTALL create mode 100644 doc/README create mode 100644 doc/README.pychart create mode 100644 doc/migrate/3.3.0-3.4.0/README create mode 100644 doc/migrate/3.3.0-3.4.0/post.py create mode 100644 doc/migrate/3.3.0-3.4.0/pre.py create mode 100644 doc/migrate/3.4.0-4.0.0/pre.py create mode 100644 doc/tinyerp-icon.ico create mode 100644 doc/tinyerp-icon.png create mode 100644 man/terp_serverrc.5 create mode 100644 man/tinyerp-server.1 create mode 100755 setup.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000000..7af784307b3 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,3 @@ +recursive-include doc * +recursive-include man * +recursive-include bin *xml *xsl *sql diff --git a/bin/PKG-INFO b/bin/PKG-INFO new file mode 100644 index 00000000000..45eb7d6eb13 --- /dev/null +++ b/bin/PKG-INFO @@ -0,0 +1,18 @@ +Metadata-Version: 1.1 +Name: Tiny ERP +Version: 3.2.0 +Author: Tiny.be +Author-email: fp at tiny be +Maintainer: Tiny.be +Maintainer-email: fp at tiny be +Home-page: http://tiny.be +Download-url: http://tinyerp.org/download.php +Summary: TinyERP is an Enterprise Resource Management written entirely in python. +License: GPL +Description: Tiny ERP is a complete ERP and CRM. The main features are accounting (analytic + and financial), stock management, sales and purchases management, tasks + automation, marketing campaigns, help desk, POS, etc. Technical features include + a distributed server, flexible workflows, an object database, a dynamic GUI, + customizable reports, and SOAP and XML-RPC interfaces. +Keywords: ERP, Accounting, Stock, CRM, Enterprise, Logistics, Management, Sales, Purchases +Platform: Linux, Win32 diff --git a/bin/__init__.py b/bin/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py new file mode 100644 index 00000000000..cb57399806d --- /dev/null +++ b/bin/addons/__init__.py @@ -0,0 +1,249 @@ +############################################################################## +# +# Copyright (c) 2004 TINY SPRL. (http://tiny.be) +# +# $Id: __init__.py 1308 2005-09-08 18:02:01Z pinky $ +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contact a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import os, sys, imp +import itertools +from sets import Set + +import osv +import tools +import pooler + + +import netsvc +from osv import fields + +logger = netsvc.Logger() + +opj = os.path.join +ad = tools.config['addons_path'] +sys.path.insert(1,ad) + +class Graph(dict): + + def addNode(self, name, deps): + max_depth, father = 0, None + for n in [Node(x, self) for x in deps]: + if n.depth >= max_depth: + father = n + max_depth = n.depth + if father: + father.addChild(name) + else: + Node(name, self) + + def __iter__(self): + level = 0 + done = Set(self.keys()) + while done: + level_modules = [(name, module) for name, module in self.items() if module.depth==level] + for name, module in level_modules: + done.remove(name) + yield module + level += 1 + +class Singleton(object): + + def __new__(cls, name, graph): + if name in graph: + inst = graph[name] + else: + inst = object.__new__(cls) + inst.name = name + graph[name] = inst + return inst + +class Node(Singleton): + + def __init__(self, name, graph): + self.graph = graph + if not hasattr(self, 'childs'): + self.childs = [] + if not hasattr(self, 'depth'): + self.depth = 0 + + def addChild(self, name): + node = Node(name, self.graph) + node.depth = self.depth + 1 + if node not in self.childs: + self.childs.append(node) + for attr in ('init', 'update', 'demo'): + if hasattr(self, attr): + setattr(node, attr, True) + self.childs.sort(lambda x,y: cmp(x.name, y.name)) + + def hasChild(self, name): + return Node(name, self.graph) in self.childs or \ + bool([c for c in self.childs if c.hasChild(name)]) + + def __setattr__(self, name, value): + super(Singleton, self).__setattr__(name, value) + if name in ('init', 'update', 'demo'): + tools.config[name][self.name] = 1 + for child in self.childs: + setattr(child, name, value) + if name == 'depth': + for child in self.childs: + setattr(child, name, value + 1) + + def __iter__(self): + return itertools.chain(iter(self.childs), *map(iter, self.childs)) + + def __str__(self): + return self._pprint() + + def _pprint(self, depth=0): + s = '%s\n' % self.name + for c in self.childs: + s += '%s`-> %s' % (' ' * depth, c._pprint(depth+1)) + return s + +def create_graph(module_list, force=[]): + graph = Graph() + packages = [] + + for module in module_list: + terp_file = opj(ad, module, '__terp__.py') + if os.path.isfile(terp_file): + info = eval(file(terp_file).read()) + if info.get('installable', True): + packages.append((module, info.get('depends', []), info)) + + current,later = Set([p for p, dep, data in packages]), Set() + while packages and current > later: + package, deps, datas = packages[0] + + # if all dependencies of 'package' are already in the graph, add 'package' in the graph + if reduce(lambda x,y: x and y in graph, deps, True): + later.clear() + current.remove(package) + graph.addNode(package, deps) + node = Node(package, graph) + node.datas = datas + for kind in ('init', 'demo', 'update'): + if package in tools.config[kind] or 'all' in tools.config[kind] or kind in force: + setattr(node, kind, True) + else: + later.add(package) + packages.append((package, deps, datas)) + packages = packages[1:] + + for package in later: + logger.notifyChannel('init', netsvc.LOG_ERROR, 'addon:%s:Unmet dependency' % package) + + return graph + +def init_module_objects(cr, module_name, obj_list): + pool = pooler.get_pool(cr.dbname) + logger.notifyChannel('init', netsvc.LOG_INFO, 'addon:%s:creating or updating database tables' % module_name) + for obj in obj_list: + #CHECKME: is this test useful? all objects are supposed to have an _auto_init method, right? + #if hasattr(obj, '_auto_init'): + if hasattr(obj, 'init'): + obj.init(cr) + obj._auto_init(cr) + cr.commit() + +def load_module_graph(cr, graph, status={}): + package_todo = [] + statusi = 0 + for package in graph: + status['progress'] = (float(statusi)+0.1)/len(graph) + m = package.name + logger.notifyChannel('init', netsvc.LOG_INFO, 'addon:%s' % m) + sys.stdout.flush() + pool = pooler.get_pool(cr.dbname) + modules = pool.instanciate(m) + cr.execute('select state, demo from ir_module_module where name=%s', (m,)) + (package_state, package_demo) = (cr.rowcount and cr.fetchone()) or ('uninstalled', False) + idref = {} + status['progress'] = (float(statusi)+0.4)/len(graph) + if hasattr(package, 'init') or hasattr(package, 'update') or package_state in ('to install', 'to upgrade'): + init_module_objects(cr, m, modules) + for kind in ('init', 'update'): + for filename in package.datas.get('%s_xml' % kind, []): + mode = 'update' + if hasattr(package, 'init') or package_state=='to install': + mode = 'init' + logger.notifyChannel('init', netsvc.LOG_INFO, 'addon:%s:loading %s' % (m, filename)) + name, ext = os.path.splitext(filename) + if ext == '.csv': + tools.convert_csv_import(cr, m, filename, tools.file_open(opj(m, filename)).read(), idref, mode=mode) + elif ext == '.sql': + queries = tools.file_open(opj(m, filename)).read().split(';') + for query in queries: + new_query = ' '.join(query.split()) + if new_query: + cr.execute(new_query) + cr.commit() + else: + tools.convert_xml_import(cr, m, tools.file_open(opj(m, filename)).read(), idref, mode=mode) + if hasattr(package, 'demo') or (package_demo and package_state != 'installed'): + status['progress'] = (float(statusi)+0.75)/len(graph) + for xml in package.datas.get('demo_xml', []): + name, ext = os.path.splitext(xml) + logger.notifyChannel('init', netsvc.LOG_INFO, 'addon:%s:loading %s' % (m, xml)) + if ext == '.csv': + tools.convert_csv_import(cr, m, os.path.basename(xml), tools.file_open(opj(m, xml)).read(), idref) + else: + tools.convert_xml_import(cr, m, tools.file_open(opj(m, xml)).read(), idref) + package_todo.append(package.name) + cr.execute("update ir_module_module set state='installed', demo=%s where state in ('to upgrade', 'to install') and name=%s", (str(hasattr(package, 'demo')) or package_demo, package.name)) + cr.commit() + statusi+=1 + cr.commit() + +# pool = osv.osv.FakePool('base') +# pool = pooler.get_pool(cr.dbname) +# pool.get('ir.model.data')._process_end(cr, 1, package_todo) +# cr.commit() + +def register_classes(): + module_list = os.listdir(ad) + for package in create_graph(module_list): + m = package.name + logger.notifyChannel('init', netsvc.LOG_INFO, 'addon:%s:registering classes' % m) + sys.stdout.flush() + imp.load_module(m, *imp.find_module(m)) + +def load_modules(db, force_demo=False, status={}, update_module=False): + force = [] + if force_demo: + force.append('demo') + cr = db.cursor() + if update_module: + cr.execute("select name from ir_module_module where state in ('installed', 'to install', 'to upgrade')") + else: + cr.execute("select name from ir_module_module where state = 'installed'") + module_list = [name for (name,) in cr.fetchall()] + graph = create_graph(module_list, force) + load_module_graph(cr, graph, status) + cr.commit() + cr.close() + diff --git a/bin/addons/base/__init__.py b/bin/addons/base/__init__.py new file mode 100644 index 00000000000..8d5f263d4a0 --- /dev/null +++ b/bin/addons/base/__init__.py @@ -0,0 +1,32 @@ +############################################################################## +# +# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Fabien Pinckaers +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import ir +import module +import res + diff --git a/bin/addons/base/__terp__.py b/bin/addons/base/__terp__.py new file mode 100644 index 00000000000..086b0c448da --- /dev/null +++ b/bin/addons/base/__terp__.py @@ -0,0 +1,36 @@ +{ + "name" : "Base", + "version" : "1.0", + "author" : "Tiny", + "website" : "http://tinyerp.com", + "category" : "Generic Modules/Base", + "description": "The kernel of Tiny ERP, needed for all installation.", + "depends" : [], + "init_xml" : [ + "base_data.xml", + "base_menu.xml" + ], + "demo_xml" : [ + "base_demo.xml", + "res/partner/partner_demo.xml", + "res/partner/crm_demo.xml", + ], + "update_xml" : [ + "base_update.xml", + "ir/ir.xml", + "ir/workflow/workflow_view.xml", + "module/module_data.xml", + "module/module_wizard.xml", + "module/module_view.xml", + "module/module_report.xml", + "res/res_request_view.xml", + "res/partner/partner_report.xml", + "res/partner/partner_view.xml", + "res/partner/partner_wizard.xml", + "res/res_currency_view.xml", + "res/partner/crm_view.xml", + "res/partner/partner_data.xml", + "res/ir_property_view.xml", + ], + "installable": True +} diff --git a/bin/addons/base/base.sql b/bin/addons/base/base.sql new file mode 100644 index 00000000000..7d980cd0c85 --- /dev/null +++ b/bin/addons/base/base.sql @@ -0,0 +1,335 @@ +------------------------------------------------------------------------- +-- Pure SQL +------------------------------------------------------------------------- + +CREATE TABLE perm ( + id serial NOT NULL, + level smallint DEFAULT 4 NOT NULL, + uid int default null, + gid int default null, + primary key(id) +); +insert into perm (id,uid,gid) values (1,1,1); + +CREATE TABLE inherit ( + obj_type varchar(128) not null, + obj_id int not null, + inst_type varchar(128) not null, + inst_id int not null +); + +------------------------------------------------------------------------- +-- IR dictionary +------------------------------------------------------------------------- + +create table ir_values +( + id serial, + perm_id int references perm on delete set null, + name varchar(128) not null, + key varchar(128) not null, + key2 varchar(128) not null, + model varchar(128) not null, + value text, + meta text default NULL, + res_id integer default null, + primary key (id) +); + +------------------------------------------------------------------------- +-- Modules Description +------------------------------------------------------------------------- + +CREATE TABLE ir_model ( + id serial, + model varchar(64) DEFAULT ''::varchar NOT NULL, + name varchar(64), + info text, + primary key(id) +); + +CREATE TABLE ir_model_fields ( + id serial, + model varchar(64) DEFAULT ''::varchar NOT NULL, + model_id int references ir_model, + name varchar(64) DEFAULT ''::varchar NOT NULL, + relation varchar(64), + field_description varchar(256), + ttype varchar(64), + group_name varchar(64), + view_load boolean, + relate boolean default False, + primary key(id) +); + + +------------------------------------------------------------------------- +-- Actions +------------------------------------------------------------------------- + +CREATE TABLE ir_actions ( + id serial NOT NULL, + perm_id int references perm on delete set null, + name varchar(64) DEFAULT ''::varchar NOT NULL, + "type" varchar(64) DEFAULT 'window'::varchar NOT NULL, + usage varchar(32) DEFAULT null, + primary key(id) +); + +CREATE TABLE ir_act_window ( + view_id integer, + res_model varchar(64), + view_type varchar(16), + "domain" varchar(127), + primary key(id) +) +INHERITS (ir_actions); + +CREATE TABLE ir_act_report_xml ( + model varchar(64) NOT NULL, + report_name varchar(64) NOT NULL, + report_xsl varchar(64), + report_xml varchar(64), + auto boolean default true +) +INHERITS (ir_actions); + +create table ir_act_report_custom ( + report_id int +-- report_id int references ir_report_custom +) +INHERITS (ir_actions); + +CREATE TABLE ir_act_group ( + exec_type varchar(64) DEFAULT 'serial'::varchar NOT NULL +) +INHERITS (ir_actions); + +CREATE TABLE ir_act_group_link ( + aid integer NOT NULL, + gid integer NOT NULL +); + +CREATE TABLE ir_act_execute ( + func_name varchar(64) NOT NULL, + func_arg varchar(64) +) +INHERITS (ir_actions); + +CREATE TABLE ir_act_wizard ( + wiz_name varchar(64) NOT NULL +) +INHERITS (ir_actions); + +CREATE TABLE ir_ui_view ( + id serial NOT NULL, + perm_id int references perm on delete set null, + name varchar(64) DEFAULT ''::varchar NOT NULL, + model varchar(64) DEFAULT ''::varchar NOT NULL, + "type" varchar(64) DEFAULT 'form'::varchar NOT NULL, + arch text NOT NULL, + field_parent varchar(64), + priority integer DEFAULT 5 NOT NULL, + primary key(id), + CONSTRAINT ir_ui_view_type CHECK (((("type")::text = ('form'::varchar)::text) OR (("type")::text = ('tree'::varchar)::text))) +); + +CREATE TABLE ir_ui_menu ( + id serial NOT NULL, + perm_id int references perm on delete set null, + parent_id int references ir_ui_menu on delete set null, + name varchar(64) DEFAULT ''::varchar NOT NULL, + icon varchar(64) DEFAULT ''::varchar, + primary key (id) +); + +select setval('ir_ui_menu_id_seq', 2); + +--------------------------------- +-- Res users +--------------------------------- + +-- level: +-- 0 RESTRICT TO USER +-- 1 RESTRICT TO GROUP +-- 2 PUBLIC + +CREATE TABLE res_users ( + id serial NOT NULL, + perm_id int references perm on delete set null, + name varchar(64) not null, + active boolean default True, + login varchar(64) NOT NULL UNIQUE, + password varchar(32) default null, + perm_default int references perm on delete set null, +-- action_id int references ir_act_window on delete set null, + action_id int, + primary key(id) +); +alter table res_users add constraint res_users_login_uniq unique (login); + +insert into res_users (id,login,password,name,action_id,perm_id,active) values (1,'root',NULL,'Administrator',NULL,1,False); +select setval('res_users_id_seq', 2); + +CREATE TABLE res_groups ( + id serial NOT NULL, + perm_id int references perm on delete set null, + name varchar(32) NOT NULL, + primary key(id) +); + +create table res_roles ( + id serial NOT NULL, + perm_id int references perm on delete set null, + parent_id int references res_roles on delete set null, + name varchar(32) NOT NULL, + primary key(id) +); + +CREATE TABLE res_roles_users_rel ( + uid integer NOT NULL references res_users on delete cascade, + rid integer NOT NULL references res_roles on delete cascade +); + +CREATE TABLE res_groups_users_rel ( + uid integer NOT NULL references res_users on delete cascade, + gid integer NOT NULL references res_groups on delete cascade +); + +--------------------------------- +-- Workflows +--------------------------------- + +create table wkf +( + id serial, + perm_id int references perm on delete set null, + name varchar(64), + osv varchar(64), + on_create bool default False, + primary key(id) +); + +create table wkf_activity +( + id serial, + perm_id int references perm on delete set null, + wkf_id int references wkf on delete cascade, + subflow_id int references wkf on delete set null, + split_mode varchar(3) default 'XOR', + join_mode varchar(3) default 'XOR', + kind varchar(16) not null default 'dummy', + name varchar(64), + signal_send varchar(32) default null, + flow_start boolean default False, + flow_stop boolean default False, + action varchar(64) default null, + primary key(id) +); + +create table wkf_transition +( + id serial, + perm_id int references perm on delete set null, + act_from int references wkf_activity on delete cascade, + act_to int references wkf_activity on delete cascade, + condition varchar(128) default NULL, + + trigger_type varchar(128) default NULL, + trigger_expr_id varchar(128) default NULL, + + signal varchar(64) default null, + role_id int references res_roles on delete set null, + + primary key(id) +); + +create table wkf_instance +( + id serial, + wkf_id int references wkf on delete set null, + uid int default null, + res_id int not null, + res_type varchar(64) not null, + state varchar(32) not null default 'active', + primary key(id) +); + +create table wkf_workitem +( + id serial, + act_id int not null references wkf_activity on delete cascade, + inst_id int not null references wkf_instance on delete cascade, + subflow_id int references wkf_instance on delete cascade, + state varchar(64) default 'blocked', + primary key(id) +); + +create table wkf_witm_trans +( + trans_id int not null references wkf_transition on delete cascade, + inst_id int not null references wkf_instance on delete cascade +); + +create table wkf_logs +( + id serial, + res_type varchar(128) not null, + res_id int not null, + uid int references res_users on delete set null, + act_id int references wkf_activity on delete set null, + time time not null, + info varchar(128) default NULL, + primary key(id) +); + +--------------------------------- +-- Modules +--------------------------------- + +CREATE TABLE ir_module_category ( + id serial NOT NULL, + perm_id integer, + create_uid integer references res_users on delete set null, + create_date timestamp without time zone, + write_date timestamp without time zone, + write_uid integer references res_users on delete set null, + parent_id integer REFERENCES ir_module_category ON DELETE SET NULL, + name character varying(128) NOT NULL, + primary key(id) +); + + +CREATE TABLE ir_module_module ( + id serial NOT NULL, + perm_id integer, + create_uid integer references res_users on delete set null, + create_date timestamp without time zone, + write_date timestamp without time zone, + write_uid integer references res_users on delete set null, + website character varying(256), + name character varying(128) NOT NULL, + author character varying(128), + url character varying(128), + state character varying(16), + latest_version character varying(64), + shortdesc character varying(256), + category_id integer REFERENCES ir_module_category ON DELETE SET NULL, + description text, + demo boolean default False, + primary key(id) +); + +CREATE TABLE ir_module_module_dependency ( + id serial NOT NULL, + perm_id integer, + create_uid integer references res_users on delete set null, + create_date timestamp without time zone, + write_date timestamp without time zone, + write_uid integer references res_users on delete set null, + name character varying(128), + version_pattern character varying(128) default NULL, + module_id integer REFERENCES ir_module_module ON DELETE cascade, + primary key(id) +); + diff --git a/bin/addons/base/base_data.xml b/bin/addons/base/base_data.xml new file mode 100644 index 00000000000..294a4b080a1 --- /dev/null +++ b/bin/addons/base/base_data.xml @@ -0,0 +1,1054 @@ + + + + + ir.ui.menu.tree + ir.ui.menu + tree + + + + + + child_id + + + + Menu + menu + ir.actions.act_window + + ir.ui.menu + tree + + + + + admin + + + user + + + + en_EN + English + + + + + United Arab Emirates + ae + + + Afghanistan, Islamic State of + af + + + Antigua and Barbuda + ag + + + Anguilla + ai + + + Albania + al + + + Armenia + am + + + Netherlands Antilles + an + + + Angola + ao + + + Antarctica + aq + + + Argentina + ar + + + American Samoa + as + + + Austria + at + + + Australia + au + + + Aruba + aw + + + Azerbaidjan + az + + + Bosnia-Herzegovina + ba + + + Barbados + bb + + + Bangladesh + bd + + + Belgium + be + + + Burkina Faso + bf + + + Bulgaria + bg + + + Bahrain + bh + + + Burundi + bi + + + Benin + bj + + + Bermuda + bm + + + Brunei Darussalam + bn + + + Bolivia + bo + + + Brazil + br + + + Bahamas + bs + + + Bhutan + bt + + + Bouvet Island + bv + + + Botswana + bw + + + Belarus + by + + + Belize + bz + + + Canada + ca + + + Cocos (Keeling) Islands + cc + + + Central African Republic + cf + + + Congo, The Democratic Republic of the + cd + + + Congo + cg + + + Suisse + ch + + + Ivory Coast (Cote D'Ivoire) + ci + + + Cook Islands + ck + + + Chile + cl + + + Cameroon + cm + + + China + cn + + + Colombia + co + + + Costa Rica + cr + + + Former Czechoslovakia + cs + + + Cuba + cu + + + Cape Verde + cv + + + Christmas Island + cx + + + Cyprus + cy + + + Czech Republic + cz + + + Germany + de + + + Djibouti + dj + + + Denmark + dk + + + Dominica + dm + + + Dominican Republic + do + + + Algeria + dz + + + Ecuador + ec + + + Estonia + ee + + + Egypt + eg + + + Western Sahara + eh + + + Eritrea + er + + + Spain + es + + + Ethiopia + et + + + Finland + fi + + + Fiji + fj + + + Falkland Islands + fk + + + Micronesia + fm + + + Faroe Islands + fo + + + France + fr + + + Gabon + ga + + + Great Britain + gb + + + Grenada + gd + + + Georgia + ge + + + French Guyana + gf + + + Ghana + gh + + + Gibraltar + gi + + + Greenland + gl + + + Gambia + gm + + + Guinea + gn + + + Guadeloupe (French) + gp + + + Equatorial Guinea + gq + + + Greece + gr + + + S. Georgia & S. Sandwich Isls. + gs + + + Guatemala + gt + + + Guam (USA) + gu + + + Guinea Bissau + gw + + + Guyana + gy + + + Hong Kong + hk + + + Heard and McDonald Islands + hm + + + Honduras + hn + + + Croatia + hr + + + Haiti + ht + + + Hungary + hu + + + Indonesia + id + + + Ireland + ie + + + Israel + il + + + India + in + + + British Indian Ocean Territory + io + + + Iraq + iq + + + Iran + ir + + + Iceland + is + + + Italy + it + + + Jamaica + jm + + + Jordan + jo + + + Japan + jp + + + Kenya + ke + + + Kyrgyz Republic (Kyrgyzstan) + kg + + + Cambodia, Kingdom of + kh + + + Kiribati + ki + + + Comoros + km + + + Saint Kitts & Nevis Anguilla + kn + + + North Korea + kp + + + South Korea + kr + + + Kuwait + kw + + + Cayman Islands + ky + + + Kazakhstan + kz + + + Laos + la + + + Lebanon + lb + + + Saint Lucia + lc + + + Liechtenstein + li + + + Sri Lanka + lk + + + Liberia + lr + + + Lesotho + ls + + + Lithuania + lt + + + Luxembourg + lu + + + Latvia + lv + + + Libya + ly + + + Morocco + ma + + + Monaco + mc + + + Moldavia + md + + + Madagascar + mg + + + Marshall Islands + mh + + + Macedonia + mk + + + Mali + ml + + + Myanmar + mm + + + Mongolia + mn + + + Macau + mo + + + Northern Mariana Islands + mp + + + Martinique (French) + mq + + + Mauritania + mr + + + Montserrat + ms + + + Malta + mt + + + Mauritius + mu + + + Maldives + mv + + + Malawi + mw + + + Mexico + mx + + + Malaysia + my + + + Mozambique + mz + + + Namibia + na + + + New Caledonia (French) + nc + + + Niger + ne + + + Norfolk Island + nf + + + Nigeria + ng + + + Nicaragua + ni + + + Netherlands + nl + + + Norway + no + + + Nepal + np + + + Nauru + nr + + + Neutral Zone + nt + + + Niue + nu + + + New Zealand + nz + + + Oman + om + + + Panama + pa + + + Peru + pe + + + Polynesia (French) + pf + + + Papua New Guinea + pg + + + Philippines + ph + + + Pakistan + pk + + + Poland + pl + + + Saint Pierre and Miquelon + pm + + + Pitcairn Island + pn + + + Puerto Rico + pr + + + Portugal + pt + + + Palau + pw + + + Paraguay + py + + + Qatar + qa + + + Reunion (French) + re + + + Romania + ro + + + Russian Federation + ru + + + Rwanda + rw + + + Saudi Arabia + sa + + + Solomon Islands + sb + + + Seychelles + sc + + + Sudan + sd + + + Sweden + se + + + Singapore + sg + + + Saint Helena + sh + + + Slovenia + si + + + Svalbard and Jan Mayen Islands + sj + + + Slovak Republic + sk + + + Sierra Leone + sl + + + San Marino + sm + + + Senegal + sn + + + Somalia + so + + + Suriname + sr + + + Saint Tome (Sao Tome) and Principe + st + + + El Salvador + sv + + + Syria + sy + + + Swaziland + sz + + + Turks and Caicos Islands + tc + + + Chad + td + + + French Southern Territories + tf + + + Togo + tg + + + Thailand + th + + + Tadjikistan + tj + + + Tokelau + tk + + + Turkmenistan + tm + + + Tunisia + tn + + + Tonga + to + + + East Timor + tp + + + Turkey + tr + + + Trinidad and Tobago + tt + + + Tuvalu + tv + + + Taiwan + tw + + + Tanzania + tz + + + Ukraine + ua + + + Uganda + ug + + + United Kingdom + uk + + + USA Minor Outlying Islands + um + + + United States + us + + + Uruguay + uy + + + Uzbekistan + uz + + + Holy See (Vatican City State) + va + + + Saint Vincent & Grenadines + vc + + + Venezuela + ve + + + Virgin Islands (British) + vg + + + Virgin Islands (USA) + vi + + + Vietnam + vn + + + Vanuatu + vu + + + Wallis and Futuna Islands + wf + + + Samoa + ws + + + Yemen + ye + + + Mayotte + yt + + + Yugoslavia + yu + + + South Africa + za + + + Zambia + zm + + + + Zaire + zr + + + Zimbabwe + zw + + + + Tiny sprl + + + + Fabien Pinckaers + Chaussee de Namur 40 + 1367 + Gerompont + (+32).81.81.37.00 + default + + + +# +# Currencies +# + + + EUR + EUR + 1.0 + 2 + 4 + + + + Tiny sprl + + Free Business Solutions + Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07 + IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701 + + + + + admin + admin + Administrator + Administrator + + + + + + + diff --git a/bin/addons/base/base_demo.xml b/bin/addons/base/base_demo.xml new file mode 100644 index 00000000000..361fe5e5718 --- /dev/null +++ b/bin/addons/base/base_demo.xml @@ -0,0 +1,274 @@ + + + + + demo + demo + Demo User + Fabien Pinckaers + + + + + + + USD + 0.8400 + 2 + 4 + + + + + + Alabama + al + + + + Alaska + ak + + + + Arizona + az + + + + Arkansas + ar + + + + California + ca + + + + Colorado + co + + + + Connecticut + ct + + + + Delaware + de + + + + Florida + fl + + + + Georgia + ga + + + + Hawaii + hi + + + + Idaho + id + + + + Illinois + il + + + + Indiana + in + + + + Iowa + ia + + + + Kansas + ks + + + + Kentuky + ky + + + + Louisiana + la + + + + Maine + me + + + + Maryland + md + + + + Massachusetts + ma + + + + Michigan + mi + + + + Minnesota + mn + + + + Mississippi + ms + + + + Missouri + mo + + + + Montana + mt + + + + Nebraska + ne + + + + Nevada + nv + + + + New Hampshire + nh + + + + New Jersey + nj + + + + New Mexico + nm + + + + New York + ny + + + + North Carolina + nc + + + + New Dakota + nd + + + + Ohio + oh + + + + Oklahoma + ok + + + + Oregon + or + + + + Pennsylviania + pa + + + + Rhode Island + ri + + + + South Carolina + sc + + + + South Dakota + sd + + + + Tennessee + tn + + + + Texas + tx + + + + Utah + ut + + + + Vermont + vt + + + + Virgnia + va + + + + Washington + wa + + + + West Virgnia + wv + + + + Wisconsin + wi + + + + Wyoming + wy + + + + diff --git a/bin/addons/base/base_menu.xml b/bin/addons/base/base_menu.xml new file mode 100644 index 00000000000..138d6470db1 --- /dev/null +++ b/bin/addons/base/base_menu.xml @@ -0,0 +1,20 @@ + + + + + + + # Admin config + + + + + res.company + res.company + form + tree,form + + + + + diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml new file mode 100644 index 00000000000..2f7ee01adfe --- /dev/null +++ b/bin/addons/base/base_update.xml @@ -0,0 +1,169 @@ + + + + + + Languages + res.lang + form + +
+ + + + + +
+ + res.lang + ir.actions.act_window + res.lang + form + + + + + + + + lang + + + + + + + + res.groups.form + res.groups + form + +
+ + +
+
+ + + + res.users.form.modif + res.users + form + + +
+ + + +
+ + res.users.form + res.users + form + + +
+ + + + + + +
+ + res.users.form + res.users + form + +
+ + + + + + + + + + + + + +
+ + res.users.tree + res.users + tree + + + + + + + + + + + res.company.form + res.company + form + +
+ + + + + + + + +
+ + res.company.tree + res.company + tree + child_ids + + + + + + + + + # Admin config + + + + + res.users.list + res.users + form + tree,form + + + + +
+
diff --git a/bin/addons/base/ir/__init__.py b/bin/addons/base/ir/__init__.py new file mode 100644 index 00000000000..46331d821fd --- /dev/null +++ b/bin/addons/base/ir/__init__.py @@ -0,0 +1,41 @@ +############################################################################## +# +# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Fabien Pinckaers +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import ir_sequence +import ir_ui_menu +import ir_ui_view +import ir_actions +import ir_default +import ir_model +import ir_report_custom +import ir_attachment +import ir_cron +import ir_values +import ir_translation +import ir_exports +import workflow diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml new file mode 100644 index 00000000000..049b229ae87 --- /dev/null +++ b/bin/addons/base/ir/ir.xml @@ -0,0 +1,654 @@ + + + + ========================================================== + Sequences + ========================================================== + + + ir.sequence.form + ir.sequence + form + +
+ + + + + + + + + + + +
+ + ir.sequence + ir.actions.act_window + ir.sequence + form + + + + + ========================================================== + Sequences Types + ========================================================== + + + ir.sequence.type.form + ir.sequence.type + form + +
+ + + + +
+ + ir.sequence.type + ir.actions.act_window + ir.sequence.type + form + tree,form + + + + + ========================================================== + Actions + ========================================================== + + + ir.actions.actions + ir.actions.act_window + ir.actions.actions + form + + + + + ir.actions.execute + ir.actions.act_window + ir.actions.execute + form + + + + + ir.actions.group + ir.actions.act_window + ir.actions.group + form + + + + + ir.actions.report.custom + ir.actions.act_window + ir.actions.report.custom + form + + + + + ir.actions.report.xml + ir.actions.act_window + ir.actions.report.xml + form + + + + + ir.actions.windows.tree + ir.actions.act_window + tree + + + + + + + + + + + + + ir.actions.windows.form + ir.actions.act_window + form + +
+ + + + + + + + +
+ + ir.actions.act_window + ir.actions.act_window + ir.actions.act_window + form + + + + + + ir.actions.wizard + ir.actions.act_window + ir.actions.wizard + form + + + + ========================================================== + Companies + ========================================================== + + + res.company + ir.actions.act_window + res.company + [('parent_id','=',False)] + tree + + + + res.groups + ir.actions.act_window + res.company + form + + + + ========================================================== + User Roles + ========================================================== + + + res.users + ir.actions.act_window + res.users + form + + + + + res.users + ir.actions.act_window + res.users + form + tree,form + [('id','=',uid)] + + + + + + res.groups + ir.actions.act_window + res.groups + form + + + + + res.roles.form + res.roles + form + +
+ + + + +
+ + res.roles.tree + res.roles + tree + child_id + + + + + + + + res.roles.tree + ir.actions.act_window + res.roles + tree + + + + + res.roles.tree + ir.actions.act_window + res.roles + form + + + + ========================================================== + View + ========================================================== + + ir.ui.view + ir.ui.view + form + +
+ + + + + + + + + +
+ + ir.ui.view + ir.actions.act_window + ir.ui.view + form + + + + + ========================================================== + Attachment + ========================================================== + + ir.attachment.view + ir.attachment + form + +
+ + + + + + + + + +
+ + ir.attachment + ir.actions.act_window + ir.attachment + form + + + + + ========================================================== + Report + ========================================================== + + ir.report.custom.fields.tree + ir.report.custom.fields + tree + + + + + + + + + + + + + + + ir.report.custom.fields + ir.report.custom.fields + form + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ir.report.custom + ir.report.custom + form + +
+ + + + + + + + + + + + + + + + +