diff --git a/addons/account_cancel/i18n/bs.po b/addons/account_cancel/i18n/bs.po index 7e816663ac3..633fbd8a3aa 100644 --- a/addons/account_cancel/i18n/bs.po +++ b/addons/account_cancel/i18n/bs.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2010-09-29 11:28+0000\n" -"Last-Translator: OpenERP Administrators \n" +"PO-Revision-Date: 2014-02-18 16:35+0000\n" +"Last-Translator: Boško Stojaković \n" "Language-Team: Bosnian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-01-28 06:28+0000\n" -"X-Generator: Launchpad (build 16914)\n" +"X-Launchpad-Export-Date: 2014-02-19 05:23+0000\n" +"X-Generator: Launchpad (build 16916)\n" #. module: account_cancel #: view:account.invoice:0 msgid "Cancel" -msgstr "" +msgstr "Otkaži" #~ msgid "Account Cancel" #~ msgstr "Računovodstvo - povrat" diff --git a/addons/event_sale/i18n/fi.po b/addons/event_sale/i18n/fi.po new file mode 100644 index 00000000000..0220b172e4d --- /dev/null +++ b/addons/event_sale/i18n/fi.po @@ -0,0 +1,94 @@ +# Finnish translation for openobject-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2014-02-18 20:10+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-02-19 05:23+0000\n" +"X-Generator: Launchpad (build 16916)\n" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_product_product +msgid "Product" +msgstr "Tuote" + +#. module: event_sale +#: help:product.product,event_ok:0 +msgid "" +"Determine if a product needs to create automatically an event registration " +"at the confirmation of a sales order line." +msgstr "" + +#. module: event_sale +#: help:sale.order.line,event_id:0 +msgid "" +"Choose an event and it will automatically create a registration for this " +"event." +msgstr "" +"Valitse tapahtuma ja se luo automaattisesti rekisteröinnin kyseiseen " +"tapahtumaan." + +#. module: event_sale +#: model:event.event,name:event_sale.event_technical_training +msgid "Technical training in Grand-Rosiere" +msgstr "" + +#. module: event_sale +#: help:product.product,event_type_id:0 +msgid "" +"Select event types so when we use this product in sales order lines, it will " +"filter events of this type only." +msgstr "" +"Valitse tapahtumatyypit, joiden avulla myyntitilausrivillä voidaan suodattaa " +"vain tämän tyyppiset tapahtumat." + +#. module: event_sale +#: field:product.product,event_type_id:0 +msgid "Type of Event" +msgstr "Tapahtumatyyppi" + +#. module: event_sale +#: field:sale.order.line,event_ok:0 +msgid "event_ok" +msgstr "" + +#. module: event_sale +#: field:product.product,event_ok:0 +msgid "Event Subscription" +msgstr "Tapahtumaan rekisteröityminen" + +#. module: event_sale +#: field:sale.order.line,event_type_id:0 +msgid "Event Type" +msgstr "Tapahtumatyyppi" + +#. module: event_sale +#: model:product.template,name:event_sale.event_product_product_template +msgid "Technical Training" +msgstr "Tekninen koulutus" + +#. module: event_sale +#: code:addons/event_sale/event_sale.py:88 +#, python-format +msgid "The registration %s has been created from the Sales Order %s." +msgstr "Rekisteröinti %s on luotu myyntitilaukselta %s." + +#. module: event_sale +#: field:sale.order.line,event_id:0 +msgid "Event" +msgstr "Tapahtuma" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_sale_order_line +msgid "Sales Order Line" +msgstr "Myyntitilausrivi" diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 101629482eb..a13a1866493 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -21,6 +21,7 @@ import logging +from openerp import SUPERUSER_ID from openerp import tools from openerp.modules.module import get_module_resource from openerp.osv import fields, osv @@ -248,27 +249,46 @@ class hr_employee(osv.osv): 'color': 0, } - def create(self, cr, uid, data, context=None): - if context is None: - context = {} - create_ctx = dict(context, mail_create_nolog=True) - employee_id = super(hr_employee, self).create(cr, uid, data, context=create_ctx) + def _broadcast_welcome(self, cr, uid, employee_id, context=None): + """ Broadcast the welcome message to all users in the employee company. """ employee = self.browse(cr, uid, employee_id, context=context) + partner_ids = [] + _model, group_id = self.pool['ir.model.data'].get_object_reference(cr, uid, 'base', 'group_user') if employee.user_id: - res_users = self.pool['res.users'] - # send a copy to every user of the company - # TODO: post to the `Whole Company` mail.group when we'll be able to link to the employee record - _model, group_id = self.pool['ir.model.data'].get_object_reference(cr, uid, 'base', 'group_user') - user_ids = res_users.search(cr, uid, [('company_id', '=', employee.user_id.company_id.id), - ('groups_id', 'in', group_id)]) - partner_ids = list(set(u.partner_id.id for u in res_users.browse(cr, uid, user_ids, context=context))) + company_id = employee.user_id.company_id.id + elif employee.company_id: + company_id = employee.company_id.id + elif employee.job_id: + company_id = employee.job_id.company_id.id + elif employee.department_id: + company_id = employee.department_id.company_id.id else: - partner_ids = [] - self.message_post(cr, uid, [employee_id], + company_id = self.pool['res.company']._company_default_get(cr, uid, 'hr.employee', context=context) + res_users = self.pool['res.users'] + user_ids = res_users.search( + cr, SUPERUSER_ID, [ + ('company_id', '=', company_id), + ('groups_id', 'in', group_id) + ], context=context) + partner_ids = list(set(u.partner_id.id for u in res_users.browse(cr, SUPERUSER_ID, user_ids, context=context))) + self.message_post( + cr, uid, [employee_id], body=_('Welcome to %s! Please help him/her take the first steps with OpenERP!') % (employee.name), partner_ids=partner_ids, subtype='mail.mt_comment', context=context ) + return True + + def create(self, cr, uid, data, context=None): + if context is None: + context = {} + if context.get("mail_broadcast"): + context['mail_create_nolog'] = True + + employee_id = super(hr_employee, self).create(cr, uid, data, context=context) + + if context.get("mail_broadcast"): + self._broadcast_welcome(cr, uid, employee_id, context=context) return employee_id def unlink(self, cr, uid, ids, context=None): diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 05c39147cf9..20e9e0930cc 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -453,6 +453,7 @@ class hr_applicant(osv.Model): contact_name = self.pool.get('res.partner').name_get(cr, uid, [applicant.partner_id.id])[0][1] if applicant.job_id and (applicant.partner_name or contact_name): applicant.job_id.write({'no_of_hired_employee': applicant.job_id.no_of_hired_employee + 1}, context=context) + create_ctx = dict(context, mail_broadcast=True) emp_id = hr_employee.create(cr, uid, {'name': applicant.partner_name or contact_name, 'job_id': applicant.job_id.id, 'address_home_id': address_id, @@ -460,7 +461,7 @@ class hr_applicant(osv.Model): 'address_id': applicant.company_id and applicant.company_id.partner_id and applicant.company_id.partner_id.id or False, 'work_email': applicant.department_id and applicant.department_id.company_id and applicant.department_id.company_id.email or False, 'work_phone': applicant.department_id and applicant.department_id.company_id and applicant.department_id.company_id.phone or False, - }) + }, context=create_ctx) self.write(cr, uid, [applicant.id], {'emp_id': emp_id}, context=context) self.pool['hr.job'].message_post( cr, uid, [applicant.job_id.id], diff --git a/addons/hw_proxy/doc/_images/posbox_doc_schema.png b/addons/hw_proxy/doc/_images/posbox_doc_schema.png new file mode 100644 index 00000000000..929675db9e8 Binary files /dev/null and b/addons/hw_proxy/doc/_images/posbox_doc_schema.png differ diff --git a/addons/hw_proxy/doc/_images/posbox_doc_schema.svg b/addons/hw_proxy/doc/_images/posbox_doc_schema.svg new file mode 100644 index 00000000000..92d02849cf0 --- /dev/null +++ b/addons/hw_proxy/doc/_images/posbox_doc_schema.svg @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2A Power + SD Card + HDMI + USB + RJ45 + Composite + Audio + Audio + Ready + Power + Network + + + + + + + + + + + + + diff --git a/addons/hw_proxy/doc/index.rst b/addons/hw_proxy/doc/index.rst new file mode 100644 index 00000000000..b5bbf71a2ab --- /dev/null +++ b/addons/hw_proxy/doc/index.rst @@ -0,0 +1,395 @@ +==================== +PosBox Documentation +==================== + +Posbox Setup Guide +================== + +Prerequisites +------------- + +Before you start setting up your PosPox make sure you have everything. +You will need : + +- The PosBox +- A 2A Power adapter +- A computer or tablet with an up to date Firefox, Chrome or Safari web + browser (we recommend Chrome) +- A running SaaS or V8.0 OpenERP Instance with the Point of Sale + Installed. +- A local network set up with DHCP ( this is the default setting ) +- A RJ45 Ethrnet Cable +- An Epson USB TM-T20 Printer or another compatible printer. +- A Honewell Voyager USB Barcode Scanner or another compatible scanner. +- An Epson compatible cash drawer. + +Setup +----- + +.. image:: _images/posbox_doc_schema.png + :width: 100% + :align: center + +1) Power the PosBox. +~~~~~~~~~~~~~~~~~~~~ + +Plug the PosBox to the 2A Power Adapter, a bright red status led should +light up. + +2) Connect it to the Local Network +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Connect the PosBox to the Local Network with the RJ45 Cable. Make sure +You connect the PosBox to the same Network as your POS device. Once +connected a bright yellow status led should light up, and a green status +led should flash. + +3) Connect the USB Printer +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Put a paper roll in the printer, power it up, then connect it to one of +the PosBox's USB port + +4) Connect the cash drawer +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The cash drawer should be connected to the printer with the RJ25 cable + +5) Connect the USB Barcode Scanner +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Connect the usb barcode scanner to one of the PosBox's USB port. The +Barcode Scanner should immediately light up and emit a loud beep. + +6) Configure the USB Barcode Scanner +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The barcode scanner should be configured in QWERTY and emit a new line / +return symbol after each scan. This is most likely the default +configuration of your barcode scanner. + +7) Make sure the PosBox is ready +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once powered, The PosBox needs less than a minute to boot. Once the +PosBox is ready, it should print a status receipt with its IP Adress. +Also, the last status led, just after the red power status led, should +be permanently lit green. + +8) Set up the Point of Sale +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Make sure to activate the 'Print via Proxy', 'Remote Scanning' or +'Cashdrawer' options in the Point of Sale configuration. If you are +using firefox, you must manually specify the PosBox's IP address which +was printed on the status receipt. + +If you are running multiple Point of Sales on the same PosBox, make sure +that only one of them has Remote Scanning activated. + +9) Launch the Point of Sale. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you didn't spcecify the PosBox's IP address in the config, the POS +will need some time to perform a network scan to find the PosBox. This +is only done once. + +The Point of Sale is now connected to the PosBox and your Hardware +should be ready to use. + +PosBoxless Setup Guide +====================== + +If you are running your Point of Sale on a debian-based linux +distribution, you do not need the PosBox as you can run its software +locally. However the installation process is not foolproof. You'll need +at least to know how to install and run openerp. You may also run into +issues specific to your distribution or to your particular setup and +hardware configuration. + +Prerequisites +------------- + +- A debian based linux distribution (Debian, Ubuntu, Mint, etc.) +- A running trunk version of the OpenERP server +- You must uninstall any esc-pos printer driver as it will conflict + with OpenERP's built-in driver. + +Setup +----- + +1) Extra dependencies +~~~~~~~~~~~~~~~~~~~~~ + +The driver modules requires the installation of new python modules: + +:: + + $ sudo pip install pyserial + $ sudo pip install --pre pyusb + +2) Database Setup +~~~~~~~~~~~~~~~~~ + +You must create a database called ``posbox`` with the modules +``hw_proxy``, ``hw_escpos``, and ``hw_scanner`` installed. + +3) Access Rights +~~~~~~~~~~~~~~~~ + +The drivers need raw access to the printer and barcode scanner devices. +Doing so requires a bit system administration. First we are going to +create a group that has haccess to usb devices: + +:: + + $ sudo groupadd usbusers + +Then we add the user who will run the OpenERP server to ``usbusers`` + +:: + + $ sudo useradd -G usbusers USERNAME + +Then we need to create a udev rule that will automatically allow members +of ``usbusers`` to access raw usb devices. To do so create a file called +``99-usbusers.rule`` in the ``/etc/udev/rules.d/`` directory with the +following content: + +:: + + SUBSYSTEM=="usb", GROUP="usbusers", MODE="0660" + SUBSYSTEMS=="usb", GROUP="usbusers", MODE="0660" + +Then you need to reboot your machine. + +4) Start the local OpenERP Installl +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We must launch the OpenERP server on the port ``8069`` with the correct +database settings: + +:: + + $ ./server/openerp-server --addons-path=addons,web/addons --db-filter='^posbox$' \ + --xmlrpc-port=8069 -d posbox + +5) Check that everything works +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Plug all your hardware to your machine's USB ports, and go to +``http://localhost/hw_proxy/status`` refresh the page a few times and +see if all your devices are indicated as *Connected*. Possible source of +errors are: The paths on the distribution differ from the paths expected +by the drivers, another process has grabbed exclusive access to the +devices, the udev rules do not apply or a superceeded by others. + +5) Automatically Start OpenERP +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You must now make sure that this OpenERP install is automatically +started after boot. There are various ways to do so, and how to do it +depends on your particular setup. We use *systemd* on the PosBox, but +*upstart* or *sysvinit* are other options. + +6) Set up the Point of Sale +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Make sure that one of the posbox Make sure the IP Adress field in the +POS Config is either ``127.0.0.1`` or ``localhost`` or simply leave it +empty. + +PosBox Technical Documentation +============================== + +Technical Overview +------------------ + +The PosBox Hardware +~~~~~~~~~~~~~~~~~~~ + +The PosBox's Hardware is based on a model B Raspberry Pi, a popular +open-source micro-computer. The Raspberry Pi is powered with a 2A +micro-usb power adapter. 2A is needed to give enough power to the +barcode scanners. And we recommend Samsung power adapters for their +availability and reliability ( but beware of counterfeits ). The +Raspberry is protected by a ModMyPi Raspberry Pi Case. The Software is +installed on a 8Gb Class 10 or Higher SD Card. The SD Card's class is +important to ensure good performances. All this hardware is easily +available worldwide from independant vendors. + +Compatible Peripherals +~~~~~~~~~~~~~~~~~~~~~~ + +- Printers: + + - Epson TM-T20 + - Support for Other Esc-Pos compatible printers can be easily added + on a case-by-case basis, please see the *Unsupported Printers* + chapter of this manual. + +- Barcode Scannners: + + - Metapace S61 + - Honeywell Voyager 95x0 Series. + - Most other barcode scanners should work out of the box. Some + barcode scanners need more power than the PosBox can provide and + must be plugged in a self-powered USB HUB. This is the case for + Datalogic Barcode Scanners. + +- Cash Drawers: + + - As the cash drawers are connected to the printer, All Epson + compatible cash drawers should work out of the Box. + +The PosBox Software +~~~~~~~~~~~~~~~~~~~ + +The PosBox runs a Raspbian Linux distribution, a Debian derivative +optimized for the Raspberry Pi. It also runs a barebones install of +OpenERP which provides the webserver and the drivers. The printer & +scanner drivers are implemented as openerp modules. Those modules are +named ``hw_proxy``, ``hw_escpos``, ``hw_scanner`` and are the only +modules installed and running. OpenERP is only used for the framework it +provides. No business data is processed or stored on the PosBox. The +OpenERP install is a full bazaar clone of the ``trunk`` branch, and can +thus be updated trough the usual means. + +We use systemd to manage the Openerp server. Systemd makes sure OpenERP +starts up at boot and is always up and running. Its systemd unit file is +called ``openerp.service``, and can be found in +``/etc/systemd/system/openerp.service``. The systemd version used is +quite old and thus ``journalctl`` is not available. All logs can be +found in instead ``/var/logs/syslog`` + +We removed all graphical software from the default install to reduce to +image size but nothing prevents you from reinstalling them. + +Local Access +~~~~~~~~~~~~ + +If you plug a QWERTY USB keyboard into one of the PosBox's USB ports, +and if you connect a computer monitor to the *HDMI* port of the PosBox, +you can use it as a small UNIX computer and perform various +administration tasks. + +Once the PosBox is ready press ``ALT-F2`` to access the login prompt. +The login is ``pi`` and the password ``admin``. The OpenERP install is +in the ``~/openerp`` directory along with a few scripts to help with +debugging and administration. + +Remote Access +~~~~~~~~~~~~~ + +If you have the PosBox's IP address and a SSH client you can access the +PosBox's system remotely. The login / password are ``pi``/``admin`` + +Unsupported Printers +~~~~~~~~~~~~~~~~~~~~ + +The PosBox should be able to print to any ESC-POS printer, not just the +Epson TM-T20. If You have such a printer, you can activate it with the +following steps: + +- Get local or remote access to the PosBox. +- Plug in your printer +- type ``lsusb`` in a prompt +- Find your printer in the list of connected USB devices +- Find your printer's vendor id: It consists of two hexadecimal numbers + separated by a colon. +- Edit ``~/openerp/addons/hw_escpos/escpos/supported_devices.py`` and + add an entry for your printer. +- Restar The PosBox. +- If everything works properly you can send your printer's name and + vendor ID to ``support@openerp.com`` and we'll add it to the list of + supported devices. + +Updating The PosBox Software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The best way to update the PosBox software is to download a new version +of the image and flash the SD-Card with it. This operation is described +in details on the following tutorial +``http://elinux.org/RPi_Easy_SD_Card_Setup``, just replace the standard +raspberry pi image to the latest one found at +``http://nightly.openerp.com/trunk/posbox/`` + +Troubleshoot +------------ + +The POS cannot connect to the PosBox. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- The easiest way to make sure the PosBox is properly set-up is to turn + it on with the printer plugged in as it will print a receipt + indicating any error if encountered or the PosBox's IP adress in case + of success. If no receipt is printed, check the following steps: +- Make sure the PosBox is powered on, indicated by a brightly lid red + status LED. +- Make sure the PosBox is ready, this is indicated by a brightly lid + green status LED just above the red power status LED. The PosBox + should be ready one minute after it is powered on. +- Make sure the PosBox is connected to the Network. This is indicated + by a brightly lid yellow status LED. +- Make sure the PosBox is connected to the same network as your POS + device. Both the device and the posbox should be visible in the list + of connected devices on your network router. +- Make sure that your LAN is set up with DHCP, and gives ip Address in + the range 192.168.0.X, 192.168.1.X, 10.0.0.X. If you cannot setup + your LAN that way, you must manually set up your PosBox's ip-address. + See the relevant paragraph in the Setup chapter of this documentation +- If you have specified the PosBox's IP address in the config, make + sure it correspond to the printed on the PosBox's status receipt. +- Make sure that the POS is not loaded over HTTPS. +- A bug in Firefox's HTTP implementation prevents the autodiscovery + from working reliably. When using Firefox you should manually set up + the PosBox's ip address in the POS config. + +The Barcode Scanner is not working +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- The PosBox needs a 2A power supply to work with some barcode + scanners. If you are not using the provided power supply, make sure + the one you use has enough power. +- Some barcode scanners will need more than 2A and will not work, or + will work unreliably, even with the provided power supply. In those + case you can plug the barcode scanner in a self-powered USB Hub. +- Some poorly built barcode scanners do not advertise themselves as + barcode scanners but as a usb keyboard instead, and will not be + recognized by the PosBox. + +The Barcode Scanner is not working reliably +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Make sure that no more than one device with 'Scan via Proxy' enabled + are connected to the PosBox at the same time. + +Printing the receipt takes too much time. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- A small delay before the first print is expected, as the PosBox will + do some preprocessing to speed up the next printings. If you suffer + delays afterwards it is most likely due to poor network connection + between the POS and the PosBox. + +Some characters are not correctly printed on the receipt. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- The PosBox does not support all languages and characters. It + currently supports latin and cyrillic based scripts, with basic + japanese support. + +The Printer is Offline +~~~~~~~~~~~~~~~~~~~~~~ + +- The PosBox only supports EPSON TM-T20 printers. Make sure the printer + is connected, powered, has enough paper and has its lid closed, and + does is not in an error status. If the error persists, please contact + support. + +The Cashdrawer does not open. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- The cashdrawer should be connected to the printer and should be + activated in the POS Configuration + diff --git a/addons/note/i18n/fi.po b/addons/note/i18n/fi.po new file mode 100644 index 00000000000..3dd81b62b05 --- /dev/null +++ b/addons/note/i18n/fi.po @@ -0,0 +1,286 @@ +# Finnish translation for openobject-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2014-02-18 16:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-02-19 05:23+0000\n" +"X-Generator: Launchpad (build 16916)\n" + +#. module: note +#: field:note.note,memo:0 +msgid "Note Content" +msgstr "Muistiinpanon sisältö" + +#. module: note +#: view:note.stage:0 +msgid "Stages of Notes" +msgstr "Muistiipanojen vaiheet" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_04 +#: model:note.stage,name:note.note_stage_02 +msgid "This Week" +msgstr "Tämä viikko" + +#. module: note +#: model:ir.model,name:note.model_base_config_settings +msgid "base.config.settings" +msgstr "" + +#. module: note +#: model:ir.model,name:note.model_note_tag +msgid "Note Tag" +msgstr "Muistiinpanon tunniste" + +#. module: note +#: model:res.groups,name:note.group_note_fancy +msgid "Notes / Fancy mode" +msgstr "" + +#. module: note +#: model:ir.model,name:note.model_note_note +#: view:note.note:0 +msgid "Note" +msgstr "Muistiinpano" + +#. module: note +#: view:note.note:0 +msgid "Group By..." +msgstr "Ryhmittely..." + +#. module: note +#: field:note.note,message_follower_ids:0 +msgid "Followers" +msgstr "Seuraajat" + +#. module: note +#: model:ir.actions.act_window,help:note.action_note_note +msgid "" +"

\n" +" Click to add a personal note.\n" +"

\n" +" Use notes to organize personal tasks or notes. All\n" +" notes are private; no one else will be able to see them. " +"However\n" +" you can share some notes with other people by inviting " +"followers\n" +" on the note. (Useful for meeting minutes, especially if\n" +" you activate the pad feature for collaborative writings).\n" +"

\n" +" You can customize how you process your notes/tasks by adding,\n" +" removing or modifying columns.\n" +"

\n" +" " +msgstr "" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_01 +#: model:note.stage,name:note.note_stage_01 +msgid "Today" +msgstr "Tänään" + +#. module: note +#: model:ir.model,name:note.model_res_users +msgid "Users" +msgstr "Käyttäjät" + +#. module: note +#: view:note.note:0 +msgid "í" +msgstr "í" + +#. module: note +#: view:note.stage:0 +msgid "Stage of Notes" +msgstr "Muistiinpanojenvaiheet" + +#. module: note +#: field:note.note,message_unread:0 +msgid "Unread Messages" +msgstr "Lukemattomat viestit" + +#. module: note +#: field:note.note,current_partner_id:0 +msgid "unknown" +msgstr "" + +#. module: note +#: view:note.note:0 +msgid "By sticky note Category" +msgstr "Muistilaput ryhmittäin" + +#. module: note +#: help:note.note,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "Jos valittu, uudet viestit vaativat huomiosi." + +#. module: note +#: field:note.stage,name:0 +msgid "Stage Name" +msgstr "Vaiheen nimi" + +#. module: note +#: field:note.note,message_is_follower:0 +msgid "Is a Follower" +msgstr "on seuraaja" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_02 +msgid "Tomorrow" +msgstr "Huomenna" + +#. module: note +#: view:note.note:0 +#: field:note.note,open:0 +msgid "Active" +msgstr "Aktiivinen" + +#. module: note +#: help:note.stage,user_id:0 +msgid "Owner of the note stage." +msgstr "Muistiinpanon vaiheen omistaja." + +#. module: note +#: model:ir.ui.menu,name:note.menu_notes_stage +msgid "Categories" +msgstr "Ryhmät" + +#. module: note +#: view:note.note:0 +#: field:note.note,stage_id:0 +msgid "Stage" +msgstr "Vaihe" + +#. module: note +#: field:note.tag,name:0 +msgid "Tag Name" +msgstr "Tunnisteen nimi" + +#. module: note +#: field:note.note,message_ids:0 +msgid "Messages" +msgstr "Viestit" + +#. module: note +#: view:base.config.settings:0 +#: model:ir.actions.act_window,name:note.action_note_note +#: model:ir.ui.menu,name:note.menu_note_notes +#: view:note.note:0 +#: model:note.stage,name:note.note_stage_04 +msgid "Notes" +msgstr "Muistiinpanot" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_03 +#: model:note.stage,name:note.note_stage_03 +msgid "Later" +msgstr "Myöhemmin" + +#. module: note +#: model:ir.model,name:note.model_note_stage +msgid "Note Stage" +msgstr "Muistiinpanon vaihe" + +#. module: note +#: field:note.note,message_summary:0 +msgid "Summary" +msgstr "Yhteenveto" + +#. module: note +#: field:note.note,stage_ids:0 +msgid "Stages of Users" +msgstr "Käyttäjien vaiheet" + +#. module: note +#: field:note.note,name:0 +msgid "Note Summary" +msgstr "Muistiinpanon yhteenveto" + +#. module: note +#: model:ir.actions.act_window,name:note.action_note_stage +#: view:note.note:0 +msgid "Stages" +msgstr "Vaiheet" + +#. module: note +#: help:note.note,message_ids:0 +msgid "Messages and communication history" +msgstr "Viesti- ja kommunikointihistoria" + +#. module: note +#: view:note.note:0 +msgid "Delete" +msgstr "Poista" + +#. module: note +#: field:note.note,color:0 +msgid "Color Index" +msgstr "Väri-indeksi" + +#. module: note +#: field:note.note,sequence:0 +#: field:note.stage,sequence:0 +msgid "Sequence" +msgstr "Järjestysluku" + +#. module: note +#: view:note.note:0 +#: field:note.note,tag_ids:0 +msgid "Tags" +msgstr "Tunnisteet" + +#. module: note +#: view:note.note:0 +msgid "Archive" +msgstr "Arkisto" + +#. module: note +#: field:base.config.settings,module_note_pad:0 +msgid "Use collaborative pads (etherpad)" +msgstr "Käytä yhteistyöhön tauluja (Etherpad)" + +#. module: note +#: help:note.note,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" +"Sisältää viestien yhteenvedon (viestien määrän,...). Tämä yhteenveto on " +"valmiiksi html-muodossa, jotta se voidaan viedä kanban näkymään." + +#. module: note +#: field:base.config.settings,group_note_fancy:0 +msgid "Use fancy layouts for notes" +msgstr "" + +#. module: note +#: field:note.note,current_partner_id:0 +#: field:note.stage,user_id:0 +msgid "Owner" +msgstr "Omistaja" + +#. module: note +#: help:note.stage,sequence:0 +msgid "Used to order the note stages" +msgstr "Käytetään järjestämään muistiinpanon vaiheet" + +#. module: note +#: field:note.note,date_done:0 +msgid "Date done" +msgstr "Valmis pvm." + +#. module: note +#: field:note.stage,fold:0 +msgid "Folded by Default" +msgstr "Tyhjää ei näytetä"