diff --git a/addons/account/account_unit_test.xml b/addons/account/account_unit_test.xml
index 7795c2700cc..5fb1c55b669 100644
--- a/addons/account/account_unit_test.xml
+++ b/addons/account/account_unit_test.xml
@@ -8,7 +8,7 @@
draft
- out_invoice
+ in_invoice
Test invoice 1
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 60821c2b454..790f34a4f7f 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1211,6 +1211,7 @@
account.move.line
+ tree
diff --git a/addons/account/product_view.xml b/addons/account/product_view.xml
index 2c540cb6ee6..73b31bbb02a 100644
--- a/addons/account/product_view.xml
+++ b/addons/account/product_view.xml
@@ -11,12 +11,16 @@
-
-
+
+
-
-
+
+
@@ -31,12 +35,16 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml
index 103344daa3a..8a5b1978ecb 100644
--- a/addons/account/res_config_view.xml
+++ b/addons/account/res_config_view.xml
@@ -234,14 +234,14 @@
-
+
-
+
diff --git a/addons/account_anglo_saxon/product_view.xml b/addons/account_anglo_saxon/product_view.xml
index 43029616c5b..c06decf2c92 100644
--- a/addons/account_anglo_saxon/product_view.xml
+++ b/addons/account_anglo_saxon/product_view.xml
@@ -6,11 +6,11 @@
product.product
-
+
-
+
@@ -19,10 +19,10 @@
product.template
-
+
-
+
diff --git a/addons/auth_oauth/__openerp__.py b/addons/auth_oauth/__openerp__.py
index c81f52663c4..76f15687eb9 100644
--- a/addons/auth_oauth/__openerp__.py
+++ b/addons/auth_oauth/__openerp__.py
@@ -33,17 +33,13 @@ Allow users to login through OAuth2 Provider.
'website': 'http://www.openerp.com',
'depends': ['base', 'web', 'base_setup'],
'data': [
+ 'res_users.xml',
'auth_oauth_data.xml',
'auth_oauth_data.yml',
'auth_oauth_view.xml',
- 'security/ir.model.access.csv'
+ 'security/ir.model.access.csv',
+ 'views/auth_oauth_login.xml',
],
- 'js': ['static/src/js/auth_oauth.js'],
- 'css': [
- 'static/lib/zocial/css/zocial.css',
- 'static/src/css/auth_oauth.css',
- ],
- 'qweb': ['static/src/xml/auth_oauth.xml'],
'installable': True,
'auto_install': False,
}
diff --git a/addons/auth_oauth/auth_oauth_data.xml b/addons/auth_oauth/auth_oauth_data.xml
index 983549f9378..6abdab41b7c 100644
--- a/addons/auth_oauth/auth_oauth_data.xml
+++ b/addons/auth_oauth/auth_oauth_data.xml
@@ -17,7 +17,7 @@
https://graph.facebook.com/me/permissions
-
zocial facebook
+
fa fa-facebook-square
Log in with facebook
@@ -26,7 +26,7 @@
https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/oauth2/v1/tokeninfo
https://www.googleapis.com/oauth2/v1/userinfo
- zocial google
+ fa fa-google-plus-square
Log in with google
diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py
index af8b36d2556..e660fd8363b 100644
--- a/addons/auth_oauth/controllers/main.py
+++ b/addons/auth_oauth/controllers/main.py
@@ -8,9 +8,10 @@ from werkzeug.exceptions import BadRequest
import openerp
from openerp import SUPERUSER_ID
from openerp import http
-from openerp.http import request
+from openerp.http import request, LazyResponse
from openerp.addons.web.controllers.main import db_monodb, set_cookie_and_redirect, login_and_redirect
from openerp.modules.registry import RegistryManager
+from openerp.tools.translate import _
_logger = logging.getLogger(__name__)
@@ -34,22 +35,60 @@ def fragment_to_query_string(func):
return func(self, *a, **kw)
return wrapper
-
#----------------------------------------------------------
# Controller
#----------------------------------------------------------
-class OAuthController(http.Controller):
-
- @http.route('/auth_oauth/list_providers', type='json', auth='none')
- def list_providers(self, dbname):
+class OAuthLogin(openerp.addons.web.controllers.main.Home):
+ def list_providers(self):
try:
- registry = RegistryManager.get(dbname)
- with registry.cursor() as cr:
- providers = registry.get('auth.oauth.provider')
- l = providers.read(cr, SUPERUSER_ID, providers.search(cr, SUPERUSER_ID, [('enabled', '=', True)]))
+ provider_obj = request.registry.get('auth.oauth.provider')
+ providers = provider_obj.search_read(request.cr, SUPERUSER_ID, [('enabled', '=', True)])
except Exception:
- l = []
- return l
+ providers = []
+ for provider in providers:
+ return_url = request.httprequest.url_root + 'auth_oauth/signin'
+ state = self.get_state(provider)
+ params = dict(
+ debug=request.debug,
+ response_type='token',
+ client_id=provider['client_id'],
+ redirect_uri=return_url,
+ scope=provider['scope'],
+ state=simplejson.dumps(state),
+ )
+ provider['auth_link'] = provider['auth_endpoint'] + '?' + werkzeug.url_encode(params)
+
+ return providers
+
+ def get_state(self, provider):
+ return dict(
+ d=request.session.db,
+ p=provider['id']
+ )
+
+ @http.route()
+ def web_login(self, *args, **kw):
+ providers = self.list_providers()
+
+ response = super(OAuthLogin, self).web_login(*args, **kw)
+ if isinstance(response, LazyResponse):
+ error = request.params.get('oauth_error')
+ if error == '1':
+ error = _("Sign up is not allowed on this database.")
+ elif error == '2':
+ error = _("Access Denied")
+ elif error == '3':
+ error = _("You do not have access to this database or your invitation has expired. Please ask for an invitation and be sure to follow the link in your invitation email.")
+ else:
+ error = None
+
+ response.params['values']['providers'] = providers
+ if error:
+ response.params['values']['error'] = error
+
+ return response
+
+class OAuthController(http.Controller):
@http.route('/auth_oauth/signin', type='http', auth='none')
@fragment_to_query_string
@@ -66,27 +105,27 @@ class OAuthController(http.Controller):
cr.commit()
action = state.get('a')
menu = state.get('m')
- url = '/'
+ url = '/web'
if action:
- url = '/#action=%s' % action
+ url = '/web#action=%s' % action
elif menu:
- url = '/#menu_id=%s' % menu
+ url = '/web#menu_id=%s' % menu
return login_and_redirect(*credentials, redirect_url=url)
except AttributeError:
# auth_signup is not installed
_logger.error("auth_signup not installed on database %s: oauth sign up cancelled." % (dbname,))
- url = "/#action=login&oauth_error=1"
+ url = "/web/login?oauth_error=1"
except openerp.exceptions.AccessDenied:
# oauth credentials not valid, user could be on a temporary session
_logger.info('OAuth2: access denied, redirect to main page in case a valid session exists, without setting cookies')
- url = "/#action=login&oauth_error=3"
+ url = "/web/login?oauth_error=3"
redirect = werkzeug.utils.redirect(url, 303)
redirect.autocorrect_location_header = False
return redirect
except Exception, e:
# signup error
_logger.exception("OAuth2: %s" % str(e))
- url = "/#action=login&oauth_error=2"
+ url = "/web/login?oauth_error=2"
return set_cookie_and_redirect(url)
@@ -105,7 +144,7 @@ class OAuthController(http.Controller):
try:
model, provider_id = IMD.get_object_reference(cr, SUPERUSER_ID, 'auth_oauth', 'provider_openerp')
except ValueError:
- return set_cookie_and_redirect('/?db=%s' % dbname)
+ return set_cookie_and_redirect('/web?db=%s' % dbname)
assert model == 'auth.oauth.provider'
state = {
diff --git a/addons/auth_oauth/res_users.py b/addons/auth_oauth/res_users.py
index b1c7e214f12..f58473b24a4 100644
--- a/addons/auth_oauth/res_users.py
+++ b/addons/auth_oauth/res_users.py
@@ -1,6 +1,6 @@
import logging
-import urllib
+import werkzeug.urls
import urlparse
import urllib2
import simplejson
@@ -25,7 +25,7 @@ class res_users(osv.Model):
]
def _auth_oauth_rpc(self, cr, uid, endpoint, access_token, context=None):
- params = urllib.urlencode({'access_token': access_token})
+ params = werkzeug.url_encode({'access_token': access_token})
if urlparse.urlparse(endpoint)[4]:
url = endpoint + '&' + params
else:
diff --git a/addons/auth_oauth/res_users.xml b/addons/auth_oauth/res_users.xml
index 995dbfbd52a..feae1b16138 100644
--- a/addons/auth_oauth/res_users.xml
+++ b/addons/auth_oauth/res_users.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/addons/auth_oauth/static/lib/zocial/README.md b/addons/auth_oauth/static/lib/zocial/README.md
deleted file mode 100644
index 213132677af..00000000000
--- a/addons/auth_oauth/static/lib/zocial/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Zocial CSS social buttons
-
-I basically rewrote this entire set so they are full vector buttons, meaning:
-
-- @font-face icons
-- custom font file for all social icons
-- icon font use private unicode spaces for accessibility
-- em sizing based on button font-size
-- support for about 83 different services
-- buttons and icons supported
-- no raster images (sweet)
-- works splendidly on any browser supporting @font-face
-- CSS3 degrades gracefully in IE8 and below etc.
-- also includes generic icon-less primary and secondary buttons
-
-## How to use these buttons
-
- Button label here
-
-or
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/addons/auth_oauth/static/lib/zocial/css/zocial-regular-webfont.ttf b/addons/auth_oauth/static/lib/zocial/css/zocial-regular-webfont.ttf
deleted file mode 100644
index 94809d3a57f..00000000000
Binary files a/addons/auth_oauth/static/lib/zocial/css/zocial-regular-webfont.ttf and /dev/null differ
diff --git a/addons/auth_oauth/static/lib/zocial/css/zocial-regular-webfont.woff b/addons/auth_oauth/static/lib/zocial/css/zocial-regular-webfont.woff
deleted file mode 100644
index 1d6c4abc9d9..00000000000
Binary files a/addons/auth_oauth/static/lib/zocial/css/zocial-regular-webfont.woff and /dev/null differ
diff --git a/addons/auth_oauth/static/lib/zocial/css/zocial.css b/addons/auth_oauth/static/lib/zocial/css/zocial.css
deleted file mode 100644
index 89fc7450631..00000000000
--- a/addons/auth_oauth/static/lib/zocial/css/zocial.css
+++ /dev/null
@@ -1,420 +0,0 @@
-@charset "UTF-8";
-
-/*!
-Code written by Sam Collins (@smcllns) of www.eventasaur.us
-You are free to use this work commercially
-You are free to extend this work without permissions from the author (just do so tastefully eh?)
-Enjoy
-*/
-
-/* Reference icons from font-files */
-
-@font-face {
- font-family: 'zocial';
- font-style: normal;
- font-weight: normal;
- src: url('zocial-regular-webfont.eot');
- src: url('zocial-regular-webfont.eot?#iefix') format('embedded-opentype'),
- url('zocial-regular-webfont.woff') format('woff'),
- url('zocial-regular-webfont.ttf') format('truetype'),
- url('zocial-regular-webfont.svg#ZocialRegular') format('svg');
- unicode-range: U+0-U+10FFFF;
-}
-
-/* Button structure */
-
-.zocial,
-a.zocial {
- border: 1px solid #777;
- border-color: rgba(0,0,0,0.2);
- border-bottom-color: #333;
- border-bottom-color: rgba(0,0,0,0.4);
- color: #fff;
- -moz-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.4), inset 0 0 0.1em rgba(255,255,255,0.9);
- -webkit-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.4), inset 0 0 0.1em rgba(255,255,255,0.9);
- box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.4), inset 0 0 0.1em rgba(255,255,255,0.9);
- cursor: pointer;
- display: inline-block;
- font: bold 100%/2.1 "Lucida Grande", Tahoma, sans-serif;
- padding: 0 .95em 0 0;
- text-align: center;
- text-decoration: none;
- text-shadow: 0 1px 0 rgba(0,0,0,0.5);
- white-space: nowrap;
-
- -moz-user-select: none;
- -webkit-user-select: none;
- user-select: none;
-
- position: relative;
-
- -moz-border-radius: .3em;
- -webkit-border-radius: .3em;
- border-radius: .3em;
-}
-
-.zocial:before {
- content: "";
- border-right: 0.075em solid rgba(0,0,0,0.1);
- float: left;
- font: 120%/1.65 zocial;
- font-style: normal;
- font-weight: normal;
- margin: 0 0.5em 0 0;
- padding: 0 0.5em;
- text-align: center;
- text-decoration: none;
- text-transform: none;
-
- -moz-box-shadow: 0.075em 0 0 rgba(255,255,255,0.25);
- -webkit-box-shadow: 0.075em 0 0 rgba(255,255,255,0.25);
- box-shadow: 0.075em 0 0 rgba(255,255,255,0.25);
-
- -webkit-font-smoothing: antialiased;
-}
-
-.zocial:active {
- outline: none; /* outline is visible on :focus */
-}
-
-/* Buttons can be displayed as standalone icons by adding a class of "icon" */
-
-.zocial.icon {
- overflow: hidden;
- max-width: 2.4em;
- padding-left: 0;
- padding-right: 0;
- max-height: 2.15em;
- white-space: nowrap;
-}
-.zocial.icon:before {
- padding: 0;
- width: 2em;
- height: 2em;
-
- box-shadow: none;
- border: none;
-}
-
-/* Gradients */
-
-.zocial {
- background-image: -moz-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
- background-image: -ms-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
- background-image: -o-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.1)), color-stop(49%, rgba(255,255,255,.05)), color-stop(51%, rgba(0,0,0,.05)), to(rgba(0,0,0,.1)));
- background-image: -webkit-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
- background-image: linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
-}
-
-.zocial:hover, .zocial:focus {
- background-image: -moz-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
- background-image: -ms-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
- background-image: -o-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.15)), color-stop(49%, rgba(255,255,255,.15)), color-stop(51%, rgba(0,0,0,.1)), to(rgba(0,0,0,.15)));
- background-image: -webkit-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
- background-image: linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
-}
-
-.zocial:active {
- background-image: -moz-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
- background-image: -ms-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
- background-image: -o-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.1)), color-stop(30%, rgba(255,255,255,0)), color-stop(50%, transparent), to(rgba(0,0,0,.1)));
- background-image: -webkit-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
- background-image: linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
-}
-
-/* Adjustments for light background buttons */
-
-.zocial.bitcoin,
-.zocial.cloudapp,
-.zocial.dropbox,
-.zocial.email,
-.zocial.eventful,
-.zocial.github,
-.zocial.gmail,
-.zocial.instapaper,
-.zocial.itunes,
-.zocial.ninetyninedesigns,
-.zocial.openid,
-.zocial.plancast,
-.zocial.posterous,
-.zocial.reddit,
-.zocial.secondary,
-.zocial.viadeo,
-.zocial.weibo,
-.zocial.wikipedia {
- border: 1px solid #aaa;
- border-color: rgba(0,0,0,0.3);
- border-bottom-color: #777;
- border-bottom-color: rgba(0,0,0,0.5);
- -moz-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.7), inset 0 0 0.08em rgba(255,255,255,0.5);
- -webkit-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.7), inset 0 0 0.08em rgba(255,255,255,0.5);
- box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.7), inset 0 0 0.08em rgba(255,255,255,0.5);
- text-shadow: 0 1px 0 rgba(255,255,255,0.8);
-}
-
-/* :hover adjustments for light background buttons */
-
-.zocial.bitcoin:focus,
-.zocial.bitcoin:hover,
-.zocial.dropbox:focus,
-.zocial.dropbox:hover,
-.zocial.email:focus,
-.zocial.email:hover,
-.zocial.eventful:focus,
-.zocial.eventful:hover,
-.zocial.github:focus,
-.zocial.github:hover,
-.zocial.gmail:focus,
-.zocial.gmail:hover,
-.zocial.instapaper:focus,
-.zocial.instapaper:hover,
-.zocial.itunes:focus,
-.zocial.itunes:hover,
-.zocial.ninetyninedesigns:focus,
-.zocial.ninetyninedesigns:hover,
-.zocial.openid:focus,
-.zocial.openid:hover,
-.zocial.plancast:focus,
-.zocial.plancast:hover,
-.zocial.posterous:focus,
-.zocial.posterous:hover,
-.zocial.reddit:focus,
-.zocial.reddit:hover,
-.zocial.secondary:focus,
-.zocial.secondary:hover,
-.zocial.twitter:focus,
-.zocial.viadeo:focus,
-.zocial.viadeo:hover,
-.zocial.weibo:focus,
-.zocial.weibo:hover,
-.zocial.wikipedia:focus,
-.zocial.wikipedia:hover {
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0.5)), color-stop(49%, rgba(255,255,255,0.2)), color-stop(51%, rgba(0,0,0,0.05)), to(rgba(0,0,0,0.15)));
- background-image: -moz-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
- background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
- background-image: -o-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
- background-image: -ms-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
- background-image: linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
-}
-
-/* :active adjustments for light background buttons */
-
-.zocial.bitcoin:active,
-.zocial.dropbox:active,
-.zocial.email:active,
-.zocial.eventful:active,
-.zocial.github:active,
-.zocial.gmail:active,
-.zocial.instapaper:active,
-.zocial.itunes:active,
-.zocial.ninetyninedesigns:active,
-.zocial.openid:active,
-.zocial.plancast:active,
-.zocial.posterous:active,
-.zocial.reddit:active,
-.zocial.secondary:active,
-.zocial.viadeo:active,
-.zocial.weibo:active,
-.zocial.wikipedia:active {
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)), color-stop(30%, rgba(255,255,255,0)), color-stop(50%, rgba(0,0,0,0)), to(rgba(0,0,0,0.1)));
- background-image: -moz-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
- background-image: -webkit-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
- background-image: -o-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
- background-image: -ms-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
- background-image: linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
-}
-
-/* Button icon and color */
-/* Icon characters are stored in unicode private area */
-.zocial.amazon:before {content: "\E040";}
-.zocial.android:before {content: "\E005";}
-.zocial.angellist:before {content: "\E06C";}
-.zocial.aol:before {content: "\E001";}
-.zocial.appstore:before {content: "\E020";}
-.zocial.bitcoin:before {content: "\E011"; color: #f7931a;}
-.zocial.blogger:before {content: "\E021";}
-.zocial.call:before {content: "\E016";}
-.zocial.cal:before {content: "\E00D";}
-.zocial.cart:before {content: "\E06A";}
-.zocial.chrome:before {content: "\E03A";}
-.zocial.cloudapp:before {content: "\E042";}
-.zocial.creativecommons:before {content: "\E022";}
-.zocial.delicious:before {content: "\E002";}
-.zocial.digg:before {content: "\E01A";}
-.zocial.disqus:before {content: "\E030";}
-.zocial.dribbble:before {content: "\E023";}
-.zocial.dropbox:before {content: "\E043"; color: #1f75cc;}
-.zocial.email:before {content: "\E03C"; color: #312c2a;}
-.zocial.eventasaurus:before {content: "\E055"; color: #9de428;}
-.zocial.eventbrite:before {content: "\E05B";}
-.zocial.eventful:before {content: "\E006"; color: #0066CC;}
-.zocial.evernote:before {content: "\E024";}
-.zocial.facebook:before {content: "\E045";}
-.zocial.fivehundredpx:before {content: "\E00F"; color: #29b6ff;}
-.zocial.flattr:before {content: "\E004";}
-.zocial.flickr:before {content: "\E025";}
-.zocial.forrst:before {content: "\E019"; color: #50894f;}
-.zocial.foursquare:before {content: "\E013";}
-.zocial.github:before {content: "\E046";}
-.zocial.gmail:before {content: "\E04C"; color: #f00;}
-.zocial.google:before {content: "\E026";}
-.zocial.googleplay:before {content: "\E05E";}
-.zocial.googleplus:before {content: "\E00A";}
-.zocial.gowalla:before {content: "\E01F";}
-.zocial.grooveshark:before {content: "\E017";}
-.zocial.guest:before {content: "\E01E";}
-.zocial.html5:before {content: "\E014";}
-.zocial.ie:before {content: "\E015";}
-.zocial.instagram:before {content: "\E06D";}
-.zocial.instapaper:before {content: "\E028";}
-.zocial.intensedebate:before {content: "\E05A";}
-.zocial.itunes:before {content: "\E048"; color: #1a6dd2;}
-.zocial.klout:before {content: "\E02A"; }
-.zocial.lanyrd:before {content: "\E00C";}
-.zocial.lastfm:before {content: "\E04B";}
-.zocial.linkedin:before {content: "\E02B";}
-.zocial.macstore:before {content: "\E03D";}
-.zocial.meetup:before {content: "\E02C";}
-.zocial.myspace:before {content: "\E03E";}
-.zocial.ninetyninedesigns:before {content: "\E018"; color: #f50;}
-.zocial.openid:before {content: "\E04E"; color: #ff921d;}
-.zocial.opentable:before {content: "\E05F";}
-.zocial.paypal:before {content: "\E003";}
-.zocial.pinboard:before {content: "\E04D";}
-.zocial.pinterest:before {content: "\E010";}
-.zocial.plancast:before {content: "\E02F";}
-.zocial.plurk:before {content: "\E049";}
-.zocial.podcast:before {content: "\E03F";}
-.zocial.posterous:before {content: "\E05D";}
-.zocial.print:before {content: "\E06B";}
-.zocial.quora:before {content: "\E050";}
-.zocial.reddit:before {content: "\E01D"; color: red;}
-.zocial.rss:before {content: "\E031";}
-.zocial.scribd:before {content: "\E05C"; color: #00d5ea;}
-.zocial.skype:before {content: "\E032";}
-.zocial.smashing:before {content: "\E009";}
-.zocial.songkick:before {content: "\E04A";}
-.zocial.soundcloud:before {content: "\E052";}
-.zocial.spotify:before {content: "\E01C";}
-.zocial.stumbleupon:before {content: "\E00E";}
-.zocial.tumblr:before {content: "\E053";}
-.zocial.twitter:before {content: "\E033";}
-.zocial.viadeo:before {content: "\E027"; color: #f59b20;}
-.zocial.vimeo:before {content: "\E035";}
-.zocial.weibo:before {content: "\E029"; color: #e6162d;}
-.zocial.wikipedia:before {content: "\E00B";}
-.zocial.windows:before {content: "\E036";}
-.zocial.xing:before {content: "\E037"}
-.zocial.wordpress:before {content: "\E056";}
-.zocial.yahoo:before {content: "\E038";}
-.zocial.yelp:before {content: "\E058";}
-.zocial.youtube:before {content: "\E034";}
-
-/* Button background and text color */
-
-.zocial.amazon {background-color: #ffad1d; color: #030037; text-shadow: 0 1px 0 rgba(255,255,255,0.5);}
-.zocial.android {background-color: #a4c639;}
-.zocial.angellist {background-color: #000;}
-.zocial.aol {background-color: #f00;}
-.zocial.appstore {background-color: #000;}
-.zocial.bitcoin {background-color: #efefef; color: #4d4d4d;}
-.zocial.blogger {background-color: #ee5a22;}
-.zocial.call {background-color: #008000;}
-.zocial.cal {background-color: #d63538;}
-.zocial.cart {background-color: #333;}
-.zocial.chrome {background-color: #006cd4;}
-.zocial.cloudapp {background-color: #fff; color: #312c2a;}
-.zocial.creativecommons {background-color: #000;}
-.zocial.delicious {background-color: #3271cb;}
-.zocial.digg {background-color: #164673;}
-.zocial.disqus {background-color: #5d8aad;}
-.zocial.dribbble {background-color: #ea4c89;}
-.zocial.dropbox {background-color: #fff; color: #312c2a;}
-.zocial.email {background-color: #f0f0eb; color: #312c2a;}
-.zocial.eventasaurus {background-color: #192931; color: #fff;}
-.zocial.eventbrite {background-color: #ff5616;}
-.zocial.eventful {background-color: #fff; color: #47ab15;}
-.zocial.evernote {background-color: #6bb130; color: #fff;}
-.zocial.facebook {background-color: #4863ae;}
-.zocial.fivehundredpx {background-color: #333;}
-.zocial.flattr {background-color: #8aba42;}
-.zocial.flickr {background-color: #ff0084;}
-.zocial.forrst {background-color: #1e360d;}
-.zocial.foursquare {background-color: #44a8e0;}
-.zocial.github {background-color: #fbfbfb; color: #050505;}
-.zocial.gmail {background-color: #efefef; color: #222;}
-.zocial.google {background-color: #4e6cf7;}
-.zocial.googleplay {background-color: #000;}
-.zocial.googleplus {background-color: #dd4b39;}
-.zocial.gowalla {background-color: #ff720a;}
-.zocial.grooveshark {background-color: #111; color:#eee;}
-.zocial.guest {background-color: #1b4d6d;}
-.zocial.html5 {background-color: #ff3617;}
-.zocial.ie {background-color: #00a1d9;}
-.zocial.instapaper {background-color: #eee; color: #222;}
-.zocial.instagram {background-color: #3f729b;}
-.zocial.intensedebate {background-color: #0099e1;}
-.zocial.klout {background-color: #e34a25;}
-.zocial.itunes {background-color: #efefeb; color: #312c2a;}
-.zocial.lanyrd {background-color: #2e6ac2;}
-.zocial.lastfm {background-color: #dc1a23;}
-.zocial.linkedin {background-color: #0083a8;}
-.zocial.macstore {background-color: #007dcb}
-.zocial.meetup {background-color: #ff0026;}
-.zocial.myspace {background-color: #000;}
-.zocial.ninetyninedesigns {background-color: #fff; color: #072243;}
-.zocial.openid {background-color: #f5f5f5; color: #333;}
-.zocial.opentable {background-color: #990000;}
-.zocial.paypal {background-color: #fff; color: #32689a; text-shadow: 0 1px 0 rgba(255,255,255,0.5);}
-.zocial.pinboard {background-color: blue;}
-.zocial.pinterest {background-color: #c91618;}
-.zocial.plancast {background-color: #e7ebed; color: #333;}
-.zocial.plurk {background-color: #cf682f;}
-.zocial.podcast {background-color: #9365ce;}
-.zocial.posterous {background-color: #ffd959; color: #bc7134;}
-.zocial.print {background-color: #f0f0eb; color: #222; text-shadow: 0 1px 0 rgba(255,255,255,0.8);}
-.zocial.quora {background-color: #a82400;}
-.zocial.reddit {background-color: #fff; color: #222;}
-.zocial.rss {background-color: #ff7f25;}
-.zocial.scribd {background-color: #231c1a;}
-.zocial.skype {background-color: #00a2ed;}
-.zocial.smashing {background-color: #ff4f27;}
-.zocial.songkick {background-color: #ff0050;}
-.zocial.soundcloud {background-color: #ff4500;}
-.zocial.spotify {background-color: #60af00;}
-.zocial.stumbleupon {background-color: #eb4924;}
-.zocial.tumblr {background-color: #374a61;}
-.zocial.twitter {background-color: #46c0fb;}
-.zocial.viadeo {background-color: #fff; color: #000;}
-.zocial.vimeo {background-color: #00a2cd;}
-.zocial.weibo {background-color: #faf6f1; color: #000;}
-.zocial.wikipedia {background-color: #fff; color: #000;}
-.zocial.windows {background-color: #0052a4; color: #fff;}
-.zocial.wordpress {background-color: #464646;}
-.zocial.xing {background-color: #0A5D5E;}
-.zocial.yahoo {background-color: #a200c2;}
-.zocial.yelp {background-color: #e60010;}
-.zocial.youtube {background-color: #f00;}
-
-/*
-The Miscellaneous Buttons
-These button have no icons and can be general purpose buttons while ensuring consistent button style
-Credit to @guillermovs for suggesting
-*/
-
-.zocial.primary, .zocial.secondary {margin: 0.1em 0; padding: 0 1em;}
-.zocial.primary:before, .zocial.secondary:before {display: none;}
-.zocial.primary {background-color: #333;}
-.zocial.secondary {background-color: #f0f0eb; color: #222; text-shadow: 0 1px 0 rgba(255,255,255,0.8);}
-
-/* Any browser-specific adjustments */
-
-button:-moz-focus-inner {
- border: 0;
- padding: 0;
-}
-
-
diff --git a/addons/auth_oauth/static/lib/zocial/sample.html b/addons/auth_oauth/static/lib/zocial/sample.html
deleted file mode 100644
index 98dec554ff1..00000000000
--- a/addons/auth_oauth/static/lib/zocial/sample.html
+++ /dev/null
@@ -1,265 +0,0 @@
-
-
-
-
- Zocial CSS3 Buttons
-
-
-
-
-
-
-
-
-
-
- The Popular Kids
- Sign in with Facebook
- Sign in with Google+
-
- Sign in with LinkedIn
-
- The Cool Kids
- Sync with Dropbox
- Clip to Evernote
- Follow me on Forrst
- Sign in with Dribbble
- Sign in to CloudApp
- Fork me on Github
- Play on Spotify
- Read It Later
- Follow me on Soundcloud
- Follow me on Tumblr
- Read on Smashing Magazine
- Available on iTunes
- Available on the App Store
- Available on the Mac App Store
- Available on Android Market
- Follow me on Pinterest
- Follow me on Quora
- Attend on Lanyrd
-
- The Not-So-Cool But Have-To-Be-Invited Kids
- Pay with Paypal
- Sign in with Amazon
- Call me on Skype
- Sign in with Last.fm
- Write a review on Yelp
- Check in with foursquare
- Influence with Klout
-
- The Older (but Solid) Kids
- View on Wikipedia
-
- Sign in with IntenseDebate
- Sign in with Google
- Sign in with Gmail
- Upload to Vimeo
- Read more on Scribd
- Subscribe on YouTube
- Sign in with WordPress
- Sign in with Songkick
- Sign in with Posterous
- Sign in with Eventbrite
- Tip with Flattr
- Follow me on Plancast
-
-
- The Kids That Kinda Smell but Some People Don't Mind
- Submit resume for CEO
- Download Internet Explorer 5
- Report bugs with Meetup.com
- Learn how-to-use OpenID
- Register now for HTML6
- Chat with your parents
-
- The Kids That Nobody Normally Notices
- Sign in as guest
- View Creative Commons Licence
-
- Add to Chrome
-
- The He's-My-Son-So-Of-Course-He's-Here Kid
- Sign up for Eventasaurus
-
- Kids By Request
- Join me on Weibo
- Sign in with Plurk
- Play on Grooveshark
- Post on Blogger
- Sign in with Viadeo
- Subscribe to this Podcast
- View Portfolio on 500px
- Bitcoin accepted here
- View Portfolio on 99Designs
- Bookmark with Pinboard
- Stumble!
- Find me on Myspace
- Sign in with Windows Live
- Find Events with Eventful
- Sign in with Xing
- Upload to Flickr
- Sign in with Del.icio.us
- Download from Google Play
- Reserve with OpenTable
- Digg this
- Share on Reddit
- Fund us on AngelList
- Sign-in with Instagram
-
- The Multi-Purpose Kids (Credit: Pictos Icons )
-
- Call a phone
- Send a message
- Add to calendar
- Add to cart
- Print this page
- Primary action
- Secondary action
-
-
- Icon versions of the above
- Sign in with Facebook
- Sign in with Google+
-
- Sign in with Google
- Sign in with LinkedIn
- Pay with Paypal
- Sign in with Amazon
- Sync with Dropbox
- Clip to Evernote
- Call me on Skype
- Sign in as guest
- Play on Spotify
- Sign in with Last.fm
- Sign in with Songkick
- Follow me on Forrst
- Sign in with Dribbble
- Sign in to CloudApp
- Fork me on Github
- Follow me on Pinterest
- Follow me on Quora
- Bookmark with Pinboard
- Attend on Lanyrd
- Download on iTunes
- Download on Android
-
- Sign in with Yahoo
- Upload to Vimeo
- Add to Chrome
- Get a new browser
- Made from HTML5
- Read It Later
- Read more on Scribd
- View on Wikipedia
- Tip with Flattr
- Follow me on Tumblr
- Subscribe to my Posterous
- Check in with Gowalla
- Check in with foursquare
- Write a review on Yelp
- Follow me on Soundcloud
- Read on Smashing Magazine
- Sign in with WordPress
- Sign in with IntenseDebate
- Sign in with OpenID
- Sign in with Gmail
- Sign in with Eventbrite
- Sign in with Eventasaurus
- Sign in with Meetup.com
- Sign in with AIM
- Follow me on Plancast
- Subscribe on YouTube
- Available on the Mac App Store
- View Creative Commons Licence
-
- Follow me on Weibo
- Follow me on Plurk
- Follow me on Grooveshark
- Post on Blogger
- Sign in with Viadeo
- Subscribe to this Podcast
- View Portfolio on 500px
- Bitcoin accepted here
- View Portfolio on 99Designs
- Stumble!
- Download on iTunes
- Find me on Myspace
- Sign in with Windows Live
- Find Events with Eventful
- Influence with Klout
- Sign in with Xing
- Upload to Flickr
- Sign in with Del.icio.us
- Download from Google Play
- Reserve with OpenTable
- Digg this
- Share on Reddit
- Fund us on AngelList
- Sign-in with Instagram
- Call a phone
- Send a message
- Add to calendar
- Print this page
- Add to cart
-
-
-
- Thanks to @guillermovs , @kamens , @vizualover , and @leaverou for code refinements and suggestions.
-
- Massive thanks to @drewwilson for making the multi-purpose buttons possible with his incredible Pictos icons .
-
- See code samples at zocial.smcllns.com — ask questions to @smcllns
-
-
-
-
-
-
-
-
diff --git a/addons/auth_oauth/static/src/css/auth_oauth.css b/addons/auth_oauth/static/src/css/auth_oauth.css
deleted file mode 100644
index 0489229042a..00000000000
--- a/addons/auth_oauth/static/src/css/auth_oauth.css
+++ /dev/null
@@ -1,34 +0,0 @@
-.openerp .oe_application .zocial {
- font: white;
-}
-
-.openerp .zocial.openerp:before {
- content: "\E02E";
- font-style: italic;
- text-shadow: 0 1px 1px black;
-}
-
-.openerp a.zocial.openerp {
- border: 1px solid #222222;
- color: white;
- margin: 0;
- background-color: #b92020;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
- background-image: -webkit-linear-gradient(top, #b92020, #600606);
- background-image: -moz-linear-gradient(top, #b92020, #600606);
- background-image: -ms-linear-gradient(top, #b92020, #600606);
- background-image: -o-linear-gradient(top, #b92020, #600606);
- background-image: linear-gradient(to bottom, #b92020, #600606);
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
- text-shadow: none;
- font-weight: normal;
-}
-
-.openerp .oe_login .oe_oauth_provider_login_button {
- margin-top: 4px;
-}
diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js
deleted file mode 100644
index 5046469a5dc..00000000000
--- a/addons/auth_oauth/static/src/js/auth_oauth.js
+++ /dev/null
@@ -1,80 +0,0 @@
-openerp.auth_oauth = function(instance) {
- var _t = instance.web._t,
- _lt = instance.web._lt;
- var QWeb = instance.web.qweb;
-
- instance.web.Login.include({
- start: function(parent, params) {
- var self = this;
- var d = this._super.apply(this, arguments);
- this.$el.hide();
- this.$el.on('click', 'a.zocial', this.on_oauth_sign_in);
- this.oauth_providers = [];
- if(this.params.oauth_error === 1) {
- this.do_warn(_t("Sign up error"),_t("Sign up is not allowed on this database."), true);
- } else if(this.params.oauth_error === 2) {
- this.do_warn(_t("Authentication error"),_t("Access Denied"), true);
- } else if(this.params.oauth_error === 3) {
- this.do_warn(_t("Authentication error"),_t("You do not have access to this database or your invitation has expired. Please ask for an invitation and be sure to follow the link in your invitation email."), true);
- }
- return d.done(this.do_oauth_load).fail(function() {
- self.do_oauth_load([]);
- });
- },
- on_db_loaded: function(result) {
- this._super.apply(this, arguments);
- this.$("form [name=db]").change(this.do_oauth_load);
- },
- do_oauth_load: function() {
- var db = this.$("form [name=db]").val();
- if (db) {
- this.rpc("/auth_oauth/list_providers", { dbname: db }).done(this.on_oauth_loaded);
- } else {
- this.$el.show();
- }
- },
- on_oauth_loaded: function(result) {
- this.oauth_providers = result;
- var params = $.deparam($.param.querystring());
- if (this.oauth_providers.length === 1 && params.type === 'signup') {
- this.do_oauth_sign_in(this.oauth_providers[0]);
- } else {
- this.$el.show();
- this.$('.oe_oauth_provider_login_button').remove();
- var buttons = QWeb.render("auth_oauth.Login.button",{"widget":this});
- this.$(".oe_login_pane form ul").after(buttons);
- }
- },
- on_oauth_sign_in: function(ev) {
- ev.preventDefault();
- var index = $(ev.target).data('index');
- var provider = this.oauth_providers[index];
- return this.do_oauth_sign_in(provider);
- },
- do_oauth_sign_in: function(provider) {
- var return_url = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host);
- if (instance.session.debug) {
- return_url += '?debug';
- }
- var state = this._oauth_state(provider);
- var params = {
- response_type: 'token',
- client_id: provider.client_id,
- redirect_uri: return_url,
- scope: provider.scope,
- state: JSON.stringify(state),
- };
- var url = provider.auth_endpoint + '?' + $.param(params);
- instance.web.redirect(url);
- },
- _oauth_state: function(provider) {
- // return the state object sent back with the redirected uri
- var dbname = this.$("form [name=db]").val();
- return {
- d: dbname,
- p: provider.id,
- };
- },
- });
-
-};
diff --git a/addons/auth_oauth/static/src/xml/auth_oauth.xml b/addons/auth_oauth/static/src/xml/auth_oauth.xml
deleted file mode 100644
index 76c71b83f10..00000000000
--- a/addons/auth_oauth/static/src/xml/auth_oauth.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/addons/auth_oauth/views/auth_oauth_login.xml b/addons/auth_oauth/views/auth_oauth_login.xml
new file mode 100644
index 00000000000..f969d2f5eed
--- /dev/null
+++ b/addons/auth_oauth/views/auth_oauth_login.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/auth_oauth_signup/__init__.py b/addons/auth_oauth_signup/__init__.py
index bc40c87d118..7c73af367bd 100644
--- a/addons/auth_oauth_signup/__init__.py
+++ b/addons/auth_oauth_signup/__init__.py
@@ -20,3 +20,4 @@
##############################################################################
import res_users
+import controllers
diff --git a/addons/auth_oauth_signup/__openerp__.py b/addons/auth_oauth_signup/__openerp__.py
index 1e5767065a4..8fc93f6c920 100644
--- a/addons/auth_oauth_signup/__openerp__.py
+++ b/addons/auth_oauth_signup/__openerp__.py
@@ -31,7 +31,7 @@ Allow users to sign up through OAuth2 Provider.
'website': 'http://www.openerp.com',
'depends': ['auth_oauth', 'auth_signup'],
'data': [],
- 'js': ['static/src/js/auth_oauth_signup.js'],
+ 'js': [],
'css': [],
'qweb': [],
'installable': True,
diff --git a/addons/auth_oauth_signup/controllers/__init__.py b/addons/auth_oauth_signup/controllers/__init__.py
new file mode 100644
index 00000000000..e11f9ba81bb
--- /dev/null
+++ b/addons/auth_oauth_signup/controllers/__init__.py
@@ -0,0 +1,3 @@
+import main
+
+# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auth_oauth_signup/controllers/main.py b/addons/auth_oauth_signup/controllers/main.py
new file mode 100644
index 00000000000..0b8ab22cdaa
--- /dev/null
+++ b/addons/auth_oauth_signup/controllers/main.py
@@ -0,0 +1,20 @@
+import openerp
+import werkzeug
+
+from openerp.http import request
+
+class OAuthSignupLogin(openerp.addons.web.controllers.main.Home):
+ def list_providers(self):
+ providers = super(OAuthSignupLogin, self).list_providers()
+ if len(providers) == 1 and request.params.get('mode') == 'signup':
+ werkzeug.exceptions.abort(werkzeug.utils.redirect(providers[0]['auth_link'], 303))
+ return providers
+
+ def get_state(self, provider):
+ state = super(OAuthSignupLogin, self).get_state(provider)
+ token = request.params.get('token')
+ if token:
+ state['t'] = token
+ return state
+
+# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auth_oauth_signup/static/src/js/auth_oauth_signup.js b/addons/auth_oauth_signup/static/src/js/auth_oauth_signup.js
deleted file mode 100644
index 6715943af9b..00000000000
--- a/addons/auth_oauth_signup/static/src/js/auth_oauth_signup.js
+++ /dev/null
@@ -1,14 +0,0 @@
-openerp.auth_oauth_signup = function(instance) {
-
- // override Login._oauth_state to add the signup token in the state
- instance.web.Login.include({
- _oauth_state: function(provider) {
- var state = this._super.apply(this, arguments);
- if (this.params.token) {
- state.t = this.params.token;
- }
- return state;
- },
- });
-
-};
diff --git a/addons/auth_openid/controllers/main.py b/addons/auth_openid/controllers/main.py
index 534d1b01a9c..128be6f7dbe 100644
--- a/addons/auth_openid/controllers/main.py
+++ b/addons/auth_openid/controllers/main.py
@@ -23,7 +23,6 @@ import logging
import os
import tempfile
import getpass
-import urllib
import werkzeug.urls
import werkzeug.exceptions
@@ -79,7 +78,7 @@ class GoogleAppsAwareConsumer(consumer.GenericConsumer):
# update fields
for attr in ['claimed_id', 'identity']:
value = message.getArg(consumer.OPENID2_NS, attr, '')
- value = 'https://www.google.com/accounts/o8/user-xrds?uri=%s' % urllib.quote_plus(value)
+ value = 'https://www.google.com/accounts/o8/user-xrds?uri=%s' % werkzeug.url_quote_plus(value)
message.setArg(consumer.OPENID2_NS, attr, value)
# now, resign the message
diff --git a/addons/auth_openid/static/src/js/auth_openid.js b/addons/auth_openid/static/src/js/auth_openid.js
index ac2804cb130..a96346f4699 100644
--- a/addons/auth_openid/static/src/js/auth_openid.js
+++ b/addons/auth_openid/static/src/js/auth_openid.js
@@ -3,6 +3,7 @@ openerp.auth_openid = function(instance) {
var QWeb = instance.web.qweb;
+/* TODO: make this a server side controller
instance.web.Login = instance.web.Login.extend({
start: function() {
var self = this;
@@ -149,6 +150,7 @@ instance.web.Login = instance.web.Login.extend({
}
});
+*/
};
diff --git a/addons/auth_signup/__openerp__.py b/addons/auth_signup/__openerp__.py
index 08740962c59..50402207018 100644
--- a/addons/auth_signup/__openerp__.py
+++ b/addons/auth_signup/__openerp__.py
@@ -34,13 +34,14 @@ Allow users to sign up and reset their password
'depends': [
'base_setup',
'email_template',
+ 'web',
],
'data': [
'auth_signup_data.xml',
'res_config.xml',
'res_users_view.xml',
+ 'views/auth_signup_login.xml',
],
'js': ['static/src/js/auth_signup.js'],
- 'qweb': ['static/src/xml/auth_signup.xml'],
'bootstrap': True,
}
diff --git a/addons/auth_signup/auth_signup_data.xml b/addons/auth_signup/auth_signup_data.xml
index f153f03237d..f470811d39e 100644
--- a/addons/auth_signup/auth_signup_data.xml
+++ b/addons/auth_signup/auth_signup_data.xml
@@ -10,7 +10,7 @@
-
+
_usertemplate
diff --git a/addons/auth_signup/controllers/main.py b/addons/auth_signup/controllers/main.py
index a778cbcf061..2db1e3dff65 100644
--- a/addons/auth_signup/controllers/main.py
+++ b/addons/auth_signup/controllers/main.py
@@ -21,64 +21,77 @@
import logging
import openerp
+import openerp.addons.web.controllers.main as webmain
+from openerp.addons.auth_signup.res_users import SignupError
from openerp import http
-from openerp.http import request
-from openerp.modules.registry import RegistryManager
-from ..res_users import SignupError
+from openerp.http import request, LazyResponse
+from openerp.tools.translate import _
+from openerp.tools import exception_to_unicode
_logger = logging.getLogger(__name__)
-class Controller(http.Controller):
+class Home(openerp.addons.web.controllers.main.Home):
- @http.route('/auth_signup/get_config', type='json', auth="none")
- def get_config(self, dbname):
- """ retrieve the module config (which features are enabled) for the login page """
- registry = RegistryManager.get(dbname)
- with registry.cursor() as cr:
- icp = registry.get('ir.config_parameter')
- config = {
- 'signup': icp.get_param(cr, openerp.SUPERUSER_ID, 'auth_signup.allow_uninvited') == 'True',
- 'reset_password': icp.get_param(cr, openerp.SUPERUSER_ID, 'auth_signup.reset_password') == 'True',
- }
- return config
-
- @http.route('/auth_signup/retrieve', type='json', auth="none")
- def retrieve(self, dbname, token):
- """ retrieve the user info (name, login or email) corresponding to a signup token """
- registry = RegistryManager.get(dbname)
- with registry.cursor() as cr:
- res_partner = registry.get('res.partner')
- user_info = res_partner.signup_retrieve_info(cr, openerp.SUPERUSER_ID, token)
- return user_info
-
- @http.route('/auth_signup/signup', type='json', auth="none")
- def signup(self, dbname, token, **values):
- """ sign up a user (new or existing)"""
- try:
- self._signup_with_values(dbname, token, values)
- except SignupError, e:
- return {'error': openerp.tools.exception_to_unicode(e)}
- return {}
-
- def _signup_with_values(self, dbname, token, values):
- registry = RegistryManager.get(dbname)
- with registry.cursor() as cr:
- res_users = registry.get('res.users')
- res_users.signup(cr, openerp.SUPERUSER_ID, values, token)
-
- @http.route('/auth_signup/reset_password', type='json', auth="none")
- def reset_password(self, dbname, login):
- """ retrieve user, and perform reset password """
- registry = RegistryManager.get(dbname)
- with registry.cursor() as cr:
+ @http.route()
+ def web_login(self, *args, **kw):
+ mode = request.params.get('mode')
+ qcontext = request.params.copy()
+ response = webmain.render_bootstrap_template(request.session.db, 'auth_signup.signup', qcontext, lazy=True)
+ token = qcontext.get('token', None)
+ token_infos = None
+ if token:
try:
- res_users = registry.get('res.users')
- res_users.reset_password(cr, openerp.SUPERUSER_ID, login)
- cr.commit()
- except Exception as e:
- # signup error
- _logger.exception('error when resetting password')
- raise(e)
- return True
+ # retrieve the user info (name, login or email) corresponding to a signup token
+ res_partner = request.registry.get('res.partner')
+ token_infos = res_partner.signup_retrieve_info(request.cr, openerp.SUPERUSER_ID, token)
+ for k, v in token_infos.items():
+ qcontext.setdefault(k, v)
+ except:
+ qcontext['error'] = _("Invalid signup token")
+ response.params['template'] = 'web.login'
+ return response
+
+ # retrieve the module config (which features are enabled) for the login page
+ icp = request.registry.get('ir.config_parameter')
+ config = {
+ 'signup': icp.get_param(request.cr, openerp.SUPERUSER_ID, 'auth_signup.allow_uninvited') == 'True',
+ 'reset': icp.get_param(request.cr, openerp.SUPERUSER_ID, 'auth_signup.reset_password') == 'True',
+ }
+ qcontext.update(config)
+
+ if 'error' in qcontext or mode not in ('reset', 'signup') or (not token and not config[mode]):
+ response = super(Home, self).web_login(*args, **kw)
+ if isinstance(response, LazyResponse):
+ response.params['values'].update(config)
+ return response
+
+ if request.httprequest.method == 'GET':
+ if token_infos:
+ qcontext.update(token_infos)
+ else:
+ res_users = request.registry.get('res.users')
+ login = request.params.get('login')
+ if mode == 'reset' and not token:
+ try:
+ res_users.reset_password(request.cr, openerp.SUPERUSER_ID, login)
+ qcontext['message'] = _("An email has been sent with credentials to reset your password")
+ response.params['template'] = 'web.login'
+ except Exception:
+ qcontext['error'] = _("Could not reset your password")
+ _logger.exception('error when resetting password')
+ else:
+ values = dict((key, qcontext.get(key)) for key in ('login', 'name', 'password'))
+ try:
+ self._signup_with_values(token, values)
+ request.cr.commit()
+ except SignupError, e:
+ qcontext['error'] = exception_to_unicode(e)
+ return super(Home, self).web_login(*args, **kw)
+
+ return response
+
+ def _signup_with_values(self, token, values):
+ request.registry['res.users'].signup(request.cr, openerp.SUPERUSER_ID, values, token)
+
# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/auth_signup/res_config.xml b/addons/auth_signup/res_config.xml
index 47df51ea1f9..1f8bc760a9e 100644
--- a/addons/auth_signup/res_config.xml
+++ b/addons/auth_signup/res_config.xml
@@ -7,7 +7,7 @@
base.config.settings
-
+
diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py
index a9469e4de0d..3af52017e05 100644
--- a/addons/auth_signup/res_users.py
+++ b/addons/auth_signup/res_users.py
@@ -66,19 +66,20 @@ class res_partner(osv.Model):
self.signup_prepare(cr, uid, [partner.id], context=context)
partner.refresh()
- # the parameters to encode for the query and fragment part of url
- query = {'db': cr.dbname}
+ # the parameters to encode for the query
+ query = dict(db=cr.dbname)
signup_type = context.get('signup_force_type_in_url', partner.signup_type or '')
- fragment = {'action': action, 'type': signup_type}
+ if signup_type:
+ query['mode'] = signup_type
if partner.signup_token and signup_type:
- fragment['token'] = partner.signup_token
+ query['token'] = partner.signup_token
elif partner.user_ids:
- fragment['db'] = cr.dbname
- fragment['login'] = partner.user_ids[0].login
+ query['login'] = partner.user_ids[0].login
else:
continue # no signup token, no user, thus no signup url!
+ fragment = dict()
if view_type:
fragment['view_type'] = view_type
if menu_id:
@@ -88,7 +89,7 @@ class res_partner(osv.Model):
if res_id:
fragment['id'] = res_id
- res[partner.id] = urljoin(base_url, "?%s#%s" % (urlencode(query), urlencode(fragment)))
+ res[partner.id] = urljoin(base_url, "/web/login?%s#%s" % (urlencode(query), urlencode(fragment)))
return res
@@ -262,6 +263,7 @@ class res_users(osv.Model):
template = False
if context.get('create_user'):
try:
+ # get_object() raises ValueError if record does not exist
template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_signup', 'set_password_email')
except ValueError:
pass
@@ -272,10 +274,7 @@ class res_users(osv.Model):
for user in self.browse(cr, uid, ids, context):
if not user.email:
raise osv.except_osv(_("Cannot send email: user has no email address."), user.name)
- try:
- self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, force_send=True, raise_exception=True, context=context)
- except Exception:
- raise
+ self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, force_send=True, raise_exception=True, context=context)
def create(self, cr, uid, values, context=None):
if context is None:
diff --git a/addons/auth_signup/static/src/js/auth_signup.js b/addons/auth_signup/static/src/js/auth_signup.js
index d9edb44d65f..a317440fd6b 100644
--- a/addons/auth_signup/static/src/js/auth_signup.js
+++ b/addons/auth_signup/static/src/js/auth_signup.js
@@ -1,186 +1,19 @@
openerp.auth_signup = function(instance) {
- instance.auth_signup = instance.auth_signup || {};
- var _t = instance.web._t;
-
- instance.web.Login.include({
- start: function() {
+ openerp.web.LoginForm.include({
+ start: function () {
var self = this;
- this.signup_enabled = false;
- this.reset_password_enabled = false;
- return this._super().always(function() {
-
- // Switches the login box to the select mode whith mode == [default|signup|reset]
- self.on('change:login_mode', self, function() {
- var mode = self.get('login_mode') || 'default';
- self.$('*[data-modes]').each(function() {
- var modes = $(this).data('modes').split(/\s+/);
- $(this).toggle(modes.indexOf(mode) > -1);
- });
- self.$('a.oe_signup_signup:visible').toggle(self.signup_enabled);
- self.$('a.oe_signup_reset_password:visible').toggle(self.reset_password_enabled);
- });
-
- // to switch between the signup and regular login form
- self.$('a.oe_signup_signup').click(function(ev) {
- self.set('login_mode', 'signup');
+ this.$el.on('submit', function () {
+ var password = self.get_password_field('password');
+ var confirm_password = self.get_password_field('confirm_password');
+ if (password && confirm_password && (password.value != confirm_password.value)) {
+ alert("Passwords do not match; please retype them.");
return false;
- });
- self.$('a.oe_signup_back').click(function(ev) {
- self.set('login_mode', 'default');
- delete self.params.token;
- return false;
- });
-
- var dbname = self.selected_db;
-
- // if there is an error message in params, show it then forget it
- if (self.params.error_message) {
- self.show_error(self.params.error_message);
- delete self.params.error_message;
- }
-
- if (dbname && self.params.login) {
- self.$("form input[name=login]").val(self.params.login);
- }
-
- // bind reset password link
- self.$('a.oe_signup_reset_password').click(self.do_reset_password);
-
- if (dbname) {
- self.rpc("/auth_signup/get_config", {dbname: dbname}).then(function(result) {
- self.signup_enabled = result.signup;
- self.reset_password_enabled = result.reset_password;
- if (!self.signup_enabled || self.$("form input[name=login]").val()){
- self.set('login_mode', self.params.type || 'default');
- } else {
- self.set('login_mode', 'signup');
- }
-
- // in case of a signup, retrieve the user information from the token
- if (self.params.token) {
- self.rpc("/auth_signup/retrieve", {dbname: dbname, token: self.params.token})
- .then(self.on_token_loaded, self.on_token_failed);
- }
-
- });
- } else {
- // TODO: support multiple database mode
- self.set('login_mode', self.params.type || 'default');
}
});
},
-
- on_token_loaded: function(result) {
- // select the right the database
- this.selected_db = result.db;
- this.on_db_loaded([result.db]);
- if (result.token) {
- // switch to signup mode, set user name and login
- this.set('login_mode', (this.params.type === 'reset' ? 'reset' : 'signup'));
- this.$("form input[name=name]").val(result.name).attr("readonly", "readonly");
- if (result.login) {
- this.$("form input[name=login]").val(result.login).attr("readonly", "readonly");
- } else {
- this.$("form input[name=login]").val(result.email);
- }
- } else {
- // remain in login mode, set login if present
- delete this.params.token;
- this.set('login_mode', 'default');
- this.$("form input[name=login]").val(result.login || "");
- }
- },
-
- on_token_failed: function(result, ev) {
- if (ev) {
- ev.preventDefault();
- }
- this.show_error(_t("Invalid signup token"));
- delete this.params.db;
- delete this.params.token;
- this.set('login_mode', 'default');
- },
-
- get_params: function(){
- // signup user (or reset password)
- var db = this.$("form [name=db]").val();
- var name = this.$("form input[name=name]").val();
- var login = this.$("form input[name=login]").val();
- var password = this.$("form input[name=password]").val();
- var confirm_password = this.$("form input[name=confirm_password]").val();
- if (!db) {
- this.do_warn(_t("Login"), _t("No database selected !"));
- return false;
- } else if (!name) {
- this.do_warn(_t("Login"), _t("Please enter a name."));
- return false;
- } else if (!login) {
- this.do_warn(_t("Login"), _t("Please enter a username."));
- return false;
- } else if (!password || !confirm_password) {
- this.do_warn(_t("Login"), _t("Please enter a password and confirm it."));
- return false;
- } else if (password !== confirm_password) {
- this.do_warn(_t("Login"), _t("Passwords do not match; please retype them."));
- return false;
- }
- var params = {
- dbname : db,
- token: this.params.token || "",
- name: name,
- login: login,
- password: password,
- };
- return params;
- },
-
- on_submit: function(ev) {
- if (ev) {
- ev.preventDefault();
- }
- var login_mode = this.get('login_mode');
- if (login_mode === 'signup' || login_mode === 'reset') {
- var params = this.get_params();
- if (_.isEmpty(params)){
- return false;
- }
- var self = this,
- super_ = this._super;
- this.rpc('/auth_signup/signup', params)
- .done(function(result) {
- if (result.error) {
- self.show_error(result.error);
- } else {
- super_.apply(self, [ev]);
- }
- });
- } else {
- // regular login
- this._super(ev);
- }
- },
-
- do_reset_password: function(ev) {
- if (ev) {
- ev.preventDefault();
- }
- var self = this;
- var db = this.$("form [name=db]").val();
- var login = this.$("form input[name=login]").val();
- if (!db) {
- this.do_warn(_t("Login"), _t("No database selected !"));
- return $.Deferred().reject();
- } else if (!login) {
- this.do_warn(_t("Login"), _t("Please enter a username or email address."));
- return $.Deferred().reject();
- }
- return self.rpc("/auth_signup/reset_password", { dbname: db, login: login }).done(function(result) {
- self.show_error(_t("An email has been sent with credentials to reset your password"));
- self.set('login_mode', 'default');
- }).fail(function(result, ev) {
- ev.preventDefault();
- self.show_error(result.message);
- });
+ get_password_field: function (field) {
+ var selector = 'input[name="' + field + '"][type="password"]:visible';
+ return this.$(selector)[0];
},
});
};
diff --git a/addons/auth_signup/static/src/xml/auth_signup.xml b/addons/auth_signup/static/src/xml/auth_signup.xml
deleted file mode 100644
index 1c41dbed181..00000000000
--- a/addons/auth_signup/static/src/xml/auth_signup.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
- Name
-
-
-
- Username
- Username (Email)
-
-
- this.attr('data-modes', 'default signup reset');
-
-
- Confirm Password
-
-
-
-
-
- Log in
- Sign Up
- Reset password
-
- Sign Up
- Back to Login
- Reset password
-
-
-
- this.attr('data-modes', 'default');
-
-
-
-
diff --git a/addons/auth_signup/views/auth_signup_login.xml b/addons/auth_signup/views/auth_signup_login.xml
new file mode 100644
index 00000000000..bdc093e3c27
--- /dev/null
+++ b/addons/auth_signup/views/auth_signup_login.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+ Sign up
+ Reset Password
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/portal_crm/__init__.py b/addons/base_geolocalize/__init__.py
similarity index 92%
rename from addons/portal_crm/__init__.py
rename to addons/base_geolocalize/__init__.py
index 92b3ac62321..9afb820ae15 100644
--- a/addons/portal_crm/__init__.py
+++ b/addons/base_geolocalize/__init__.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2011 OpenERP S.A (
).
+# Copyright (C) 2013_Today OpenERP SA ().
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,4 +19,4 @@
#
##############################################################################
-import contact
+import models
diff --git a/addons/portal_event/__openerp__.py b/addons/base_geolocalize/__openerp__.py
similarity index 66%
rename from addons/portal_event/__openerp__.py
rename to addons/base_geolocalize/__openerp__.py
index 05d84875647..f978680210b 100644
--- a/addons/portal_event/__openerp__.py
+++ b/addons/base_geolocalize/__openerp__.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-TODAY OpenERP SA ()
+# Copyright (C) 2013_Today OpenERP SA ().
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -21,26 +21,24 @@
{
- 'name': 'Portal Event',
- 'version': '0.1',
- 'category': 'Tools',
- 'complexity': 'easy',
+ 'name': 'Partners Geo-Localization',
+ 'version': '1.0',
+ 'category': 'Customer Relationship Management',
'description': """
-This module adds event menu and features to your portal if event and portal are installed.
-==========================================================================================
+Partners geolocalization
+========================
""",
'author': 'OpenERP SA',
- 'depends': [
- 'event',
- 'portal',
+ 'depends': ['crm'],
+ 'demo': [
],
'data': [
- 'portal_event_view.xml',
- 'security/portal_security.xml',
- 'security/ir.model.access.csv',
+ 'views/res_partner_view.xml',
],
+ 'test': [],
'installable': True,
- 'auto_install': True,
- 'category': 'Hidden',
+ 'auto_install': False,
+ 'images': [],
}
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_geolocalize/models/__init__.py b/addons/base_geolocalize/models/__init__.py
new file mode 100644
index 00000000000..4e5bc1614d1
--- /dev/null
+++ b/addons/base_geolocalize/models/__init__.py
@@ -0,0 +1 @@
+import res_partner
diff --git a/addons/base_geolocalize/models/res_partner.py b/addons/base_geolocalize/models/res_partner.py
new file mode 100644
index 00000000000..af43b990526
--- /dev/null
+++ b/addons/base_geolocalize/models/res_partner.py
@@ -0,0 +1,88 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2013_Today OpenERP SA ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+try:
+ import simplejson as json
+except ImportError:
+ import json # noqa
+import urllib
+
+from openerp.osv import osv, fields
+from openerp import tools
+from openerp.tools.translate import _
+
+
+def geo_find(addr):
+ url = 'https://maps.googleapis.com/maps/api/geocode/json?sensor=false&address='
+ url += urllib.quote(addr.encode('utf8'))
+
+ try:
+ result = json.load(urllib.urlopen(url))
+ except Exception, e:
+ raise osv.except_osv(_('Network error'),
+ _('Cannot contact geolocation servers. Please make sure that your internet connection is up and running (%s).') % e)
+ if result['status'] != 'OK':
+ return None
+
+ try:
+ geo = result['results'][0]['geometry']['location']
+ return float(geo['lat']), float(geo['lng'])
+ except (KeyError, ValueError):
+ return None
+
+
+def geo_query_address(street=None, zip=None, city=None, state=None, country=None):
+ if country and ',' in country and (country.endswith(' of') or country.endswith(' of the')):
+ # put country qualifier in front, otherwise GMap gives wrong results,
+ # e.g. 'Congo, Democratic Republic of the' => 'Democratic Republic of the Congo'
+ country = '{1} {0}'.format(*country.split(',', 1))
+ return tools.ustr(', '.join(filter(None, [street,
+ ("%s %s" % (zip or '', city or '')).strip(),
+ state,
+ country])))
+
+
+class res_partner(osv.osv):
+ _inherit = "res.partner"
+
+ _columns = {
+ 'partner_latitude': fields.float('Geo Latitude'),
+ 'partner_longitude': fields.float('Geo Longitude'),
+ 'date_localization': fields.date('Geo Localization Date'),
+ }
+
+ def geo_localize(self, cr, uid, ids, context=None):
+ # Don't pass context to browse()! We need country names in english below
+ for partner in self.browse(cr, uid, ids):
+ if not partner:
+ continue
+ result = geo_find(geo_query_address(street=partner.street,
+ zip=partner.zip,
+ city=partner.city,
+ state=partner.state_id.name,
+ country=partner.country_id.name))
+ if result:
+ self.write(cr, uid, [partner.id], {
+ 'partner_latitude': result[0],
+ 'partner_longitude': result[1],
+ 'date_localization': fields.date.context_today(self, cr, uid, context=context)
+ }, context=context)
+ return True
diff --git a/addons/base_geolocalize/views/res_partner_view.xml b/addons/base_geolocalize/views/res_partner_view.xml
new file mode 100644
index 00000000000..24cc8d2d21d
--- /dev/null
+++ b/addons/base_geolocalize/views/res_partner_view.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+ res.partner.geo.inherit
+ res.partner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/addons/base_import/__openerp__.py b/addons/base_import/__openerp__.py
index e044930a242..8c87e779b3b 100644
--- a/addons/base_import/__openerp__.py
+++ b/addons/base_import/__openerp__.py
@@ -31,11 +31,9 @@ Re-implement openerp's file import system:
'security/ir.model.access.csv',
],
'css': [
- 'static/lib/select2/select2.css',
'static/src/css/import.css',
],
'js': [
- 'static/lib/select2/select2.js',
'static/lib/javascript-state-machine/state-machine.js',
'static/src/js/import.js',
],
diff --git a/addons/base_import/static/lib/select2/LICENSE b/addons/base_import/static/lib/select2/LICENSE
deleted file mode 100644
index 627fddef413..00000000000
--- a/addons/base_import/static/lib/select2/LICENSE
+++ /dev/null
@@ -1,12 +0,0 @@
-Copyright 2012 Igor Vaynberg
-
-Version: @@ver@@ Timestamp: @@timestamp@@
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in
-compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed under the License is
-distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and limitations under the License.
\ No newline at end of file
diff --git a/addons/base_import/static/lib/select2/README.md b/addons/base_import/static/lib/select2/README.md
deleted file mode 100644
index 3a6dcaf1ba4..00000000000
--- a/addons/base_import/static/lib/select2/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-Select2
-=================
-
-Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results. Look and feel of Select2 is based on the excellent [Chosen](http://harvesthq.github.com/chosen/) library.
-
-To get started -- checkout http://ivaynberg.github.com/select2!
-
-What Does Select2 Support That Chosen Does Not?
--------------------------------------------------
-
-* Working with large datasets: Chosen requires the entire dataset to be loaded as `option` tags in the DOM, which limits
-it to working with small-ish datasets. Select2 uses a function to find results on-the-fly, which allows it to partially
-load results.
-* Paging of results: Since Select2 works with large datasets and only loads a small amount of matching results at a time
-it has to support paging. Select2 will call the search function when the user scrolls to the bottom of currently loaded
-result set allowing for the 'infinite scrolling' of results.
-* Custom markup for results: Chosen only supports rendering text results because that is the only markup supported by
-`option` tags. Select2 provides an extension point which can be used to produce any kind of markup to represent results.
-* Ability to add results on the fly: Select2 provides the ability to add results from the search term entered by the user, which allows it to be used for
-tagging.
-
-Browser Compatibility
---------------------
-* IE 8+ (7 mostly works except for [issue with z-index](https://github.com/ivaynberg/select2/issues/37))
-* Chrome 8+
-* Firefox 3.5+
-* Safari 3+
-* Opera 10.6+
-
-Integrations
-------------
-
-* [Wicket-Select2](https://github.com/ivaynberg/wicket-select2) (Java / Apache Wicket)
-* [select2-rails](https://github.com/argerim/select2-rails) (Ruby on Rails)
-* [AngularUI](http://angular-ui.github.com/#directives-select2) ([AngularJS](angularjs.org))
-* [Django](https://github.com/applegrew/django-select2)
-
-Bug tracker
------------
-
-Have a bug? Please create an issue here on GitHub!
-
-https://github.com/ivaynberg/select2/issues
-
-
-Mailing list
-------------
-
-Have a question? Ask on our mailing list!
-
-select2@googlegroups.com
-
-https://groups.google.com/d/forum/select2
-
-
-Copyright and License
----------------------
-
-Copyright 2012 Igor Vaynberg
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in
-compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed under the License is
-distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and limitations under the License.
\ No newline at end of file
diff --git a/addons/base_import/static/lib/select2/release.sh b/addons/base_import/static/lib/select2/release.sh
deleted file mode 100755
index 79eaabd621d..00000000000
--- a/addons/base_import/static/lib/select2/release.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/bash
-set -e
-
-echo -n "Enter the version for this release: "
-
-read ver
-
-if [ ! $ver ]; then
- echo "Invalid version."
- exit
-fi
-
-name="select2"
-js="$name.js"
-mini="$name.min.js"
-css="$name.css"
-release="$name-$ver"
-releasedir="/tmp/$release"
-tag="release-$ver"
-branch="build-$ver"
-curbranch=`git branch | grep "*" | sed "s/* //"`
-timestamp=$(date)
-tokens="s/@@ver@@/$ver/g;s/\@@timestamp@@/$timestamp/g"
-remote="github"
-
-git branch "$branch"
-git checkout "$branch"
-
-echo "Tokenizing..."
-
-find . -name "$js" | xargs sed -i -e "$tokens"
-find . -name "$css" | xargs sed -i -e "$tokens"
-
-git add "$js"
-git add "$css"
-
-echo "Minifying..."
-
-echo "/*" > "$mini"
-cat LICENSE | sed "$tokens" >> "$mini"
-echo "*/" >> "$mini"
-
-curl -s \
- -d compilation_level=SIMPLE_OPTIMIZATIONS \
- -d output_format=text \
- -d output_info=compiled_code \
- --data-urlencode "js_code@$js" \
- http://closure-compiler.appspot.com/compile \
- >> "$mini"
-
-git add "$mini"
-
-git commit -m "release $ver"
-
-echo "Tagging..."
-
-git tag -a "$tag" -m "tagged version $ver"
-git push "$remote" --tags
-
-echo "Archiving..."
-
-rm -rf "$releasedir"
-mkdir "$releasedir"
-
-cp $name.* "$releasedir"
-cp spinner.gif "$releasedir"
-cp README.* "$releasedir"
-
-zip -r "$releasedir.zip" "$releasedir"
-rm -rf "$releasedir"
-
-echo "Cleaning Up..."
-
-git checkout "$curbranch"
-git branch -D "$branch"
-
-echo "Done. Release archive created: $releasedir.zip"
diff --git a/addons/base_import/static/lib/select2/select2.css b/addons/base_import/static/lib/select2/select2.css
deleted file mode 100644
index f0bdfb82f04..00000000000
--- a/addons/base_import/static/lib/select2/select2.css
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
-Version: @@ver@@ Timestamp: @@timestamp@@
-*/
-.select2-container {
- position: relative;
- display: inline-block;
- /* inline-block for ie7 */
- zoom: 1;
- *display: inline;
- vertical-align: top;
-}
-
-.select2-container,
-.select2-drop,
-.select2-search,
-.select2-search input{
- /*
- Force border-box so that % widths fit the parent
- container without overlap because of margin/padding.
-
- More Info : http://www.quirksmode.org/css/box.html
- */
- -moz-box-sizing: border-box; /* firefox */
- -ms-box-sizing: border-box; /* ie */
- -webkit-box-sizing: border-box; /* webkit */
- -khtml-box-sizing: border-box; /* konqueror */
- box-sizing: border-box; /* css3 */
-}
-
-.select2-container .select2-choice {
- background-color: #fff;
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
- background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
- background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
- background-image: -o-linear-gradient(bottom, #eeeeee 0%, #ffffff 50%);
- background-image: -ms-linear-gradient(top, #eeeeee 0%, #ffffff 50%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#ffffff', GradientType = 0);
- background-image: linear-gradient(top, #eeeeee 0%, #ffffff 50%);
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- -moz-background-clip: padding;
- -webkit-background-clip: padding-box;
- background-clip: padding-box;
- border: 1px solid #aaa;
- display: block;
- overflow: hidden;
- white-space: nowrap;
- position: relative;
- height: 26px;
- line-height: 26px;
- padding: 0 0 0 8px;
- color: #444;
- text-decoration: none;
-}
-
-.select2-container.select2-drop-above .select2-choice
-{
- border-bottom-color: #aaa;
- -webkit-border-radius:0px 0px 4px 4px;
- -moz-border-radius:0px 0px 4px 4px;
- border-radius:0px 0px 4px 4px;
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.9, white));
- background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 90%);
- background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 90%);
- background-image: -o-linear-gradient(bottom, #eeeeee 0%, white 90%);
- background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 90%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
- background-image: linear-gradient(top, #eeeeee 0%,#ffffff 90%);
-}
-
-.select2-container .select2-choice span {
- margin-right: 26px;
- display: block;
- overflow: hidden;
- white-space: nowrap;
- -o-text-overflow: ellipsis;
- -ms-text-overflow: ellipsis;
- text-overflow: ellipsis;
-}
-
-.select2-container .select2-choice abbr {
- display: block;
- position: absolute;
- right: 26px;
- top: 8px;
- width: 12px;
- height: 12px;
- font-size: 1px;
- background: url('select2.png') right top no-repeat;
- cursor: pointer;
- text-decoration: none;
- border:0;
- outline: 0;
-}
-.select2-container .select2-choice abbr:hover {
- background-position: right -11px;
- cursor: pointer;
-}
-
-.select2-drop {
- background: #fff;
- color: #000;
- border: 1px solid #aaa;
- border-top: 0;
- position: absolute;
- top: 100%;
- -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
- -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
- -o-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
- box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
- z-index: 9999;
- width:100%;
- margin-top:-1px;
-
- -webkit-border-radius: 0 0 4px 4px;
- -moz-border-radius: 0 0 4px 4px;
- border-radius: 0 0 4px 4px;
-}
-
-.select2-drop.select2-drop-above {
- -webkit-border-radius: 4px 4px 0px 0px;
- -moz-border-radius: 4px 4px 0px 0px;
- border-radius: 4px 4px 0px 0px;
- margin-top:1px;
- border-top: 1px solid #aaa;
- border-bottom: 0;
-
- -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
- -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
- -o-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
- box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
-}
-
-.select2-container .select2-choice div {
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
- -moz-background-clip: padding;
- -webkit-background-clip: padding-box;
- background-clip: padding-box;
- background: #ccc;
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
- background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
- background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
- background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
- background-image: -ms-linear-gradient(top, #cccccc 0%, #eeeeee 60%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#cccccc', endColorstr = '#eeeeee', GradientType = 0);
- background-image: linear-gradient(top, #cccccc 0%, #eeeeee 60%);
- border-left: 1px solid #aaa;
- position: absolute;
- right: 0;
- top: 0;
- display: block;
- height: 100%;
- width: 18px;
-}
-
-.select2-container .select2-choice div b {
- background: url('select2.png') no-repeat 0 1px;
- display: block;
- width: 100%;
- height: 100%;
-}
-
-.select2-search {
- display: inline-block;
- white-space: nowrap;
- z-index: 10000;
- min-height: 26px;
- width: 100%;
- margin: 0;
- padding-left: 4px;
- padding-right: 4px;
-}
-
-.select2-search-hidden {
- display: block;
- position: absolute;
- left: -10000px;
-}
-
-.select2-search input {
- background: #fff url('select2.png') no-repeat 100% -22px;
- background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
- background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
- background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
- background: url('select2.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
- background: url('select2.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
- background: url('select2.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
- padding: 4px 20px 4px 5px;
- outline: 0;
- border: 1px solid #aaa;
- font-family: sans-serif;
- font-size: 1em;
- width:100%;
- margin:0;
- height:auto !important;
- min-height: 26px;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- border-radius: 0;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
-}
-
-.select2-drop.select2-drop-above .select2-search input
-{
- margin-top:4px;
-}
-
-.select2-search input.select2-active {
- background: #fff url('spinner.gif') no-repeat 100%;
- background: url('spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
- background: url('spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
- background: url('spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
- background: url('spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
- background: url('spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
- background: url('spinner.gif') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
-}
-
-
-.select2-container-active .select2-choice,
-.select2-container-active .select2-choices {
- -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
- -moz-box-shadow : 0 0 5px rgba(0,0,0,.3);
- -o-box-shadow : 0 0 5px rgba(0,0,0,.3);
- box-shadow : 0 0 5px rgba(0,0,0,.3);
- border: 1px solid #5897fb;
- outline: none;
-}
-
-.select2-dropdown-open .select2-choice {
- border: 1px solid #aaa;
- border-bottom-color: transparent;
- -webkit-box-shadow: 0 1px 0 #fff inset;
- -moz-box-shadow : 0 1px 0 #fff inset;
- -o-box-shadow : 0 1px 0 #fff inset;
- box-shadow : 0 1px 0 #fff inset;
- background-color: #eee;
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee));
- background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%);
- background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%);
- background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%);
- background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 );
- background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%);
- -webkit-border-bottom-left-radius : 0;
- -webkit-border-bottom-right-radius: 0;
- -moz-border-radius-bottomleft : 0;
- -moz-border-radius-bottomright: 0;
- border-bottom-left-radius : 0;
- border-bottom-right-radius: 0;
-}
-
-.select2-dropdown-open .select2-choice div {
- background: transparent;
- border-left: none;
-}
-.select2-dropdown-open .select2-choice div b {
- background-position: -18px 1px;
-}
-
-/* results */
-.select2-results {
- margin: 4px 4px 4px 0;
- padding: 0 0 0 4px;
- position: relative;
- overflow-x: hidden;
- overflow-y: auto;
- max-height: 200px;
-}
-
-.select2-results ul.select2-result-sub {
- margin: 0 0 0 0;
-}
-
-.select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
-.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px }
-
-.select2-results li {
- list-style: none;
- display: list-item;
-}
-
-.select2-results li.select2-result-with-children > .select2-result-label {
- font-weight: bold;
-}
-
-.select2-results .select2-result-label {
- padding: 3px 7px 4px;
- margin: 0;
- cursor: pointer;
-}
-
-.select2-results .select2-highlighted {
- background: #3875d7;
- color: #fff;
-}
-.select2-results li em {
- background: #feffde;
- font-style: normal;
-}
-.select2-results .select2-highlighted em {
- background: transparent;
-}
-.select2-results .select2-no-results,
-.select2-results .select2-searching,
-.select2-results .select2-selection-limit {
- background: #f4f4f4;
- display: list-item;
-}
-
-/*
-disabled look for already selected choices in the results dropdown
-.select2-results .select2-disabled.select2-highlighted {
- color: #666;
- background: #f4f4f4;
- display: list-item;
- cursor: default;
-}
-.select2-results .select2-disabled {
- background: #f4f4f4;
- display: list-item;
- cursor: default;
-}
-*/
-.select2-results .select2-disabled {
- display: none;
-}
-
-.select2-more-results.select2-active {
- background: #f4f4f4 url('spinner.gif') no-repeat 100%;
-}
-
-.select2-more-results {
- background: #f4f4f4;
- display: list-item;
-}
-
-/* disabled styles */
-
-.select2-container.select2-container-disabled .select2-choice {
- background-color: #f4f4f4;
- background-image: none;
- border: 1px solid #ddd;
- cursor: default;
-}
-
-.select2-container.select2-container-disabled .select2-choice div {
- background-color: #f4f4f4;
- background-image: none;
- border-left: 0;
-}
-
-
-/* multiselect */
-
-.select2-container-multi .select2-choices {
- background-color: #fff;
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
- background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
- background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
- background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
- background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
- background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
- border: 1px solid #aaa;
- margin: 0;
- padding: 0;
- cursor: text;
- overflow: hidden;
- height: auto !important;
- height: 1%;
- position: relative;
-}
-
-.select2-container-multi .select2-choices {
- min-height: 26px;
-}
-
-.select2-container-multi.select2-container-active .select2-choices {
- -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
- -moz-box-shadow : 0 0 5px rgba(0,0,0,.3);
- -o-box-shadow : 0 0 5px rgba(0,0,0,.3);
- box-shadow : 0 0 5px rgba(0,0,0,.3);
- border: 1px solid #5897fb;
- outline: none;
-}
-.select2-container-multi .select2-choices li {
- float: left;
- list-style: none;
-}
-.select2-container-multi .select2-choices .select2-search-field {
- white-space: nowrap;
- margin: 0;
- padding: 0;
-}
-
-.select2-container-multi .select2-choices .select2-search-field input {
- color: #666;
- background: transparent !important;
- font-family: sans-serif;
- font-size: 100%;
- height: 15px;
- padding: 5px;
- margin: 1px 0;
- outline: 0;
- border: 0;
- -webkit-box-shadow: none;
- -moz-box-shadow : none;
- -o-box-shadow : none;
- box-shadow : none;
-}
-
-.select2-container-multi .select2-choices .select2-search-field input.select2-active {
- background: #fff url('spinner.gif') no-repeat 100% !important;
-}
-
-.select2-default {
- color: #999 !important;
-}
-
-.select2-container-multi .select2-choices .select2-search-choice {
- -webkit-border-radius: 3px;
- -moz-border-radius : 3px;
- border-radius : 3px;
- -moz-background-clip : padding;
- -webkit-background-clip: padding-box;
- background-clip : padding-box;
- background-color: #e4e4e4;
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 );
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
- background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
- background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
- background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
- background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
- background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
- -webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
- -moz-box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
- box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
- color: #333;
- border: 1px solid #aaaaaa;
- line-height: 13px;
- padding: 3px 5px 3px 18px;
- margin: 3px 0 3px 5px;
- position: relative;
- cursor: default;
-}
-.select2-container-multi .select2-choices .select2-search-choice span {
- cursor: default;
-}
-.select2-container-multi .select2-choices .select2-search-choice-focus {
- background: #d4d4d4;
-}
-
-.select2-search-choice-close {
- display: block;
- position: absolute;
- right: 3px;
- top: 4px;
- width: 12px;
- height: 13px;
- font-size: 1px;
- background: url('select2.png') right top no-repeat;
- outline: none;
-}
-
-.select2-container-multi .select2-search-choice-close {
- left: 3px;
-}
-
-
-.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
- background-position: right -11px;
-}
-.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
- background-position: right -11px;
-}
-
-/* disabled styles */
-
-.select2-container-multi.select2-container-disabled .select2-choices{
- background-color: #f4f4f4;
- background-image: none;
- border: 1px solid #ddd;
- cursor: default;
-}
-
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
- background-image: none;
- background-color: #f4f4f4;
- border: 1px solid #ddd;
- padding: 3px 5px 3px 5px;
-}
-
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
- display: none;
-}
-/* end multiselect */
-
-.select2-result-selectable .select2-match,
-.select2-result-unselectable .select2-result-selectable .select2-match { text-decoration: underline; }
-.select2-result-unselectable .select2-match { text-decoration: none; }
-
-.select2-offscreen { position: absolute; left: -10000px; }
-
-/* Retina-ize icons */
-
-@media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
- .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b {
- background-image: url(select2x2.png) !important;
- background-repeat: no-repeat !important;
- background-size: 60px 40px !important;
- }
- .select2-search input {
- background-position: 100% -21px !important;
- }
-}
\ No newline at end of file
diff --git a/addons/base_import/static/lib/select2/select2.js b/addons/base_import/static/lib/select2/select2.js
deleted file mode 100644
index 42ce0a928b8..00000000000
--- a/addons/base_import/static/lib/select2/select2.js
+++ /dev/null
@@ -1,2407 +0,0 @@
-/*
- Copyright 2012 Igor Vaynberg
-
- Version: @@ver@@ Timestamp: @@timestamp@@
-
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in
- compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software distributed under the License is
- distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and limitations under the License.
- */
- (function ($) {
- if(typeof $.fn.each2 == "undefined"){
- $.fn.extend({
- /*
- * 4-10 times faster .each replacement
- * use it carefully, as it overrides jQuery context of element on each iteration
- */
- each2 : function (c) {
- var j = $([0]), i = -1, l = this.length;
- while (
- ++i < l
- && (j.context = j[0] = this[i])
- && c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
- );
- return this;
- }
- });
- }
-})(jQuery);
-
-(function ($, undefined) {
- "use strict";
- /*global document, window, jQuery, console */
-
- if (window.Select2 !== undefined) {
- return;
- }
-
- var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer;
-
- KEY = {
- TAB: 9,
- ENTER: 13,
- ESC: 27,
- SPACE: 32,
- LEFT: 37,
- UP: 38,
- RIGHT: 39,
- DOWN: 40,
- SHIFT: 16,
- CTRL: 17,
- ALT: 18,
- PAGE_UP: 33,
- PAGE_DOWN: 34,
- HOME: 36,
- END: 35,
- BACKSPACE: 8,
- DELETE: 46,
- isArrow: function (k) {
- k = k.which ? k.which : k;
- switch (k) {
- case KEY.LEFT:
- case KEY.RIGHT:
- case KEY.UP:
- case KEY.DOWN:
- return true;
- }
- return false;
- },
- isControl: function (e) {
- var k = e.which;
- switch (k) {
- case KEY.SHIFT:
- case KEY.CTRL:
- case KEY.ALT:
- return true;
- }
-
- if (e.metaKey) return true;
-
- return false;
- },
- isFunctionKey: function (k) {
- k = k.which ? k.which : k;
- return k >= 112 && k <= 123;
- }
- };
-
- nextUid=(function() { var counter=1; return function() { return counter++; }; }());
-
- function indexOf(value, array) {
- var i = 0, l = array.length, v;
-
- if (typeof value === "undefined") {
- return -1;
- }
-
- if (value.constructor === String) {
- for (; i < l; i = i + 1) if (value.localeCompare(array[i]) === 0) return i;
- } else {
- for (; i < l; i = i + 1) {
- v = array[i];
- if (v.constructor === String) {
- if (v.localeCompare(value) === 0) return i;
- } else {
- if (v === value) return i;
- }
- }
- }
- return -1;
- }
-
- /**
- * Compares equality of a and b taking into account that a and b may be strings, in which case localeCompare is used
- * @param a
- * @param b
- */
- function equal(a, b) {
- if (a === b) return true;
- if (a === undefined || b === undefined) return false;
- if (a === null || b === null) return false;
- if (a.constructor === String) return a.localeCompare(b) === 0;
- if (b.constructor === String) return b.localeCompare(a) === 0;
- return false;
- }
-
- /**
- * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
- * strings
- * @param string
- * @param separator
- */
- function splitVal(string, separator) {
- var val, i, l;
- if (string === null || string.length < 1) return [];
- val = string.split(separator);
- for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
- return val;
- }
-
- function getSideBorderPadding(element) {
- return element.outerWidth() - element.width();
- }
-
- function installKeyUpChangeEvent(element) {
- var key="keyup-change-value";
- element.bind("keydown", function () {
- if ($.data(element, key) === undefined) {
- $.data(element, key, element.val());
- }
- });
- element.bind("keyup", function () {
- var val= $.data(element, key);
- if (val !== undefined && element.val() !== val) {
- $.removeData(element, key);
- element.trigger("keyup-change");
- }
- });
- }
-
- $(document).delegate("*", "mousemove", function (e) {
- $.data(document, "select2-lastpos", {x: e.pageX, y: e.pageY});
- });
-
- /**
- * filters mouse events so an event is fired only if the mouse moved.
- *
- * filters out mouse events that occur when mouse is stationary but
- * the elements under the pointer are scrolled.
- */
- function installFilteredMouseMove(element) {
- element.bind("mousemove", function (e) {
- var lastpos = $.data(document, "select2-lastpos");
- if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
- $(e.target).trigger("mousemove-filtered", e);
- }
- });
- }
-
- /**
- * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
- * within the last quietMillis milliseconds.
- *
- * @param quietMillis number of milliseconds to wait before invoking fn
- * @param fn function to be debounced
- * @param ctx object to be used as this reference within fn
- * @return debounced version of fn
- */
- function debounce(quietMillis, fn, ctx) {
- ctx = ctx || undefined;
- var timeout;
- return function () {
- var args = arguments;
- window.clearTimeout(timeout);
- timeout = window.setTimeout(function() {
- fn.apply(ctx, args);
- }, quietMillis);
- };
- }
-
- /**
- * A simple implementation of a thunk
- * @param formula function used to lazily initialize the thunk
- * @return {Function}
- */
- function thunk(formula) {
- var evaluated = false,
- value;
- return function() {
- if (evaluated === false) { value = formula(); evaluated = true; }
- return value;
- };
- };
-
- function installDebouncedScroll(threshold, element) {
- var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
- element.bind("scroll", function (e) {
- if (indexOf(e.target, element.get()) >= 0) notify(e);
- });
- }
-
- function killEvent(event) {
- event.preventDefault();
- event.stopPropagation();
- }
-
- function measureTextWidth(e) {
- if (!sizer){
- var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
- sizer = $("
").css({
- position: "absolute",
- left: "-10000px",
- top: "-10000px",
- display: "none",
- fontSize: style.fontSize,
- fontFamily: style.fontFamily,
- fontStyle: style.fontStyle,
- fontWeight: style.fontWeight,
- letterSpacing: style.letterSpacing,
- textTransform: style.textTransform,
- whiteSpace: "nowrap"
- });
- $("body").append(sizer);
- }
- sizer.text(e.val());
- return sizer.width();
- }
-
- function markMatch(text, term, markup) {
- var match=text.toUpperCase().indexOf(term.toUpperCase()),
- tl=term.length;
-
- if (match<0) {
- markup.push(text);
- return;
- }
-
- markup.push(text.substring(0, match));
- markup.push("");
- markup.push(text.substring(match, match + tl));
- markup.push(" ");
- markup.push(text.substring(match + tl, text.length));
- }
-
- /**
- * Produces an ajax-based query function
- *
- * @param options object containing configuration paramters
- * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
- * @param options.url url for the data
- * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
- * @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified
- * @param options.traditional a boolean flag that should be true if you wish to use the traditional style of param serialization for the ajax request
- * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
- * @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
- * The expected format is an object containing the following keys:
- * results array of objects that will be used as choices
- * more (optional) boolean indicating whether there are more results available
- * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
- */
- function ajax(options) {
- var timeout, // current scheduled but not yet executed request
- requestSequence = 0, // sequence used to drop out-of-order responses
- handler = null,
- quietMillis = options.quietMillis || 100;
-
- return function (query) {
- window.clearTimeout(timeout);
- timeout = window.setTimeout(function () {
- requestSequence += 1; // increment the sequence
- var requestNumber = requestSequence, // this request's sequence number
- data = options.data, // ajax data function
- transport = options.transport || $.ajax,
- traditional = options.traditional || false,
- type = options.type || 'GET'; // set type of request (GET or POST)
-
- data = data.call(this, query.term, query.page, query.context);
-
- if( null !== handler) { handler.abort(); }
-
- handler = transport.call(null, {
- url: options.url,
- dataType: options.dataType,
- data: data,
- type: type,
- traditional: traditional,
- success: function (data) {
- if (requestNumber < requestSequence) {
- return;
- }
- // TODO 3.0 - replace query.page with query so users have access to term, page, etc.
- var results = options.results(data, query.page);
- query.callback(results);
- }
- });
- }, quietMillis);
- };
- }
-
- /**
- * Produces a query function that works with a local array
- *
- * @param options object containing configuration parameters. The options parameter can either be an array or an
- * object.
- *
- * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
- *
- * If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
- * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
- * key can either be a String in which case it is expected that each element in the 'data' array has a key with the
- * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
- * the text.
- */
- function local(options) {
- var data = options, // data elements
- dataText,
- text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
-
- if (!$.isArray(data)) {
- text = data.text;
- // if text is not a function we assume it to be a key name
- if (!$.isFunction(text)) {
- dataText = data.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
- text = function (item) { return item[dataText]; };
- }
- data = data.results;
- }
-
- return function (query) {
- var t = query.term, filtered = { results: [] }, process;
- if (t === "") {
- query.callback({results: data});
- return;
- }
-
- process = function(datum, collection) {
- var group, attr;
- datum = datum[0];
- if (datum.children) {
- group = {};
- for (attr in datum) {
- if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
- }
- group.children=[];
- $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
- if (group.children.length) {
- collection.push(group);
- }
- } else {
- if (query.matcher(t, text(datum))) {
- collection.push(datum);
- }
- }
- };
-
- $(data).each2(function(i, datum) { process(datum, filtered.results); });
- query.callback(filtered);
- };
- }
-
- // TODO javadoc
- function tags(data) {
- // TODO even for a function we should probably return a wrapper that does the same object/string check as
- // the function for arrays. otherwise only functions that return objects are supported.
- if ($.isFunction(data)) {
- return data;
- }
-
- // if not a function we assume it to be an array
-
- return function (query) {
- var t = query.term, filtered = {results: []};
- $(data).each(function () {
- var isObject = this.text !== undefined,
- text = isObject ? this.text : this;
- if (t === "" || query.matcher(t, text)) {
- filtered.results.push(isObject ? this : {id: this, text: this});
- }
- });
- query.callback(filtered);
- };
- }
-
- /**
- * Checks if the formatter function should be used.
- *
- * Throws an error if it is not a function. Returns true if it should be used,
- * false if no formatting should be performed.
- *
- * @param formatter
- */
- function checkFormatter(formatter, formatterName) {
- if ($.isFunction(formatter)) return true;
- if (!formatter) return false;
- throw new Error("formatterName must be a function or a falsy value");
- }
-
- function evaluate(val) {
- return $.isFunction(val) ? val() : val;
- }
-
- function countResults(results) {
- var count = 0;
- $.each(results, function(i, item) {
- if (item.children) {
- count += countResults(item.children);
- } else {
- count++;
- }
- });
- return count;
- }
-
- /**
- * Default tokenizer. This function uses breaks the input on substring match of any string from the
- * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
- * two options have to be defined in order for the tokenizer to work.
- *
- * @param input text user has typed so far or pasted into the search field
- * @param selection currently selected choices
- * @param selectCallback function(choice) callback tho add the choice to selection
- * @param opts select2's opts
- * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
- */
- function defaultTokenizer(input, selection, selectCallback, opts) {
- var original = input, // store the original so we can compare and know if we need to tell the search to update its text
- dupe = false, // check for whether a token we extracted represents a duplicate selected choice
- token, // token
- index, // position at which the separator was found
- i, l, // looping variables
- separator; // the matched separator
-
- if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
-
- while (true) {
- index = -1;
-
- for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
- separator = opts.tokenSeparators[i];
- index = input.indexOf(separator);
- if (index >= 0) break;
- }
-
- if (index < 0) break; // did not find any token separator in the input string, bail
-
- token = input.substring(0, index);
- input = input.substring(index + separator.length);
-
- if (token.length > 0) {
- token = opts.createSearchChoice(token, selection);
- if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
- dupe = false;
- for (i = 0, l = selection.length; i < l; i++) {
- if (equal(opts.id(token), opts.id(selection[i]))) {
- dupe = true; break;
- }
- }
-
- if (!dupe) selectCallback(token);
- }
- }
- }
-
- if (original.localeCompare(input) != 0) return input;
- }
-
- /**
- * blurs any Select2 container that has focus when an element outside them was clicked or received focus
- *
- * also takes care of clicks on label tags that point to the source element
- */
- $(document).ready(function () {
- $(document).delegate("*", "mousedown touchend", function (e) {
- var target = $(e.target).closest("div.select2-container").get(0), attr;
- if (target) {
- $(document).find("div.select2-container-active").each(function () {
- if (this !== target) $(this).data("select2").blur();
- });
- } else {
- target = $(e.target).closest("div.select2-drop").get(0);
- $(document).find("div.select2-drop-active").each(function () {
- if (this !== target) $(this).data("select2").blur();
- });
- }
-
- target=$(e.target);
- attr = target.attr("for");
- if ("LABEL" === e.target.tagName && attr && attr.length > 0) {
- target = $("#"+attr);
- target = target.data("select2");
- if (target !== undefined) { target.focus(); e.preventDefault();}
- }
- });
- });
-
- /**
- * Creates a new class
- *
- * @param superClass
- * @param methods
- */
- function clazz(SuperClass, methods) {
- var constructor = function () {};
- constructor.prototype = new SuperClass;
- constructor.prototype.constructor = constructor;
- constructor.prototype.parent = SuperClass.prototype;
- constructor.prototype = $.extend(constructor.prototype, methods);
- return constructor;
- }
-
- AbstractSelect2 = clazz(Object, {
-
- // abstract
- bind: function (func) {
- var self = this;
- return function () {
- func.apply(self, arguments);
- };
- },
-
- // abstract
- init: function (opts) {
- var results, search, resultsSelector = ".select2-results";
-
- // prepare options
- this.opts = opts = this.prepareOpts(opts);
-
- this.id=opts.id;
-
- // destroy if called on an existing component
- if (opts.element.data("select2") !== undefined &&
- opts.element.data("select2") !== null) {
- this.destroy();
- }
-
- this.enabled=true;
- this.container = this.createContainer();
-
- this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
- this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
- this.container.attr("id", this.containerId);
-
- // cache the body so future lookups are cheap
- this.body = thunk(function() { return opts.element.closest("body"); });
-
- if (opts.element.attr("class") !== undefined) {
- this.container.addClass(opts.element.attr("class").replace(/validate\[[\S ]+] ?/, ''));
- }
-
- this.container.css(evaluate(opts.containerCss));
- this.container.addClass(evaluate(opts.containerCssClass));
-
- // swap container for the element
- this.opts.element
- .data("select2", this)
- .hide()
- .before(this.container);
- this.container.data("select2", this);
-
- this.dropdown = this.container.find(".select2-drop");
- this.dropdown.addClass(evaluate(opts.dropdownCssClass));
- this.dropdown.data("select2", this);
-
- this.results = results = this.container.find(resultsSelector);
- this.search = search = this.container.find("input.select2-input");
-
- search.attr("tabIndex", this.opts.element.attr("tabIndex"));
-
- this.resultsPage = 0;
- this.context = null;
-
- // initialize the container
- this.initContainer();
- this.initContainerWidth();
-
- installFilteredMouseMove(this.results);
- this.dropdown.delegate(resultsSelector, "mousemove-filtered", this.bind(this.highlightUnderEvent));
-
- installDebouncedScroll(80, this.results);
- this.dropdown.delegate(resultsSelector, "scroll-debounced", this.bind(this.loadMoreIfNeeded));
-
- // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
- if ($.fn.mousewheel) {
- results.mousewheel(function (e, delta, deltaX, deltaY) {
- var top = results.scrollTop(), height;
- if (deltaY > 0 && top - deltaY <= 0) {
- results.scrollTop(0);
- killEvent(e);
- } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
- results.scrollTop(results.get(0).scrollHeight - results.height());
- killEvent(e);
- }
- });
- }
-
- installKeyUpChangeEvent(search);
- search.bind("keyup-change", this.bind(this.updateResults));
- search.bind("focus", function () { search.addClass("select2-focused"); if (search.val() === " ") search.val(""); });
- search.bind("blur", function () { search.removeClass("select2-focused");});
-
- this.dropdown.delegate(resultsSelector, "mouseup", this.bind(function (e) {
- if ($(e.target).closest(".select2-result-selectable:not(.select2-disabled)").length > 0) {
- this.highlightUnderEvent(e);
- this.selectHighlighted(e);
- } else {
- this.focusSearch();
- }
- killEvent(e);
- }));
-
- // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
- // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
- // dom it will trigger the popup close, which is not what we want
- this.dropdown.bind("click mouseup mousedown", function (e) { e.stopPropagation(); });
-
- if ($.isFunction(this.opts.initSelection)) {
- // initialize selection based on the current value of the source element
- this.initSelection();
-
- // if the user has provided a function that can set selection based on the value of the source element
- // we monitor the change event on the element and trigger it, allowing for two way synchronization
- this.monitorSource();
- }
-
- if (opts.element.is(":disabled") || opts.element.is("[readonly='readonly']")) this.disable();
- },
-
- // abstract
- destroy: function () {
- var select2 = this.opts.element.data("select2");
- if (select2 !== undefined) {
- select2.container.remove();
- select2.dropdown.remove();
- select2.opts.element
- .removeData("select2")
- .unbind(".select2")
- .show();
- }
- },
-
- // abstract
- prepareOpts: function (opts) {
- var element, select, idKey, ajaxUrl;
-
- element = opts.element;
-
- if (element.get(0).tagName.toLowerCase() === "select") {
- this.select = select = opts.element;
- }
-
- if (select) {
- // these options are not allowed when attached to a select because they are picked up off the element itself
- $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
- if (this in opts) {
- throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a element.");
- }
- });
- }
-
- opts = $.extend({}, {
- populateResults: function(container, results, query) {
- var populate, data, result, children, id=this.opts.id, self=this;
-
- populate=function(results, container, depth) {
-
- var i, l, result, selectable, compound, node, label, innerContainer, formatted;
- for (i = 0, l = results.length; i < l; i = i + 1) {
-
- result=results[i];
- selectable=id(result) !== undefined;
- compound=("children" in result) && result.children.length > 0;
-
- node=$(" ");
- node.addClass("select2-results-dept-"+depth);
- node.addClass("select2-result");
- node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
- if (compound) { node.addClass("select2-result-with-children"); }
- node.addClass(self.opts.formatResultCssClass(result));
-
- label=$("
");
- label.addClass("select2-result-label");
-
- formatted=opts.formatResult(result, label, query);
- if (formatted!==undefined) {
- label.html(self.opts.escapeMarkup(formatted));
- }
-
- node.append(label);
-
- if (compound) {
-
- innerContainer=$("");
- innerContainer.addClass("select2-result-sub");
- populate(result.children, innerContainer, depth+1);
- node.append(innerContainer);
- }
-
- node.data("select2-data", result);
- container.append(node);
- }
- };
-
- populate(results, container, 0);
- }
- }, $.fn.select2.defaults, opts);
-
- if (typeof(opts.id) !== "function") {
- idKey = opts.id;
- opts.id = function (e) { return e[idKey]; };
- }
-
- if (select) {
- opts.query = this.bind(function (query) {
- var data = { results: [], more: false },
- term = query.term,
- children, firstChild, process;
-
- process=function(element, collection) {
- var group;
- if (element.is("option")) {
- if (query.matcher(term, element.text(), element)) {
- collection.push({id:element.attr("value"), text:element.text(), element: element.get(), css: element.attr("class")});
- }
- } else if (element.is("optgroup")) {
- group={text:element.attr("label"), children:[], element: element.get(), css: element.attr("class")};
- element.children().each2(function(i, elm) { process(elm, group.children); });
- if (group.children.length>0) {
- collection.push(group);
- }
- }
- };
-
- children=element.children();
-
- // ignore the placeholder option if there is one
- if (this.getPlaceholder() !== undefined && children.length > 0) {
- firstChild = children[0];
- if ($(firstChild).text() === "") {
- children=children.not(firstChild);
- }
- }
-
- children.each2(function(i, elm) { process(elm, data.results); });
-
- query.callback(data);
- });
- // this is needed because inside val() we construct choices from options and there id is hardcoded
- opts.id=function(e) { return e.id; };
- opts.formatResultCssClass = function(data) { return data.css; }
- } else {
- if (!("query" in opts)) {
- if ("ajax" in opts) {
- ajaxUrl = opts.element.data("ajax-url");
- if (ajaxUrl && ajaxUrl.length > 0) {
- opts.ajax.url = ajaxUrl;
- }
- opts.query = ajax(opts.ajax);
- } else if ("data" in opts) {
- opts.query = local(opts.data);
- } else if ("tags" in opts) {
- opts.query = tags(opts.tags);
- opts.createSearchChoice = function (term) { return {id: term, text: term}; };
- opts.initSelection = function (element, callback) {
- var data = [];
- $(splitVal(element.val(), opts.separator)).each(function () {
- var id = this, text = this, tags=opts.tags;
- if ($.isFunction(tags)) tags=tags();
- $(tags).each(function() { if (equal(this.id, id)) { text = this.text; return false; } });
- data.push({id: id, text: text});
- });
-
- callback(data);
- };
- }
- }
- }
- if (typeof(opts.query) !== "function") {
- throw "query function not defined for Select2 " + opts.element.attr("id");
- }
-
- return opts;
- },
-
- /**
- * Monitor the original element for changes and update select2 accordingly
- */
- // abstract
- monitorSource: function () {
- this.opts.element.bind("change.select2", this.bind(function (e) {
- if (this.opts.element.data("select2-change-triggered") !== true) {
- this.initSelection();
- }
- }));
- },
-
- /**
- * Triggers the change event on the source element
- */
- // abstract
- triggerChange: function (details) {
-
- details = details || {};
- details= $.extend({}, details, { type: "change", val: this.val() });
- // prevents recursive triggering
- this.opts.element.data("select2-change-triggered", true);
- this.opts.element.trigger(details);
- this.opts.element.data("select2-change-triggered", false);
-
- // some validation frameworks ignore the change event and listen instead to keyup, click for selects
- // so here we trigger the click event manually
- this.opts.element.click();
-
- // ValidationEngine ignorea the change event and listens instead to blur
- // so here we trigger the blur event manually if so desired
- if (this.opts.blurOnChange)
- this.opts.element.blur();
- },
-
-
- // abstract
- enable: function() {
- if (this.enabled) return;
-
- this.enabled=true;
- this.container.removeClass("select2-container-disabled");
- },
-
- // abstract
- disable: function() {
- if (!this.enabled) return;
-
- this.close();
-
- this.enabled=false;
- this.container.addClass("select2-container-disabled");
- },
-
- // abstract
- opened: function () {
- return this.container.hasClass("select2-dropdown-open");
- },
-
- // abstract
- positionDropdown: function() {
- var offset = this.container.offset(),
- height = this.container.outerHeight(),
- width = this.container.outerWidth(),
- dropHeight = this.dropdown.outerHeight(),
- viewportBottom = $(window).scrollTop() + document.documentElement.clientHeight,
- dropTop = offset.top + height,
- dropLeft = offset.left,
- enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
- enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
- aboveNow = this.dropdown.hasClass("select2-drop-above"),
- bodyOffset,
- above,
- css;
-
- // console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
- // console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
-
- // fix positioning when body has an offset and is not position: static
-
- if (this.body().css('position') !== 'static') {
- bodyOffset = this.body().offset();
- dropTop -= bodyOffset.top;
- dropLeft -= bodyOffset.left;
- }
-
- // always prefer the current above/below alignment, unless there is not enough room
-
- if (aboveNow) {
- above = true;
- if (!enoughRoomAbove && enoughRoomBelow) above = false;
- } else {
- above = false;
- if (!enoughRoomBelow && enoughRoomAbove) above = true;
- }
-
- if (above) {
- dropTop = offset.top - dropHeight;
- this.container.addClass("select2-drop-above");
- this.dropdown.addClass("select2-drop-above");
- }
- else {
- this.container.removeClass("select2-drop-above");
- this.dropdown.removeClass("select2-drop-above");
- }
-
- css = $.extend({
- top: dropTop,
- left: dropLeft,
- width: width
- }, evaluate(this.opts.dropdownCss));
-
- this.dropdown.css(css);
- },
-
- // abstract
- shouldOpen: function() {
- var event;
-
- if (this.opened()) return false;
-
- event = jQuery.Event("open");
- this.opts.element.trigger(event);
- return !event.isDefaultPrevented();
- },
-
- // abstract
- clearDropdownAlignmentPreference: function() {
- // clear the classes used to figure out the preference of where the dropdown should be opened
- this.container.removeClass("select2-drop-above");
- this.dropdown.removeClass("select2-drop-above");
- },
-
- /**
- * Opens the dropdown
- *
- * @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
- * the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
- */
- // abstract
- open: function () {
-
- if (!this.shouldOpen()) return false;
-
- window.setTimeout(this.bind(this.opening), 1);
-
- return true;
- },
-
- /**
- * Performs the opening of the dropdown
- */
- // abstract
- opening: function() {
- var cid = this.containerId, selector = this.containerSelector,
- scroll = "scroll." + cid, resize = "resize." + cid;
-
- this.container.parents().each(function() {
- $(this).bind(scroll, function() {
- var s2 = $(selector);
- if (s2.length == 0) {
- $(this).unbind(scroll);
- }
- s2.select2("close");
- });
- });
-
- $(window).bind(resize, function() {
- var s2 = $(selector);
- if (s2.length == 0) {
- $(window).unbind(resize);
- }
- s2.select2("close");
- });
-
- this.clearDropdownAlignmentPreference();
-
- if (this.search.val() === " ") { this.search.val(""); }
-
- this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
-
- this.updateResults(true);
-
- if(this.dropdown[0] !== this.body().children().last()[0]) {
- this.dropdown.detach().appendTo(this.body());
- }
-
- this.dropdown.show();
-
- this.positionDropdown();
- this.dropdown.addClass("select2-drop-active");
-
- this.ensureHighlightVisible();
-
- this.focusSearch();
- },
-
- // abstract
- close: function () {
- if (!this.opened()) return;
-
- var self = this;
-
- this.container.parents().each(function() {
- $(this).unbind("scroll." + self.containerId);
- });
- $(window).unbind("resize." + this.containerId);
-
- this.clearDropdownAlignmentPreference();
-
- this.dropdown.hide();
- this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
- this.results.empty();
- this.clearSearch();
-
- this.opts.element.trigger(jQuery.Event("close"));
- },
-
- // abstract
- clearSearch: function () {
-
- },
-
- // abstract
- ensureHighlightVisible: function () {
- var results = this.results, children, index, child, hb, rb, y, more;
-
- index = this.highlight();
-
- if (index < 0) return;
-
- if (index == 0) {
-
- // if the first element is highlighted scroll all the way to the top,
- // that way any unselectable headers above it will also be scrolled
- // into view
-
- results.scrollTop(0);
- return;
- }
-
- children = results.find(".select2-result-selectable");
-
- child = $(children[index]);
-
- hb = child.offset().top + child.outerHeight();
-
- // if this is the last child lets also make sure select2-more-results is visible
- if (index === children.length - 1) {
- more = results.find("li.select2-more-results");
- if (more.length > 0) {
- hb = more.offset().top + more.outerHeight();
- }
- }
-
- rb = results.offset().top + results.outerHeight();
- if (hb > rb) {
- results.scrollTop(results.scrollTop() + (hb - rb));
- }
- y = child.offset().top - results.offset().top;
-
- // make sure the top of the element is visible
- if (y < 0) {
- results.scrollTop(results.scrollTop() + y); // y is negative
- }
- },
-
- // abstract
- moveHighlight: function (delta) {
- var choices = this.results.find(".select2-result-selectable"),
- index = this.highlight();
-
- while (index > -1 && index < choices.length) {
- index += delta;
- var choice = $(choices[index]);
- if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled")) {
- this.highlight(index);
- break;
- }
- }
- },
-
- // abstract
- highlight: function (index) {
- var choices = this.results.find(".select2-result-selectable").not(".select2-disabled");
-
- if (arguments.length === 0) {
- return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
- }
-
- if (index >= choices.length) index = choices.length - 1;
- if (index < 0) index = 0;
-
- choices.removeClass("select2-highlighted");
-
- $(choices[index]).addClass("select2-highlighted");
- this.ensureHighlightVisible();
-
- },
-
- // abstract
- countSelectableResults: function() {
- return this.results.find(".select2-result-selectable").not(".select2-disabled").length;
- },
-
- // abstract
- highlightUnderEvent: function (event) {
- var el = $(event.target).closest(".select2-result-selectable");
- if (el.length > 0 && !el.is(".select2-highlighted")) {
- var choices = this.results.find('.select2-result-selectable');
- this.highlight(choices.index(el));
- } else if (el.length == 0) {
- // if we are over an unselectable item remove al highlights
- this.results.find(".select2-highlighted").removeClass("select2-highlighted");
- }
- },
-
- // abstract
- loadMoreIfNeeded: function () {
- var results = this.results,
- more = results.find("li.select2-more-results"),
- below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
- offset = -1, // index of first element without data
- page = this.resultsPage + 1,
- self=this,
- term=this.search.val(),
- context=this.context;
-
- if (more.length === 0) return;
- below = more.offset().top - results.offset().top - results.height();
-
- if (below <= 0) {
- more.addClass("select2-active");
- this.opts.query({
- term: term,
- page: page,
- context: context,
- matcher: this.opts.matcher,
- callback: this.bind(function (data) {
-
- // ignore a response if the select2 has been closed before it was received
- if (!self.opened()) return;
-
-
- self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
-
- if (data.more===true) {
- more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1));
- window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
- } else {
- more.remove();
- }
- self.positionDropdown();
- self.resultsPage = page;
- })});
- }
- },
-
- /**
- * Default tokenizer function which does nothing
- */
- tokenize: function() {
-
- },
-
- /**
- * @param initial whether or not this is the call to this method right after the dropdown has been opened
- */
- // abstract
- updateResults: function (initial) {
- var search = this.search, results = this.results, opts = this.opts, data, self=this, input;
-
- // if the search is currently hidden we do not alter the results
- if (initial !== true && (this.showSearchInput === false || !this.opened())) {
- return;
- }
-
- search.addClass("select2-active");
-
- function postRender() {
- results.scrollTop(0);
- search.removeClass("select2-active");
- self.positionDropdown();
- }
-
- function render(html) {
- results.html(self.opts.escapeMarkup(html));
- postRender();
- }
-
- if (opts.maximumSelectionSize >=1) {
- data = this.data();
- if ($.isArray(data) && data.length >= opts.maximumSelectionSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
- render("" + opts.formatSelectionTooBig(opts.maximumSelectionSize) + " ");
- return;
- }
- }
-
- if (search.val().length < opts.minimumInputLength && checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
- render("" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + " ");
- return;
- }
- else {
- render("" + opts.formatSearching() + " ");
- }
-
- // give the tokenizer a chance to pre-process the input
- input = this.tokenize();
- if (input != undefined && input != null) {
- search.val(input);
- }
-
- this.resultsPage = 1;
- opts.query({
- term: search.val(),
- page: this.resultsPage,
- context: null,
- matcher: opts.matcher,
- callback: this.bind(function (data) {
- var def; // default choice
-
- // ignore a response if the select2 has been closed before it was received
- if (!this.opened()) return;
-
- // save context, if any
- this.context = (data.context===undefined) ? null : data.context;
-
- // create a default choice and prepend it to the list
- if (this.opts.createSearchChoice && search.val() !== "") {
- def = this.opts.createSearchChoice.call(null, search.val(), data.results);
- if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
- if ($(data.results).filter(
- function () {
- return equal(self.id(this), self.id(def));
- }).length === 0) {
- data.results.unshift(def);
- }
- }
- }
-
- if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
- render("" + opts.formatNoMatches(search.val()) + " ");
- return;
- }
-
- results.empty();
- self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
-
- if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
- results.append("" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + " ");
- window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
- }
-
- this.postprocessResults(data, initial);
-
- postRender();
- })});
- },
-
- // abstract
- cancel: function () {
- this.close();
- },
-
- // abstract
- blur: function () {
- this.close();
- this.container.removeClass("select2-container-active");
- this.dropdown.removeClass("select2-drop-active");
- // synonymous to .is(':focus'), which is available in jquery >= 1.6
- if (this.search[0] === document.activeElement) { this.search.blur(); }
- this.clearSearch();
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
- },
-
- // abstract
- focusSearch: function () {
- // need to do it here as well as in timeout so it works in IE
- this.search.show();
- this.search.focus();
-
- /* we do this in a timeout so that current event processing can complete before this code is executed.
- this makes sure the search field is focussed even if the current event would blur it */
- window.setTimeout(this.bind(function () {
- // reset the value so IE places the cursor at the end of the input box
- this.search.show();
- this.search.focus();
- this.search.val(this.search.val());
- }), 10);
- },
-
- // abstract
- selectHighlighted: function () {
- var index=this.highlight(),
- highlighted=this.results.find(".select2-highlighted").not(".select2-disabled"),
- data = highlighted.closest('.select2-result-selectable').data("select2-data");
- if (data) {
- highlighted.addClass("select2-disabled");
- this.highlight(index);
- this.onSelect(data);
- }
- },
-
- // abstract
- getPlaceholder: function () {
- return this.opts.element.attr("placeholder") ||
- this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
- this.opts.element.data("placeholder") ||
- this.opts.placeholder;
- },
-
- /**
- * Get the desired width for the container element. This is
- * derived first from option `width` passed to select2, then
- * the inline 'style' on the original element, and finally
- * falls back to the jQuery calculated element width.
- */
- // abstract
- initContainerWidth: function () {
- function resolveContainerWidth() {
- var style, attrs, matches, i, l;
-
- if (this.opts.width === "off") {
- return null;
- } else if (this.opts.width === "element"){
- return this.opts.element.outerWidth() === 0 ? 'auto' : this.opts.element.outerWidth() + 'px';
- } else if (this.opts.width === "copy" || this.opts.width === "resolve") {
- // check if there is inline style on the element that contains width
- style = this.opts.element.attr('style');
- if (style !== undefined) {
- attrs = style.split(';');
- for (i = 0, l = attrs.length; i < l; i = i + 1) {
- matches = attrs[i].replace(/\s/g, '')
- .match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/);
- if (matches !== null && matches.length >= 1)
- return matches[1];
- }
- }
-
- if (this.opts.width === "resolve") {
- // next check if css('width') can resolve a width that is percent based, this is sometimes possible
- // when attached to input type=hidden or elements hidden via css
- style = this.opts.element.css('width');
- if (style.indexOf("%") > 0) return style;
-
- // finally, fallback on the calculated width of the element
- return (this.opts.element.outerWidth() === 0 ? 'auto' : this.opts.element.outerWidth() + 'px');
- }
-
- return null;
- } else if ($.isFunction(this.opts.width)) {
- return this.opts.width();
- } else {
- return this.opts.width;
- }
- };
-
- var width = resolveContainerWidth.call(this);
- if (width !== null) {
- this.container.attr("style", "width: "+width);
- }
- }
- });
-
- SingleSelect2 = clazz(AbstractSelect2, {
-
- // single
-
- createContainer: function () {
- var container = $("
", {
- "class": "select2-container"
- }).html([
- " ",
- " ",
- "
" ,
- " ",
- " " ,
- "
" ,
- " " ,
- "
" ,
- "
" ,
- "
"].join(""));
- return container;
- },
-
- // single
- opening: function () {
- this.search.show();
- this.parent.opening.apply(this, arguments);
- this.dropdown.removeClass("select2-offscreen");
- },
-
- // single
- close: function () {
- if (!this.opened()) return;
- this.parent.close.apply(this, arguments);
- this.dropdown.removeAttr("style").addClass("select2-offscreen").insertAfter(this.selection).show();
- },
-
- // single
- focus: function () {
- this.close();
- this.selection.focus();
- },
-
- // single
- isFocused: function () {
- return this.selection[0] === document.activeElement;
- },
-
- // single
- cancel: function () {
- this.parent.cancel.apply(this, arguments);
- this.selection.focus();
- },
-
- // single
- initContainer: function () {
-
- var selection,
- container = this.container,
- dropdown = this.dropdown,
- clickingInside = false;
-
- this.selection = selection = container.find(".select2-choice");
-
- this.search.bind("keydown", this.bind(function (e) {
- if (!this.enabled) return;
-
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
- // prevent the page from scrolling
- killEvent(e);
- return;
- }
-
- if (this.opened()) {
- switch (e.which) {
- case KEY.UP:
- case KEY.DOWN:
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
- killEvent(e);
- return;
- case KEY.TAB:
- case KEY.ENTER:
- this.selectHighlighted();
- killEvent(e);
- return;
- case KEY.ESC:
- this.cancel(e);
- killEvent(e);
- return;
- }
- } else {
-
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
- return;
- }
-
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
- return;
- }
-
- this.open();
-
- if (e.which === KEY.ENTER) {
- // do not propagate the event otherwise we open, and propagate enter which closes
- return;
- }
- }
- }));
-
- this.search.bind("focus", this.bind(function() {
- this.selection.attr("tabIndex", "-1");
- }));
- this.search.bind("blur", this.bind(function() {
- if (!this.opened()) this.container.removeClass("select2-container-active");
- window.setTimeout(this.bind(function() { this.selection.attr("tabIndex", this.opts.element.attr("tabIndex")); }), 10);
- }));
-
- selection.bind("mousedown", this.bind(function (e) {
- clickingInside = true;
-
- if (this.opened()) {
- this.close();
- this.selection.focus();
- } else if (this.enabled) {
- this.open();
- }
-
- clickingInside = false;
- }));
-
- dropdown.bind("mousedown", this.bind(function() { this.search.focus(); }));
-
- selection.bind("focus", this.bind(function() {
- this.container.addClass("select2-container-active");
- // hide the search so the tab key does not focus on it
- this.search.attr("tabIndex", "-1");
- }));
-
- selection.bind("blur", this.bind(function() {
- if (!this.opened()) {
- this.container.removeClass("select2-container-active");
- }
- window.setTimeout(this.bind(function() { this.search.attr("tabIndex", this.opts.element.attr("tabIndex")); }), 10);
- }));
-
- selection.bind("keydown", this.bind(function(e) {
- if (!this.enabled) return;
-
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
- // prevent the page from scrolling
- killEvent(e);
- return;
- }
-
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
- || e.which === KEY.ESC) {
- return;
- }
-
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
- return;
- }
-
- if (e.which == KEY.DELETE) {
- if (this.opts.allowClear) {
- this.clear();
- }
- return;
- }
-
- this.open();
-
- if (e.which === KEY.ENTER) {
- // do not propagate the event otherwise we open, and propagate enter which closes
- killEvent(e);
- return;
- }
-
- // do not set the search input value for non-alpha-numeric keys
- // otherwise pressing down results in a '(' being set in the search field
- if (e.which < 48 ) { // '0' == 48
- killEvent(e);
- return;
- }
-
- var keyWritten = String.fromCharCode(e.which).toLowerCase();
-
- if (e.shiftKey) {
- keyWritten = keyWritten.toUpperCase();
- }
-
- // focus the field before calling val so the cursor ends up after the value instead of before
- this.search.focus();
- this.search.val(keyWritten);
-
- // prevent event propagation so it doesnt replay on the now focussed search field and result in double key entry
- killEvent(e);
- }));
-
- selection.delegate("abbr", "mousedown", this.bind(function (e) {
- if (!this.enabled) return;
- this.clear();
- killEvent(e);
- this.close();
- this.triggerChange();
- this.selection.focus();
- }));
-
- this.setPlaceholder();
-
- this.search.bind("focus", this.bind(function() {
- this.container.addClass("select2-container-active");
- }));
- },
-
- // single
- clear: function() {
- this.opts.element.val("");
- this.selection.find("span").empty();
- this.selection.removeData("select2-data");
- this.setPlaceholder();
- },
-
- /**
- * Sets selection based on source element's value
- */
- // single
- initSelection: function () {
- var selected;
- if (this.opts.element.val() === "") {
- this.close();
- this.setPlaceholder();
- } else {
- var self = this;
- this.opts.initSelection.call(null, this.opts.element, function(selected){
- if (selected !== undefined && selected !== null) {
- self.updateSelection(selected);
- self.close();
- self.setPlaceholder();
- }
- });
- }
- },
-
- // single
- prepareOpts: function () {
- var opts = this.parent.prepareOpts.apply(this, arguments);
-
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
- // install the selection initializer
- opts.initSelection = function (element, callback) {
- var selected = element.find(":selected");
- // a single select box always has a value, no need to null check 'selected'
- if ($.isFunction(callback))
- callback({id: selected.attr("value"), text: selected.text()});
- };
- }
-
- return opts;
- },
-
- // single
- setPlaceholder: function () {
- var placeholder = this.getPlaceholder();
-
- if (this.opts.element.val() === "" && placeholder !== undefined) {
-
- // check for a first blank option if attached to a select
- if (this.select && this.select.find("option:first").text() !== "") return;
-
- this.selection.find("span").html(this.opts.escapeMarkup(placeholder));
-
- this.selection.addClass("select2-default");
-
- this.selection.find("abbr").hide();
- }
- },
-
- // single
- postprocessResults: function (data, initial) {
- var selected = 0, self = this, showSearchInput = true;
-
- // find the selected element in the result list
-
- this.results.find(".select2-result-selectable").each2(function (i, elm) {
- if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
- selected = i;
- return false;
- }
- });
-
- // and highlight it
-
- this.highlight(selected);
-
- // hide the search box if this is the first we got the results and there are a few of them
-
- if (initial === true) {
- showSearchInput = this.showSearchInput = countResults(data.results) >= this.opts.minimumResultsForSearch;
- this.dropdown.find(".select2-search")[showSearchInput ? "removeClass" : "addClass"]("select2-search-hidden");
-
- //add "select2-with-searchbox" to the container if search box is shown
- $(this.dropdown, this.container)[showSearchInput ? "addClass" : "removeClass"]("select2-with-searchbox");
- }
-
- },
-
- // single
- onSelect: function (data) {
- var old = this.opts.element.val();
-
- this.opts.element.val(this.id(data));
- this.updateSelection(data);
- this.close();
- this.selection.focus();
-
- if (!equal(old, this.id(data))) { this.triggerChange(); }
- },
-
- // single
- updateSelection: function (data) {
-
- var container=this.selection.find("span"), formatted;
-
- this.selection.data("select2-data", data);
-
- container.empty();
- formatted=this.opts.formatSelection(data, container);
- if (formatted !== undefined) {
- container.append(this.opts.escapeMarkup(formatted));
- }
-
- this.selection.removeClass("select2-default");
-
- if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
- this.selection.find("abbr").show();
- }
- },
-
- // single
- val: function () {
- var val, data = null, self = this;
-
- if (arguments.length === 0) {
- return this.opts.element.val();
- }
-
- val = arguments[0];
-
- if (this.select) {
- this.select
- .val(val)
- .find(":selected").each2(function (i, elm) {
- data = {id: elm.attr("value"), text: elm.text()};
- return false;
- });
- this.updateSelection(data);
- this.setPlaceholder();
- } else {
- if (this.opts.initSelection === undefined) {
- throw new Error("cannot call val() if initSelection() is not defined");
- }
- // val is an id. !val is true for [undefined,null,'']
- if (!val) {
- this.clear();
- return;
- }
- this.opts.element.val(val);
- this.opts.initSelection(this.opts.element, function(data){
- self.opts.element.val(!data ? "" : self.id(data));
- self.updateSelection(data);
- self.setPlaceholder();
- });
- }
- },
-
- // single
- clearSearch: function () {
- this.search.val("");
- },
-
- // single
- data: function(value) {
- var data;
-
- if (arguments.length === 0) {
- data = this.selection.data("select2-data");
- if (data == undefined) data = null;
- return data;
- } else {
- if (!value || value === "") {
- this.clear();
- } else {
- this.opts.element.val(!value ? "" : this.id(value));
- this.updateSelection(value);
- }
- }
- }
- });
-
- MultiSelect2 = clazz(AbstractSelect2, {
-
- // multi
- createContainer: function () {
- var container = $("
", {
- "class": "select2-container select2-container-multi"
- }).html([
- " " ,
- ""].join(""));
- return container;
- },
-
- // multi
- prepareOpts: function () {
- var opts = this.parent.prepareOpts.apply(this, arguments);
-
- // TODO validate placeholder is a string if specified
-
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
- // install sthe selection initializer
- opts.initSelection = function (element,callback) {
-
- var data = [];
- element.find(":selected").each2(function (i, elm) {
- data.push({id: elm.attr("value"), text: elm.text()});
- });
-
- if ($.isFunction(callback))
- callback(data);
- };
- }
-
- return opts;
- },
-
- // multi
- initContainer: function () {
-
- var selector = ".select2-choices", selection;
-
- this.searchContainer = this.container.find(".select2-search-field");
- this.selection = selection = this.container.find(selector);
-
- this.search.bind("keydown", this.bind(function (e) {
- if (!this.enabled) return;
-
- if (e.which === KEY.BACKSPACE && this.search.val() === "") {
- this.close();
-
- var choices,
- selected = selection.find(".select2-search-choice-focus");
- if (selected.length > 0) {
- this.unselect(selected.first());
- this.search.width(10);
- killEvent(e);
- return;
- }
-
- choices = selection.find(".select2-search-choice");
- if (choices.length > 0) {
- choices.last().addClass("select2-search-choice-focus");
- }
- } else {
- selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
- }
-
- if (this.opened()) {
- switch (e.which) {
- case KEY.UP:
- case KEY.DOWN:
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
- killEvent(e);
- return;
- case KEY.ENTER:
- case KEY.TAB:
- this.selectHighlighted();
- killEvent(e);
- return;
- case KEY.ESC:
- this.cancel(e);
- killEvent(e);
- return;
- }
- }
-
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
- || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
- return;
- }
-
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
- return;
- }
-
- this.open();
-
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
- // prevent the page from scrolling
- killEvent(e);
- }
- }));
-
- this.search.bind("keyup", this.bind(this.resizeSearch));
-
- this.search.bind("blur", this.bind(function(e) {
- this.container.removeClass("select2-container-active");
- this.search.removeClass("select2-focused");
- this.clearSearch();
- e.stopImmediatePropagation();
- }));
-
- this.container.delegate(selector, "mousedown", this.bind(function (e) {
- if (!this.enabled) return;
- if ($(e.target).closest(".select2-search-choice").length > 0) {
- // clicked inside a select2 search choice, do not open
- return;
- }
- this.clearPlaceholder();
- this.open();
- this.focusSearch();
- e.preventDefault();
- }));
-
- this.container.delegate(selector, "focus", this.bind(function () {
- if (!this.enabled) return;
- this.container.addClass("select2-container-active");
- this.dropdown.addClass("select2-drop-active");
- this.clearPlaceholder();
- }));
-
- // set the placeholder if necessary
- this.clearSearch();
- },
-
- // multi
- enable: function() {
- if (this.enabled) return;
-
- this.parent.enable.apply(this, arguments);
-
- this.search.removeAttr("disabled");
- },
-
- // multi
- disable: function() {
- if (!this.enabled) return;
-
- this.parent.disable.apply(this, arguments);
-
- this.search.attr("disabled", true);
- },
-
- // multi
- initSelection: function () {
- var data;
- if (this.opts.element.val() === "") {
- this.updateSelection([]);
- this.close();
- // set the placeholder if necessary
- this.clearSearch();
- }
- if (this.select || this.opts.element.val() !== "") {
- var self = this;
- this.opts.initSelection.call(null, this.opts.element, function(data){
- if (data !== undefined && data !== null) {
- self.updateSelection(data);
- self.close();
- // set the placeholder if necessary
- self.clearSearch();
- }
- });
- }
- },
-
- // multi
- clearSearch: function () {
- var placeholder = this.getPlaceholder();
-
- if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
- this.search.val(placeholder).addClass("select2-default");
- // stretch the search box to full width of the container so as much of the placeholder is visible as possible
- this.resizeSearch();
- } else {
- // we set this to " " instead of "" and later clear it on focus() because there is a firefox bug
- // that does not properly render the caret when the field starts out blank
- this.search.val(" ").width(10);
- }
- },
-
- // multi
- clearPlaceholder: function () {
- if (this.search.hasClass("select2-default")) {
- this.search.val("").removeClass("select2-default");
- } else {
- // work around for the space character we set to avoid firefox caret bug
- if (this.search.val() === " ") this.search.val("");
- }
- },
-
- // multi
- opening: function () {
- this.parent.opening.apply(this, arguments);
-
- this.clearPlaceholder();
- this.resizeSearch();
- this.focusSearch();
- },
-
- // multi
- close: function () {
- if (!this.opened()) return;
- this.parent.close.apply(this, arguments);
- },
-
- // multi
- focus: function () {
- this.close();
- this.search.focus();
- },
-
- // multi
- isFocused: function () {
- return this.search.hasClass("select2-focused");
- },
-
- // multi
- updateSelection: function (data) {
- var ids = [], filtered = [], self = this;
-
- // filter out duplicates
- $(data).each(function () {
- if (indexOf(self.id(this), ids) < 0) {
- ids.push(self.id(this));
- filtered.push(this);
- }
- });
- data = filtered;
-
- this.selection.find(".select2-search-choice").remove();
- $(data).each(function () {
- self.addSelectedChoice(this);
- });
- self.postprocessResults();
- },
-
- tokenize: function() {
- var input = this.search.val();
- input = this.opts.tokenizer(input, this.data(), this.bind(this.onSelect), this.opts);
- if (input != null && input != undefined) {
- this.search.val(input);
- if (input.length > 0) {
- this.open();
- }
- }
-
- },
-
- // multi
- onSelect: function (data) {
- this.addSelectedChoice(data);
- if (this.select) { this.postprocessResults(); }
-
- if (this.opts.closeOnSelect) {
- this.close();
- this.search.width(10);
- } else {
- if (this.countSelectableResults()>0) {
- this.search.width(10);
- this.resizeSearch();
- this.positionDropdown();
- } else {
- // if nothing left to select close
- this.close();
- }
- }
-
- // since its not possible to select an element that has already been
- // added we do not need to check if this is a new element before firing change
- this.triggerChange({ added: data });
-
- this.focusSearch();
- },
-
- // multi
- cancel: function () {
- this.close();
- this.focusSearch();
- },
-
- // multi
- addSelectedChoice: function (data) {
- var choice=$(
- "" +
- "
" +
- " " +
- " "),
- id = this.id(data),
- val = this.getVal(),
- formatted;
-
- formatted=this.opts.formatSelection(data, choice);
- choice.find("div").replaceWith(""+this.opts.escapeMarkup(formatted)+"
");
- choice.find(".select2-search-choice-close")
- .bind("mousedown", killEvent)
- .bind("click dblclick", this.bind(function (e) {
- if (!this.enabled) return;
-
- $(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function(){
- this.unselect($(e.target));
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
- this.close();
- this.focusSearch();
- })).dequeue();
- killEvent(e);
- })).bind("focus", this.bind(function () {
- if (!this.enabled) return;
- this.container.addClass("select2-container-active");
- this.dropdown.addClass("select2-drop-active");
- }));
-
- choice.data("select2-data", data);
- choice.insertBefore(this.searchContainer);
-
- val.push(id);
- this.setVal(val);
- },
-
- // multi
- unselect: function (selected) {
- var val = this.getVal(),
- data,
- index;
-
- selected = selected.closest(".select2-search-choice");
-
- if (selected.length === 0) {
- throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
- }
-
- data = selected.data("select2-data");
-
- index = indexOf(this.id(data), val);
-
- if (index >= 0) {
- val.splice(index, 1);
- this.setVal(val);
- if (this.select) this.postprocessResults();
- }
- selected.remove();
- this.triggerChange({ removed: data });
- },
-
- // multi
- postprocessResults: function () {
- var val = this.getVal(),
- choices = this.results.find(".select2-result-selectable"),
- compound = this.results.find(".select2-result-with-children"),
- self = this;
-
- choices.each2(function (i, choice) {
- var id = self.id(choice.data("select2-data"));
- if (indexOf(id, val) >= 0) {
- choice.addClass("select2-disabled").removeClass("select2-result-selectable");
- } else {
- choice.removeClass("select2-disabled").addClass("select2-result-selectable");
- }
- });
-
- compound.each2(function(i, e) {
- if (e.find(".select2-result-selectable").length==0) {
- e.addClass("select2-disabled");
- } else {
- e.removeClass("select2-disabled");
- }
- });
-
- choices.each2(function (i, choice) {
- if (!choice.hasClass("select2-disabled") && choice.hasClass("select2-result-selectable")) {
- self.highlight(0);
- return false;
- }
- });
-
- },
-
- // multi
- resizeSearch: function () {
-
- var minimumWidth, left, maxWidth, containerLeft, searchWidth,
- sideBorderPadding = getSideBorderPadding(this.search);
-
- minimumWidth = measureTextWidth(this.search) + 10;
-
- left = this.search.offset().left;
-
- maxWidth = this.selection.width();
- containerLeft = this.selection.offset().left;
-
- searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
- if (searchWidth < minimumWidth) {
- searchWidth = maxWidth - sideBorderPadding;
- }
-
- if (searchWidth < 40) {
- searchWidth = maxWidth - sideBorderPadding;
- }
- this.search.width(searchWidth);
- },
-
- // multi
- getVal: function () {
- var val;
- if (this.select) {
- val = this.select.val();
- return val === null ? [] : val;
- } else {
- val = this.opts.element.val();
- return splitVal(val, this.opts.separator);
- }
- },
-
- // multi
- setVal: function (val) {
- var unique;
- if (this.select) {
- this.select.val(val);
- } else {
- unique = [];
- // filter out duplicates
- $(val).each(function () {
- if (indexOf(this, unique) < 0) unique.push(this);
- });
- this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
- }
- },
-
- // multi
- val: function () {
- var val, data = [], self=this;
-
- if (arguments.length === 0) {
- return this.getVal();
- }
-
- val = arguments[0];
-
- if (!val) {
- this.opts.element.val("");
- this.updateSelection([]);
- this.clearSearch();
- return;
- }
-
- // val is a list of ids
- this.setVal(val);
-
- if (this.select) {
- this.select.find(":selected").each(function () {
- data.push({id: $(this).attr("value"), text: $(this).text()});
- });
- this.updateSelection(data);
- } else {
- if (this.opts.initSelection === undefined) {
- throw new Error("val() cannot be called if initSelection() is not defined")
- }
-
- this.opts.initSelection(this.opts.element, function(data){
- var ids=$(data).map(self.id);
- self.setVal(ids);
- self.updateSelection(data);
- self.clearSearch();
- });
- }
- this.clearSearch();
- },
-
- // multi
- onSortStart: function() {
- if (this.select) {
- throw new Error("Sorting of elements is not supported when attached to . Attach to instead.");
- }
-
- // collapse search field into 0 width so its container can be collapsed as well
- this.search.width(0);
- // hide the container
- this.searchContainer.hide();
- },
-
- // multi
- onSortEnd:function() {
-
- var val=[], self=this;
-
- // show search and move it to the end of the list
- this.searchContainer.show();
- // make sure the search container is the last item in the list
- this.searchContainer.appendTo(this.searchContainer.parent());
- // since we collapsed the width in dragStarted, we resize it here
- this.resizeSearch();
-
- // update selection
-
- this.selection.find(".select2-search-choice").each(function() {
- val.push(self.opts.id($(this).data("select2-data")));
- });
- this.setVal(val);
- this.triggerChange();
- },
-
- // multi
- data: function(values) {
- var self=this, ids;
- if (arguments.length === 0) {
- return this.selection
- .find(".select2-search-choice")
- .map(function() { return $(this).data("select2-data"); })
- .get();
- } else {
- if (!values) { values = []; }
- ids = $.map(values, function(e) { return self.opts.id(e)});
- this.setVal(ids);
- this.updateSelection(values);
- this.clearSearch();
- }
- }
- });
-
- $.fn.select2 = function () {
-
- var args = Array.prototype.slice.call(arguments, 0),
- opts,
- select2,
- value, multiple, allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "onSortStart", "onSortEnd", "enable", "disable", "positionDropdown", "data"];
-
- this.each(function () {
- if (args.length === 0 || typeof(args[0]) === "object") {
- opts = args.length === 0 ? {} : $.extend({}, args[0]);
- opts.element = $(this);
-
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
- multiple = opts.element.attr("multiple");
- } else {
- multiple = opts.multiple || false;
- if ("tags" in opts) {opts.multiple = multiple = true;}
- }
-
- select2 = multiple ? new MultiSelect2() : new SingleSelect2();
- select2.init(opts);
- } else if (typeof(args[0]) === "string") {
-
- if (indexOf(args[0], allowedMethods) < 0) {
- throw "Unknown method: " + args[0];
- }
-
- value = undefined;
- select2 = $(this).data("select2");
- if (select2 === undefined) return;
- if (args[0] === "container") {
- value=select2.container;
- } else {
- value = select2[args[0]].apply(select2, args.slice(1));
- }
- if (value !== undefined) {return false;}
- } else {
- throw "Invalid arguments to select2 plugin: " + args;
- }
- });
- return (value === undefined) ? this : value;
- };
-
- // plugin defaults, accessible to users
- $.fn.select2.defaults = {
- width: "copy",
- closeOnSelect: true,
- openOnEnter: true,
- containerCss: {},
- dropdownCss: {},
- containerCssClass: "",
- dropdownCssClass: "",
- formatResult: function(result, container, query) {
- var markup=[];
- markMatch(result.text, query.term, markup);
- return markup.join("");
- },
- formatSelection: function (data, container) {
- return data.text;
- },
- formatResultCssClass: function(data) {return undefined;},
- formatNoMatches: function () { return "No matches found"; },
- formatInputTooShort: function (input, min) { return "Please enter " + (min - input.length) + " more characters"; },
- formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Loading more results..."; },
- formatSearching: function () { return "Searching..."; },
- minimumResultsForSearch: 0,
- minimumInputLength: 0,
- maximumSelectionSize: 0,
- id: function (e) { return e.id; },
- matcher: function(term, text) {
- return text.toUpperCase().indexOf(term.toUpperCase()) >= 0;
- },
- separator: ",",
- tokenSeparators: [],
- tokenizer: defaultTokenizer,
- escapeMarkup: function (markup) {
- if (markup && typeof(markup) === "string") {
- return markup.replace(/&/g, "&");
- }
- return markup;
- },
- blurOnChange: false
- };
-
- // exports
- window.Select2 = {
- query: {
- ajax: ajax,
- local: local,
- tags: tags
- }, util: {
- debounce: debounce,
- markMatch: markMatch
- }, "class": {
- "abstract": AbstractSelect2,
- "single": SingleSelect2,
- "multi": MultiSelect2
- }
- };
-
-}(jQuery));
diff --git a/addons/base_import/static/lib/select2/select2.png b/addons/base_import/static/lib/select2/select2.png
deleted file mode 100644
index 1d804ffb996..00000000000
Binary files a/addons/base_import/static/lib/select2/select2.png and /dev/null differ
diff --git a/addons/base_import/static/lib/select2/select2x2.png b/addons/base_import/static/lib/select2/select2x2.png
deleted file mode 100644
index 4bdd5c961d4..00000000000
Binary files a/addons/base_import/static/lib/select2/select2x2.png and /dev/null differ
diff --git a/addons/base_import/static/lib/select2/spinner.gif b/addons/base_import/static/lib/select2/spinner.gif
deleted file mode 100644
index 5b33f7e54f4..00000000000
Binary files a/addons/base_import/static/lib/select2/spinner.gif and /dev/null differ
diff --git a/addons/base_setup/res_config.py b/addons/base_setup/res_config.py
index dc0b1de12df..763d0784603 100644
--- a/addons/base_setup/res_config.py
+++ b/addons/base_setup/res_config.py
@@ -35,8 +35,6 @@ class base_config_settings(osv.osv_memory):
help="""Share or embbed any screen of openerp."""),
'module_portal': fields.boolean('Activate the customer portal',
help="""Give your customers access to their documents."""),
- 'module_portal_anonymous': fields.boolean('Activate the public portal',
- help="""Enable the public part of openerp, openerp becomes a public website."""),
'module_auth_oauth': fields.boolean('Use external authentication providers, sign in with google, facebook, ...'),
'module_base_import': fields.boolean("Allow users to import data from CSV files"),
'module_google_drive': fields.boolean('Attach Google documents to any record',
diff --git a/addons/base_setup/res_config_view.xml b/addons/base_setup/res_config_view.xml
index 8b89cbb9546..73fc9f83830 100644
--- a/addons/base_setup/res_config_view.xml
+++ b/addons/base_setup/res_config_view.xml
@@ -44,7 +44,7 @@
-
+
When you send a document to a customer
(quotation, invoice), your customer will be
able to signup to get all his documents,
@@ -52,15 +52,6 @@
etc.
-
-
-
(company news, jobs, contact form, etc.)
-
- The public portal is accessible only if you are in a single database mode. You can
- launch the OpenERP Server with the option --db-filter=YOUR_DATABAE to do so.
- Once activated, the login page will be replaced by the public website.
-
-
diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml
index 7ee3287fd75..2f1a2ca16cd 100644
--- a/addons/crm/crm_lead_menu.xml
+++ b/addons/crm/crm_lead_menu.xml
@@ -12,6 +12,7 @@
{
'default_type':'lead',
'stage_type':'lead',
+ 'empty_list_help_model': 'crm.case.section',
'needaction_menu_ref': 'crm.menu_crm_opportunities',
'search_default_unassigned':1,
}
@@ -79,8 +80,7 @@
+ action="crm_case_category_act_leads_all"/>
diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py
index 21a553a59ff..f779237ea71 100644
--- a/addons/crm/wizard/crm_lead_to_opportunity.py
+++ b/addons/crm/wizard/crm_lead_to_opportunity.py
@@ -175,7 +175,6 @@ class crm_lead2opportunity_partner(osv.osv_memory):
ctx['active_id'] = lead_id
partner_id = self._find_matching_partner(cr, uid, context=ctx)
action = 'create'
- print partner_id
res = lead.handle_partner_assignation(cr, uid, [lead_id], action, partner_id, context=context)
return res.get(lead_id)
diff --git a/addons/crm_partner_assign/__openerp__.py b/addons/crm_partner_assign/__openerp__.py
index 3c75ed35911..eae57624970 100644
--- a/addons/crm_partner_assign/__openerp__.py
+++ b/addons/crm_partner_assign/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'CRM Geolocation',
+ 'name': 'Partner Assignation & Geolocation',
'version': '1.0',
'category': 'Customer Relationship Management',
'description': """
@@ -34,8 +34,7 @@ Once the coordinates of the Lead/Opportunity is known, they can be automatically
to an appropriate local partner, based on the distance and the weight that was assigned to the partner.
""",
'author': 'OpenERP SA',
- 'depends': ['crm', 'account', 'portal'],
- 'demo': ['res_partner_demo.xml', 'crm_lead_demo.xml'],
+ 'depends': ['base_geolocalize', 'crm', 'account', 'portal'],
'data': [
'security/ir.model.access.csv',
'res_partner_view.xml',
@@ -48,6 +47,10 @@ to an appropriate local partner, based on the distance and the weight that was a
'report/crm_lead_report_view.xml',
'report/crm_partner_report_view.xml',
],
+ 'demo': [
+ 'res_partner_demo.xml',
+ 'crm_lead_demo.xml'
+ ],
'js': [
'static/src/js/next.js',
],
diff --git a/addons/crm_partner_assign/crm_partner_assign.py b/addons/crm_partner_assign/crm_partner_assign.py
index c5329696b32..046babccf73 100644
--- a/addons/crm_partner_assign/crm_partner_assign.py
+++ b/addons/crm_partner_assign/crm_partner_assign.py
@@ -19,46 +19,12 @@
#
##############################################################################
-import urllib
import random
-try:
- import simplejson as json
-except ImportError:
- import json # noqa
-
+from openerp.addons.base_geolocalize.models.res_partner import geo_find, geo_query_address
from openerp.osv import osv
from openerp.osv import fields
-from openerp.tools.translate import _
-from openerp import tools
-def geo_find(addr):
- url = 'https://maps.googleapis.com/maps/api/geocode/json?sensor=false&address='
- url += urllib.quote(addr.encode('utf8'))
-
- try:
- result = json.load(urllib.urlopen(url))
- except Exception, e:
- raise osv.except_osv(_('Network error'),
- _('Cannot contact geolocation servers. Please make sure that your internet connection is up and running (%s).') % e)
- if result['status'] != 'OK':
- return None
-
- try:
- geo = result['results'][0]['geometry']['location']
- return float(geo['lat']), float(geo['lng'])
- except (KeyError, ValueError):
- return None
-
-def geo_query_address(street=None, zip=None, city=None, state=None, country=None):
- if country and ',' in country and (country.endswith(' of') or country.endswith(' of the')):
- # put country qualifier in front, otherwise GMap gives wrong results,
- # e.g. 'Congo, Democratic Republic of the' => 'Democratic Republic of the Congo'
- country = '{1} {0}'.format(*country.split(',',1))
- return tools.ustr(', '.join(filter(None, [street,
- ("%s %s" % (zip or '', city or '')).strip(),
- state,
- country])))
class res_partner_grade(osv.osv):
_order = 'sequence'
@@ -88,9 +54,6 @@ class res_partner_activation(osv.osv):
class res_partner(osv.osv):
_inherit = "res.partner"
_columns = {
- 'partner_latitude': fields.float('Geo Latitude'),
- 'partner_longitude': fields.float('Geo Longitude'),
- 'date_localization': fields.date('Geo Localization Date'),
'partner_weight': fields.integer('Grade Weight',
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)"),
'opportunity_assigned_ids': fields.one2many('crm.lead', 'partner_assigned_id',\
@@ -100,6 +63,14 @@ class res_partner(osv.osv):
'date_partnership' : fields.date('Partnership Date'),
'date_review' : fields.date('Latest Partner Review'),
'date_review_next' : fields.date('Next Partner Review'),
+ # customer implementation
+ 'assigned_partner_id': fields.many2one(
+ 'res.partner', 'Implementedy by',
+ ),
+ 'implemented_partner_ids': fields.one2many(
+ 'res.partner', 'assigned_partner_id',
+ string='Implementation References',
+ ),
}
_defaults = {
'partner_weight': lambda *args: 0
@@ -111,23 +82,7 @@ class res_partner(osv.osv):
partner_grade = self.pool.get('res.partner.grade').browse(cr, uid, grade_id)
res['value']['partner_weight'] = partner_grade.partner_weight
return res
- def geo_localize(self, cr, uid, ids, context=None):
- # Don't pass context to browse()! We need country names in english below
- for partner in self.browse(cr, uid, ids):
- if not partner:
- continue
- result = geo_find(geo_query_address(street=partner.street,
- zip=partner.zip,
- city=partner.city,
- state=partner.state_id.name,
- country=partner.country_id.name))
- if result:
- self.write(cr, uid, [partner.id], {
- 'partner_latitude': result[0],
- 'partner_longitude': result[1],
- 'date_localization': fields.date.context_today(self,cr,uid,context=context)
- }, context=context)
- return True
+
class crm_lead(osv.osv):
_inherit = "crm.lead"
diff --git a/addons/crm_partner_assign/portal_data.xml b/addons/crm_partner_assign/portal_data.xml
index 0d4a5b30abd..da0660c3446 100644
--- a/addons/crm_partner_assign/portal_data.xml
+++ b/addons/crm_partner_assign/portal_data.xml
@@ -3,25 +3,10 @@
-
- openerp.portal.res.partner
-
-
-
-
-
-
-
-
- openerp.portal.res.partner
-
-
- [('id','child_of',user.commercial_partner_id.id)]
-
openerp.portal.res.partner.grade
-
+
@@ -32,13 +17,13 @@
openerp.portal.crm.lead
-
+
[('partner_assigned_id','child_of',user.commercial_partner_id.id)]
openerp.portal.crm.lead
-
+
diff --git a/addons/crm_partner_assign/res_partner_demo.xml b/addons/crm_partner_assign/res_partner_demo.xml
index 8e9088165d1..a0711657810 100644
--- a/addons/crm_partner_assign/res_partner_demo.xml
+++ b/addons/crm_partner_assign/res_partner_demo.xml
@@ -1,13 +1,109 @@
-
- First
+
+ Platinum
+ 4
+
+
+ Gold
+ 3
+
+
+ Silver
+ 2
+
+
+ Bronze
1
+
-
+
10
+
+
+
+
+
+ 10
+
+
+
+ 10
+
+
+
+
+ 10
+
+
+
+ 10
+
+
+
+ 10
+
+
+
+
+ 10
+
+
+
+ 10
+
+
+
+ 10
+
+
+
+
+ 10
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/crm_partner_assign/res_partner_view.xml b/addons/crm_partner_assign/res_partner_view.xml
index 734d5a31e95..c298832a2e6 100644
--- a/addons/crm_partner_assign/res_partner_view.xml
+++ b/addons/crm_partner_assign/res_partner_view.xml
@@ -98,13 +98,14 @@
-
- res.partner.geo.inherit
+
+ res.partner.assign.inherit
res.partner
-
+
-
-
+
+
+
diff --git a/addons/crm_partner_assign/security/ir.model.access.csv b/addons/crm_partner_assign/security/ir.model.access.csv
index 81d74bf43e3..6a26c574a1c 100644
--- a/addons/crm_partner_assign/security/ir.model.access.csv
+++ b/addons/crm_partner_assign/security/ir.model.access.csv
@@ -5,4 +5,4 @@ access_crm_partner_report,crm.partner.report.assign.all,model_crm_partner_report
access_res_partner_grade,res.partner.grade,model_res_partner_grade,base.group_sale_salesman,1,1,1,0
access_res_partner_grade_manager,res.partner.grade.manager,model_res_partner_grade,base.group_sale_manager,1,1,1,1
"access_partner_activation_manager","res.partner.activation.manager","model_res_partner_activation","base.group_partner_manager",1,1,1,1
-partner_access_crm_lead,crm.lead,model_crm_lead,portal.group_portal,1,1,0,0
\ No newline at end of file
+partner_access_crm_lead,crm.lead,model_crm_lead,base.group_portal,1,1,0,0
\ No newline at end of file
diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py
index fca2f9b746f..a854da9459d 100644
--- a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py
+++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py
@@ -87,7 +87,7 @@ class crm_lead_forward_to_partner(osv.TransientModel):
raise osv.except_osv(_('Email Template Error'),
_('The Forward Email Template is not in the database'))
try:
- portal_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'portal', 'group_portal')[1]
+ portal_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'group_portal')[1]
except ValueError:
raise osv.except_osv(_('Portal Group Error'),
_('The Portal group cannot be found'))
diff --git a/addons/decimal_precision/decimal_precision.py b/addons/decimal_precision/decimal_precision.py
index 0e72035651b..9af09704b61 100644
--- a/addons/decimal_precision/decimal_precision.py
+++ b/addons/decimal_precision/decimal_precision.py
@@ -22,10 +22,10 @@
import openerp
from openerp import SUPERUSER_ID
from openerp import tools
-from openerp.osv import osv, fields
+from openerp.osv import orm, fields
from openerp.modules.registry import RegistryManager
-class decimal_precision(osv.osv):
+class decimal_precision(orm.Model):
_name = 'decimal.precision'
_columns = {
'name': fields.char('Usage', size=50, select=True, required=True),
@@ -77,4 +77,29 @@ def get_precision(application):
return (16, res)
return change_digit
+class DecimalPrecisionFloat(orm.AbstractModel):
+ """ Override qweb.field.float to add a `decimal_precision` domain option
+ and use that instead of the column's own value if it is specified
+ """
+ _inherit = 'ir.qweb.field.float'
+
+
+ def precision(self, cr, uid, column, options=None, context=None):
+ dp = options and options.get('decimal_precision')
+ if dp:
+ return self.pool['decimal.precision'].precision_get(
+ cr, uid, dp)
+
+ return super(DecimalPrecisionFloat, self).precision(
+ cr, uid, column, options=options, context=context)
+
+class DecimalPrecisionTestModel(orm.Model):
+ _name = 'decimal.precision.test'
+
+ _columns = {
+ 'float': fields.float(),
+ 'float_2': fields.float(digits=(16, 2)),
+ 'float_4': fields.float(digits=(16, 4)),
+ }
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/decimal_precision/security/ir.model.access.csv b/addons/decimal_precision/security/ir.model.access.csv
index aa203eae141..d55da432c57 100644
--- a/addons/decimal_precision/security/ir.model.access.csv
+++ b/addons/decimal_precision/security/ir.model.access.csv
@@ -1,3 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_decimal_precision_config,decimal.precision configuration,model_decimal_precision,base.group_system,1,1,1,1
access_decimal_precision_all,decimal.precision,model_decimal_precision,,1,0,0,0
+access_decimal_precision_test_all,decimal.precision.test,model_decimal_precision_test,,1,1,1,1
diff --git a/addons/decimal_precision/tests/__init__.py b/addons/decimal_precision/tests/__init__.py
new file mode 100644
index 00000000000..feee24c8f15
--- /dev/null
+++ b/addons/decimal_precision/tests/__init__.py
@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+import test_qweb_float
+
+checks = [
+ test_qweb_float
+]
diff --git a/addons/decimal_precision/tests/test_qweb_float.py b/addons/decimal_precision/tests/test_qweb_float.py
new file mode 100644
index 00000000000..93334170f37
--- /dev/null
+++ b/addons/decimal_precision/tests/test_qweb_float.py
@@ -0,0 +1,66 @@
+# -*- coding: utf-8 -*-
+from openerp.tests import common
+
+class TestFloatExport(common.TransactionCase):
+ def setUp(self):
+ super(TestFloatExport, self).setUp()
+ self.Model = self.registry('decimal.precision.test')
+
+ def get_converter(self, name):
+ converter = self.registry('ir.qweb.field.float')
+ column = self.Model._all_columns[name].column
+
+ return lambda value, options=None: converter.value_to_html(
+ self.cr, self.uid, value, column, options=options, context=None)
+
+ def test_basic_float(self):
+ converter = self.get_converter('float')
+ self.assertEqual(
+ converter(42.0),
+ "42.0")
+ self.assertEqual(
+ converter(42.12345),
+ "42.12345")
+
+ converter = self.get_converter('float_2')
+ self.assertEqual(
+ converter(42.0),
+ "42.00")
+ self.assertEqual(
+ converter(42.12345),
+ "42.12")
+
+ converter = self.get_converter('float_4')
+ self.assertEqual(
+ converter(42.0),
+ '42.0000')
+ self.assertEqual(
+ converter(42.12345),
+ '42.1234')
+
+ def test_precision_domain(self):
+ DP = self.registry('decimal.precision')
+ DP.create(self.cr, self.uid, {
+ 'name': 'A',
+ 'digits': 2,
+ })
+ DP.create(self.cr, self.uid, {
+ 'name': 'B',
+ 'digits': 6,
+ })
+
+ converter = self.get_converter('float')
+ self.assertEqual(
+ converter(42.0, {'decimal_precision': 'A'}),
+ '42.00')
+ self.assertEqual(
+ converter(42.0, {'decimal_precision': 'B'}),
+ '42.000000')
+
+ converter = self.get_converter('float_4')
+ self.assertEqual(
+ converter(42.12345, {'decimal_precision': 'A'}),
+ '42.12')
+ self.assertEqual(
+ converter(42.12345, {'decimal_precision': 'B'}),
+ '42.123450')
diff --git a/addons/delivery/__openerp__.py b/addons/delivery/__openerp__.py
index 0ea891bb6ae..1ee6bf413ec 100644
--- a/addons/delivery/__openerp__.py
+++ b/addons/delivery/__openerp__.py
@@ -32,7 +32,7 @@ You can define your own carrier and delivery grids for prices. When creating
invoices from picking, OpenERP is able to add and compute the shipping line.
""",
'author': 'OpenERP SA',
- 'depends': ['sale', 'purchase', 'stock'],
+ 'depends': ['sale_stock'],
'data': [
'security/ir.model.access.csv',
'delivery_report.xml',
diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py
index 76750212edd..8f474461cf7 100644
--- a/addons/delivery/delivery.py
+++ b/addons/delivery/delivery.py
@@ -110,11 +110,11 @@ class delivery_carrier(osv.osv):
# not using advanced pricing per destination: override grid
grid_id = grid_pool.search(cr, uid, [('carrier_id', '=', record.id)], context=context)
-
if grid_id and not (record.normal_price or record.free_if_more_than):
grid_pool.unlink(cr, uid, grid_id, context=context)
- if not (record.normal_price or record.free_if_more_than):
+ # Check that float, else 0.0 is False
+ if not (isinstance(record.normal_price,float) or record.free_if_more_than):
continue
if not grid_id:
@@ -141,7 +141,7 @@ class delivery_carrier(osv.osv):
'list_price': 0.0,
}
grid_line_pool.create(cr, uid, line_data, context=context)
- if record.normal_price:
+ if isinstance(record.normal_price,float):
line_data = {
'grid_id': grid_id and grid_id[0],
'name': _('Default price'),
@@ -192,7 +192,7 @@ class delivery_grid(osv.osv):
weight = 0
volume = 0
for line in order.order_line:
- if not line.product_id:
+ if not line.product_id or line.is_delivery:
continue
total += line.price_subtotal or 0.0
weight += (line.product_id.weight or 0.0) * line.product_uom_qty
@@ -205,9 +205,8 @@ class delivery_grid(osv.osv):
grid = self.browse(cr, uid, id, context=context)
price = 0.0
ok = False
-
+ price_dict = {'price': total, 'volume':volume, 'weight': weight, 'wv':volume*weight}
for line in grid.line_ids:
- price_dict = {'price': total, 'volume':volume, 'weight': weight, 'wv':volume*weight}
test = eval(line.type+line.operator+str(line.max_value), price_dict)
if test:
if line.price_type=='variable':
diff --git a/addons/delivery/delivery_demo.xml b/addons/delivery/delivery_demo.xml
index 9c412b24957..f090947d57f 100644
--- a/addons/delivery/delivery_demo.xml
+++ b/addons/delivery/delivery_demo.xml
@@ -32,13 +32,15 @@
The Poste
+ 20
+
Free delivery charges
- 10
+ 0
True
1000
diff --git a/addons/delivery/sale.py b/addons/delivery/sale.py
index 1b797290632..dbebd01ef1e 100644
--- a/addons/delivery/sale.py
+++ b/addons/delivery/sale.py
@@ -20,21 +20,37 @@
##############################################################################
import time
-from openerp.osv import fields,osv
+from openerp.osv import fields, osv
from openerp.tools.translate import _
-# Overloaded sale_order to manage carriers :
-class sale_order(osv.osv):
+
+class sale_order_line(osv.Model):
+ _inherit = 'sale.order.line'
+
+ _columns = {
+ 'is_delivery': fields.boolean("Is a Delivery"),
+ }
+
+ _defaults = {
+ 'is_delivery': False
+ }
+
+
+class sale_order(osv.Model):
_inherit = 'sale.order'
_columns = {
- 'carrier_id':fields.many2one("delivery.carrier", "Delivery Method", help="Complete this field if you plan to invoice the shipping based on picking."),
+ 'carrier_id': fields.many2one(
+ "delivery.carrier", string="Delivery Method",
+ help="Complete this field if you plan to invoice the shipping based on picking."),
}
def onchange_partner_id(self, cr, uid, ids, part, context=None):
result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part, context=context)
if part:
dtype = self.pool.get('res.partner').browse(cr, uid, part, context=context).property_delivery_carrier.id
- result['value']['carrier_id'] = dtype
+ # TDE NOTE: not sure the aded 'if dtype' is valid
+ if dtype:
+ result['value']['carrier_id'] = dtype
return result
def _prepare_order_picking(self, cr, uid, order, context=None):
@@ -42,18 +58,25 @@ class sale_order(osv.osv):
result.update(carrier_id=order.carrier_id.id)
return result
+ def _delivery_unset(self, cr, uid, order, context=None):
+ line_ids = [line.id for line in order.order_line if line.is_delivery]
+ self.pool['sale.order.line'].unlink(cr, uid, line_ids, context=context)
+ order.refresh()
+ return True
+
def delivery_set(self, cr, uid, ids, context=None):
- order_obj = self.pool.get('sale.order')
line_obj = self.pool.get('sale.order.line')
grid_obj = self.pool.get('delivery.grid')
carrier_obj = self.pool.get('delivery.carrier')
acc_fp_obj = self.pool.get('account.fiscal.position')
+
for order in self.browse(cr, uid, ids, context=context):
+ self._delivery_unset(cr, uid, order, context=context)
grid_id = carrier_obj.grid_get(cr, uid, [order.carrier_id.id], order.partner_shipping_id.id)
if not grid_id:
raise osv.except_osv(_('No Grid Available!'), _('No grid matching for this carrier!'))
- if not order.state in ('draft'):
+ if order.state != 'draft':
raise osv.except_osv(_('Order not in Draft State!'), _('The order state have to be draft to add delivery lines.'))
grid = grid_obj.browse(cr, uid, grid_id, context=context)
@@ -69,13 +92,7 @@ class sale_order(osv.osv):
'product_uom': grid.carrier_id.product_id.uom_id.id,
'product_id': grid.carrier_id.product_id.id,
'price_unit': grid_obj.get_price(cr, uid, grid.id, order, time.strftime('%Y-%m-%d'), context),
- 'tax_id': [(6,0,taxes_ids)],
- 'type': 'make_to_stock'
+ 'tax_id': [(6, 0, taxes_ids)],
+ 'type': 'make_to_stock',
+ 'is_delivery': True
})
- #remove the value of the carrier_id field on the sale order
- return self.write(cr, uid, ids, {'carrier_id': False}, context=context)
- #return {'type': 'ir.actions.act_window_close'} action reload?
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/document_page/document_page.py b/addons/document_page/document_page.py
deleted file mode 100644
index 7f885018001..00000000000
--- a/addons/document_page/document_page.py
+++ /dev/null
@@ -1,133 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from openerp.osv import fields, osv
-from openerp.tools.translate import _
-import difflib
-from openerp import tools
-
-class document_page(osv.osv):
- _name = "document.page"
- _description = "Document Page"
- _order = 'name'
-
- def _get_page_index(self, cr, uid, page, link=True):
- index = []
- for subpage in page.child_ids:
- index += [""+ self._get_page_index(cr, uid, subpage) +" "]
- r = ''
- if link:
- r = '%s '%(page.id,page.name)
- if index:
- r += ""
- return r
-
- def _get_display_content(self, cr, uid, ids, name, args, context=None):
- res = {}
- for page in self.browse(cr, uid, ids, context=context):
- if page.type == "category":
- content = self._get_page_index(cr, uid, page, link=False)
- else:
- content = page.content
- res[page.id] = content
- return res
-
- _columns = {
- 'name': fields.char('Title', required=True),
- 'type':fields.selection([('content','Content'), ('category','Category')], 'Type', help="Page type"),
-
- 'parent_id': fields.many2one('document.page', 'Category', domain=[('type','=','category')]),
- 'child_ids': fields.one2many('document.page', 'parent_id', 'Children'),
-
- 'content': fields.text("Content"),
- 'display_content': fields.function(_get_display_content, string='Displayed Content', type='text'),
-
- 'history_ids': fields.one2many('document.page.history', 'page_id', 'History'),
- 'menu_id': fields.many2one('ir.ui.menu', "Menu", readonly=True),
-
- 'create_date': fields.datetime("Created on", select=True, readonly=True),
- 'create_uid': fields.many2one('res.users', 'Author', select=True, readonly=True),
- 'write_date': fields.datetime("Modification Date", select=True, readonly=True),
- 'write_uid': fields.many2one('res.users', "Last Contributor", select=True, readonly=True),
- }
- _defaults = {
- 'type':'content',
- }
-
- def onchange_parent_id(self, cr, uid, ids, parent_id, content, context=None):
- res = {}
- if parent_id and not content:
- parent = self.browse(cr, uid, parent_id, context=context)
- if parent.type == "category":
- res['value'] = {
- 'content': parent.content,
- }
- return res
-
- def create_history(self, cr, uid, ids, vals, context=None):
- for i in ids:
- history = self.pool.get('document.page.history')
- if vals.get('content'):
- res = {
- 'content': vals.get('content', ''),
- 'page_id': i,
- }
- history.create(cr, uid, res)
-
- def create(self, cr, uid, vals, context=None):
- page_id = super(document_page, self).create(cr, uid, vals, context)
- self.create_history(cr, uid, [page_id], vals, context)
- return page_id
-
- def write(self, cr, uid, ids, vals, context=None):
- result = super(document_page, self).write(cr, uid, ids, vals, context)
- self.create_history(cr, uid, ids, vals, context)
- return result
-
-class document_page_history(osv.osv):
- _name = "document.page.history"
- _description = "Document Page History"
- _order = 'id DESC'
- _rec_name = "create_date"
-
- _columns = {
- 'page_id': fields.many2one('document.page', 'Page'),
- 'summary': fields.char('Summary', size=256, select=True),
- 'content': fields.text("Content"),
- 'create_date': fields.datetime("Date"),
- 'create_uid': fields.many2one('res.users', "Modified By"),
- }
-
- def getDiff(self, cr, uid, v1, v2, context=None):
- history_pool = self.pool.get('document.page.history')
- text1 = history_pool.read(cr, uid, [v1], ['content'])[0]['content']
- text2 = history_pool.read(cr, uid, [v2], ['content'])[0]['content']
- line1 = line2 = ''
- if text1:
- line1 = text1.splitlines(1)
- if text2:
- line2 = text2.splitlines(1)
- if (not line1 and not line2) or (line1 == line2):
- raise osv.except_osv(_('Warning!'), _('There are no changes in revisions.'))
- diff = difflib.HtmlDiff()
- return diff.make_table(line1, line2, "Revision-%s" % (v1), "Revision-%s" % (v2), context=True)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/document_page/document_page_data.xml b/addons/document_page/document_page_data.xml
deleted file mode 100644
index 1cef65694d8..00000000000
--- a/addons/document_page/document_page_data.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
- The OpenERP wiki
- help, quick start, wiki, formatting
- 0
- 1
- Initial Page
- ==The OpenERP wiki==
-
-[[File:http://www.openerp.com/sites/all/themes/openerp/logo.png OpenERP]]
-
-The OpenERP wiki allows you to manage your enterprise's contents using wiki
-restructured texts. This module provides a collaborative way to manage internal
-FAQs, quality manuals, technical references, etc.
-
-==Keypoints==
-* Same formating style than MediaWiki,
-* Any number of wiki group for different purposes,
-* Detailed history on all pages,
-* Integrated with the document management system.
-
-==Why you should use the OpenERP integrated wiki than a separate wiki system ?==
-* Allows links to any document of the system,
-* Uses the access controls of OpenERP for uniq access rights management,
-* Use it to describe projects, tasks, products,
-* Integrated with customer portal to provide restricted external accesses,
-* Linked to users processes for quality manuals.
-
-==To get more information==
-* [[Basic Wiki Editing]]
-* [[Wiki Documentation]]
-* [http://openerp.com The OpenERP website]
-
-
-
-
-
-
-
diff --git a/addons/document_page/document_page_demo.xml b/addons/document_page/document_page_demo.xml
deleted file mode 100644
index f779ea8313f..00000000000
--- a/addons/document_page/document_page_demo.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
-
-
-
- OpenERP Features
- category
-
-Summary of the feature
-
-Long explanation
-
-Conclusion
-
-Additional ressources
-
-
-
-
-
- OpenERP 6.1. Functional Demo
-
-
-
-
-The news is out, OpenERP's latest version 6.1. is here. It's more
-user-friendly, even more business oriented and efficient to manage your company
-
-How to discover the latest version 6.1.?
-
-Demo :
-Online:
-Download:
-
-We have also put together a functional demo that presents 6.1. Watch this video
-to learn directly from us what OpenERP 6.1. can do for you. Share it in your
-company, with your clients and implement it now for your business.
-
-Watch on Youtube!
-
-VIDEO
-
-
-]]>
-
-
-
-
- Personalise Dashboards
-
-
-
-You like OpenERP, but feel like you want to personalise it more? Now, OpenERP
-goes a step further and lets you customize your dashboard. Thanks to a new
-feature that allows you to customize your dashboard by adding new boards of any
-search view.
-
-How is it done?
-
-Step 1: access one search view
-
-Step 2: apply the filter you want to see at each connection to the application
-(eg. on sales, manufacturing, etc)
-
-Step 3: add it into the dashboard in the same space where you can save the filter
-
-Step 4: choose the application you want it visible on and the name of the array
-
-Look at this simple example below from Purchase, where I want to put on the
-application's dashboard "Purchases to Approve". After I access the search view
-and apply the filter for "Purchases to Approve", I can add it immediately to my
-Purchase dashboard.
-
-
-
-In less than a minute, the search view is visible on the dashboard
-
-
-
-Of course, you are free to delete what you don't need or like, but just in case
-you change your mind there is a reset button to return to the default view.
-
-
-]]>
-
-
-
-
- Touchscreen Point of Sale
-
-
-
-The brand new OpenERP touchscreen point of sale available with 6.1 allows you
-to manage your shop sales very easily. It's fully web based so that you don't
-have to install or deploy any software and all the sales shops can be easily
-consolidated. It works in connected and disconnected modes so that you can
-continue to sell if you lose your internet connection.
-
-
-
-Here's a summary of its main features and benefits:
-
-100% WEB based
-
-available for any touchscreen device (ipod, ipad, any tablet)mobile (with portable devices) no installation required no synchronization needed, completely integrated continue working even when your connection is down if you close your browser, data won't be lost fully web based with a clean interface smart interface
-
-You have different options to select your products. You can do it through the
-barcode reader, just browse through the categories you have put in place (ie.
-drinks, snacks, meals, etc.), or text search in case neither of the other
-options work for you. If you need to use the POS for your restaurant, for
-example, your employees can record at the same time multiple tickets without
-having to wait to do one transaction at a time. Along, to facilitate payment,
-the application allows multiple payment methods.
-
-The POS application is so simple and accessible to use that your shop or
-restaurant will never need any other tool to manage orders. Due to its smart
-and user-friendly interface you don't need any training to learn how to use it.
-Think of it as an out-of-the-box solution to boost your business' productivity.
-
-]]>
-
-
-
-
-
diff --git a/addons/document_page/document_page_view.xml b/addons/document_page/document_page_view.xml
deleted file mode 100644
index 9afb29c787a..00000000000
--- a/addons/document_page/document_page_view.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-
-
-
-
-
-
- document.page.tree
- document.page
- child_ids
- 100
-
-
-
-
-
-
-
-
-
-
- document.page.list
- document.page
-
-
-
-
-
-
-
-
-
-
-
-
- document.page.form
- document.page
-
-
-
-
-
-
- document.page.search
- document.page
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pages
- document.page
- [('type','=','content')]
- {'default_type': 'content'}
- form
- tree,form
-
-
-
-
- Click to create a new web page.
-
-
-
-
-
- Category
- document.page
- [('type','=','category')]
- {'default_type': 'category'}
- form
- tree,form
-
-
-
-
-
-
-
- document.page.history.tree
- document.page.history
-
-
-
-
-
-
-
-
-
-
- document.page.history.form
- document.page.history
-
-
-
-
-
-
- Page history
- document.page.history
- form
- tree,form
-
-
-
-
-
-
-
diff --git a/addons/document_page/i18n/ar.po b/addons/document_page/i18n/ar.po
deleted file mode 100644
index 4a5d1cca30a..00000000000
--- a/addons/document_page/i18n/ar.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Arabic translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-08-13 12:08+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Arabic \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "الفئة"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "المشارك الاخير"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "الكاتب"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "القائمة"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "تاريخ الصفحة"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "المحتوى"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "تجميع حسب..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "الاسم"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "النوع"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "تم التعديل عليها بواسطة"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "أو"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "نوع الصفحة"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "معلومات القائمة"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/bg.po b/addons/document_page/i18n/bg.po
deleted file mode 100644
index 49bef90299d..00000000000
--- a/addons/document_page/i18n/bg.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:12+0000\n"
-"Last-Translator: Boris \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Автор"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Меню"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Съдържание"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Групиране по..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Заглавие"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Информация за меню"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Дата"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Страници"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Надменю"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Създадено на"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Резюме"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Име на меню"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Дата на редакция"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Създай меню"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Отказ"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Различия"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/bs.po b/addons/document_page/i18n/bs.po
deleted file mode 100644
index 0df98abacb7..00000000000
--- a/addons/document_page/i18n/bs.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:14+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/ca.po b/addons/document_page/i18n/ca.po
deleted file mode 100644
index fa3b94a4e4b..00000000000
--- a/addons/document_page/i18n/ca.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:13+0000\n"
-"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
-"\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Últim col·laborador"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menú"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Històric pàgina"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Contingut"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Agrupa per..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Títol"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Assistent 'Crea menú'"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informació del menú"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Data"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Diferència"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Pàgines"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menú pare"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Creat el"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Resum"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nom menú"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Data modificació"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Crea menú"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Cancel·la"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Dif."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/cs.po b/addons/document_page/i18n/cs.po
deleted file mode 100644
index 32a3acd3e6b..00000000000
--- a/addons/document_page/i18n/cs.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:12+0000\n"
-"Last-Translator: Jiří Hajda \n"
-"Language-Team: Czech \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-"X-Poedit-Language: Czech\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Poslední přispěvatel"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Nabídka"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Historie stránky"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Obsah"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Seskupit podle..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Název"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Průvodce vytvořením nabídky"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informace nabídky"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Rozdíly"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Stránky"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Rodičovská nabídka"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Vytvořeno"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Shrnutí"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Jméno nabídky"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Datum změny"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Vytvořit nabídku"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Zrušit"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Rozdíl"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/da.po b/addons/document_page/i18n/da.po
deleted file mode 100644
index d5cad430131..00000000000
--- a/addons/document_page/i18n/da.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Danish translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-08-13 12:08+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Danish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/de.po b/addons/document_page/i18n/de.po
deleted file mode 100644
index 80fcf858d9a..00000000000
--- a/addons/document_page/i18n/de.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-# Ferdinand Gassauer , 2010.
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-18 06:54+0000\n"
-"Last-Translator: Ferdinand @ Camptocamp \n"
-"Language-Team: German \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Kategorie"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Letzer Beitragender"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menü"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Dokumentenseite"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Seitenänderungsverlauf"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Inhalt"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Gruppiert je..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Vorlage"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr "diese wird für alle neuen Dokumente dieser Kategorie verwendet"
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Titel"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Assistent für Menüerzeugung"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Typ"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Geändert von"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "oder"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Seitentyp"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Menü"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Dokumenten Seite Historie"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Seiten Historie"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Es gibt keine Veränderungen in den Revisionen"
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Differenz"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Seiten"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Kategorien"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Obermenü"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Erzeugt am"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr "Sie müssen zumindest 1 und maximal 2 Revisionen auswählen"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Seiten Historie"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Zusammenfassung"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Webseiten erstellen"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Dokument Historie"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Menü Bezeichnung"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Seite"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Historie"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Änderung am"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Erzeuge Menü"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Zeige Inhalt"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Warnung!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Differenz"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Dokumententyp"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "abhängige Elemente"
diff --git a/addons/document_page/i18n/document_page.pot b/addons/document_page/i18n/document_page.pot
deleted file mode 100644
index e6332cc864a..00000000000
--- a/addons/document_page/i18n/document_page.pot
+++ /dev/null
@@ -1,253 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * document_page
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 7.0alpha\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-21 17:05+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
-
diff --git a/addons/document_page/i18n/el.po b/addons/document_page/i18n/el.po
deleted file mode 100644
index 7bfc1a2c988..00000000000
--- a/addons/document_page/i18n/el.po
+++ /dev/null
@@ -1,257 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:12+0000\n"
-"Last-Translator: Panagiotis Kranidiotis \n"
-"Language-Team: nls@hellug.gr \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-"X-Poedit-Country: GREECE\n"
-"X-Poedit-Language: Greek\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Δημιουργός"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Μενού"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Περιεχόμενα"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Τίτλος"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Πληροφορίες Μενού"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Ημερομηνία"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Σελίδες"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Μενού Προέλευσης"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Δημιουργήθηκε στις"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Περίληψη"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Όνομα Μενού"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Ημερομηνία Τροποποίησης"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Δημιουργία Μενού"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Ακύρωση"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Διαφ."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/es.po b/addons/document_page/i18n/es.po
deleted file mode 100644
index f046777b380..00000000000
--- a/addons/document_page/i18n/es.po
+++ /dev/null
@@ -1,257 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-11 21:47+0000\n"
-"Last-Translator: Ana Juaristi Olalde \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Categoría"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Último colaborador"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menú"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Página de documento"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Historial página"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Contenido"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Agrupar por..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Plantilla"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"esto será usado como una plantilla de contenido para todas las páginas de "
-"esta categoría."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Asistente crear menú"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tipo"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Modificado por"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "o"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Tipo de página"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Información del menú"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Historia de página de documento"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Historial de páginas"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "No hay cambios en las revisiones."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Fecha"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Diferencia"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Páginas"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Categorías"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menú padre"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Creado en"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-"¡Necesita seleccionar mínimo una y máximo dos revisiones de historial!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Historial de página"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Resumen"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Crear páginas Web"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Historial del Documento"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nombre menú"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Página"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Historial"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Fecha de modificación"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Crear menú"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Contenido mostrado"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "¡Advertencia!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Dif."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Tipo de documento"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Hijos"
diff --git a/addons/document_page/i18n/es_AR.po b/addons/document_page/i18n/es_AR.po
deleted file mode 100644
index 180e3281a22..00000000000
--- a/addons/document_page/i18n/es_AR.po
+++ /dev/null
@@ -1,494 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2009-09-23 14:54+0000\n"
-"Last-Translator: Silvana Herrera \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-09 06:46+0000\n"
-"X-Generator: Launchpad (build 14763)\n"
-
-#. module: wiki
-#: field:wiki.groups,template:0
-msgid "Wiki Template"
-msgstr "Plantilla Wiki"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_wiki
-msgid "Wiki Pages"
-msgstr "Páginas Wiki"
-
-#. module: wiki
-#: field:wiki.groups,method:0
-msgid "Display Method"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_wiki_page_open
-#: view:wiki.wiki.page.open:0
-msgid "Open Page"
-msgstr "Abrir página"
-
-#. module: wiki
-#: field:wiki.groups,menu_id:0
-msgid "Menu"
-msgstr "Menú"
-
-#. module: wiki
-#: field:wiki.wiki,section:0
-msgid "Section"
-msgstr "Sección"
-
-#. module: wiki
-#: help:wiki.wiki,toc:0
-msgid "Indicates that this pages have a table of contents or not"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_history view:wiki.wiki.history:0
-msgid "Wiki History"
-msgstr "Historial Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,minor_edit:0
-msgid "Minor edit"
-msgstr "Edición menor"
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,text_area:0
-msgid "Content"
-msgstr "Contenido"
-
-#. module: wiki
-#: field:wiki.wiki,child_ids:0
-msgid "Child Pages"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,parent_id:0
-msgid "Parent Page"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menú padre"
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_make_index.py:52
-#, python-format
-msgid "There is no section in this Page"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,name:0 view:wiki.wiki:0 field:wiki.wiki,group_id:0
-msgid "Wiki Group"
-msgstr "Grupo Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,history_id:0
-msgid "History Lines"
-msgstr "Líneas del historial"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Page Content"
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:237 code:addons/wiki/wizard/wiki_make_index.py:52
-#, python-format
-msgid "Warning !"
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:237
-#, python-format
-msgid "There are no changes in revisions"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,section:0
-msgid "Use page section code like 1.2.1"
-msgstr "Utilice código de sección de la página, por ejemplo 1.2.1"
-
-#. module: wiki
-#: field:wiki.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nombre del menú"
-
-#. module: wiki
-#: field:wiki.groups,notes:0
-msgid "Description"
-msgstr "Descripción"
-
-#. module: wiki
-#: field:wiki.wiki,review:0
-msgid "Needs Review"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,review:0
-msgid ""
-"Indicates that this page should be reviewed, raising the attention of other "
-"contributors"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.create.menu:0 view:wiki.make.index:0
-msgid "Menu Information"
-msgstr "Información del menú"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history
-msgid "Page History"
-msgstr ""
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "Tree"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Page Template"
-msgstr "Plantilla de página"
-
-#. module: wiki
-#: field:wiki.wiki,tags:0
-msgid "Keywords"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,help:wiki.action_wiki
-msgid ""
-"With Wiki Pages you can share ideas and questions with your coworkers. You "
-"can create a new document that can be linked to one or several applications "
-"(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. "
-"There is a basic wiki editing for text format."
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "Warning"
-msgstr "Aviso"
-
-#. module: wiki
-#: help:wiki.groups,home:0
-msgid "Required to select home page if display method is Home Page"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki.history,create_date:0
-msgid "Date"
-msgstr "Fecha"
-
-#. module: wiki
-#: view:wiki.make.index:0
-msgid "Want to create a Index on Selected Pages ? "
-msgstr "¿Desea crear un índice sobre las páginas seleccionadas? "
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff_values
-#: view:wizard.wiki.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,page_ids:0
-msgid "Pages"
-msgstr "Páginas"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Group Description"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki.page.open:0
-msgid "Want to open a wiki page? "
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,section:0
-msgid "Make Section ?"
-msgstr "¿Crear sección?"
-
-#. module: wiki
-#: field:wiki.wiki.history,text_area:0
-msgid "Text area"
-msgstr "Área de texto"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Meta Information"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,create_date:0
-msgid "Created on"
-msgstr "Creado en"
-
-#. module: wiki
-#: view:wiki.groups:0 view:wizard.wiki.history.show_diff:0
-msgid "Notes"
-msgstr "Notas"
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "List"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,summary:0 field:wiki.wiki.history,summary:0
-msgid "Summary"
-msgstr "Resumen"
-
-#. module: wiki
-#: field:wiki.groups,create_date:0
-msgid "Created Date"
-msgstr "Fecha de creación"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_history
-msgid "All Page Histories"
-msgstr "Todos los historiales de páginas"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki
-msgid "wiki.wiki"
-msgstr "wiki.wiki"
-
-#. module: wiki
-#: help:wiki.groups,method:0
-msgid "Define the default behaviour of the menu created on this group"
-msgstr ""
-
-#. module: wiki
-#: view:wizard.wiki.history.show_diff:0
-msgid "Close"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wizard_wiki_history_show_diff
-msgid "wizard.wiki.history.show_diff"
-msgstr "asistente.wiki.historial.mostrar_dif"
-
-#. module: wiki
-#: field:wiki.wiki.history,wiki_id:0
-msgid "Wiki Id"
-msgstr "ID Wiki"
-
-#. module: wiki
-#: field:wiki.groups,home:0 selection:wiki.groups,method:0
-msgid "Home Page"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,parent_id:0
-msgid "Allows you to link with the other page with in the current topic"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Modification Information"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,group_id:0
-msgid "Topic, also called Wiki Group"
-msgstr ""
-
-#. module: wiki
-#: model:ir.ui.menu,name:wiki.menu_wiki_configuration view:wiki.wiki:0
-msgid "Wiki"
-msgstr "Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,write_date:0
-msgid "Modification Date"
-msgstr "Fecha de modificación"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Configuration"
-msgstr "Configuración"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index_values
-#: model:ir.model,name:wiki.model_wiki_make_index view:wiki.make.index:0
-msgid "Create Index"
-msgstr "Crear índice"
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "You need to select minimum 1 or maximum 2 history revision!"
-msgstr ""
-"¡Debe seleccionar como mínimo 1 o como máximo 2 revisiones históricas!"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Group By..."
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_create_menu
-#: view:wiki.create.menu:0 view:wiki.groups:0 view:wiki.make.index:0
-msgid "Create Menu"
-msgstr "Crear menú"
-
-#. module: wiki
-#: field:wiki.wiki.history,minor_edit:0
-msgid "This is a major edit ?"
-msgstr "¿Es ésta una edición mayor?"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups_browse
-#: model:ir.model,name:wiki.model_wiki_groups
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_groups view:wiki.groups:0
-msgid "Wiki Groups"
-msgstr "Grupos Wiki"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Topic"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki.history,write_uid:0
-msgid "Modify By"
-msgstr "Modificado por"
-
-#. module: wiki
-#: code:addons/wiki/web/widgets/wikimarkup/__init__.py:1981
-#: field:wiki.wiki,toc:0
-#, python-format
-msgid "Table of Contents"
-msgstr "Tabla de contenidos"
-
-#. module: wiki
-#: view:wiki.groups:0 view:wiki.wiki.page.open:0
-msgid "Open Wiki Page"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_page_open
-msgid "wiz open page"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.create.menu:0 view:wiki.make.index:0 view:wiki.wiki.page.open:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: wiki
-#: field:wizard.wiki.history.show_diff,file_path:0
-msgid "Diff"
-msgstr "Dif."
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Need Review"
-msgstr "Necesita revisión"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_review
-msgid "Pages Waiting Review"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
-msgid "Search Page"
-msgstr ""
-
-#~ msgid "Child Groups"
-#~ msgstr "Grupos hijos"
-
-#~ msgid "Wiki Groups Links"
-#~ msgstr "Enlaces grupos wiki"
-
-#~ msgid ""
-#~ "The Object name must start with x_ and not contain any special character !"
-#~ msgstr ""
-#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
-#~ "especial!"
-
-#~ msgid "Document Management - Wiki"
-#~ msgstr "Gestión de documentos - Wiki"
-
-#~ msgid "Wiki Configuration"
-#~ msgstr "Configuración Wiki"
-
-#~ msgid "Create a Menu"
-#~ msgstr "Crear un menú"
-
-#~ msgid "History Differance"
-#~ msgstr "Diferencia de historial"
-
-#~ msgid "Group Home Page"
-#~ msgstr "Página de inicio del grupo"
-
-#~ msgid "Differences"
-#~ msgstr "Diferencias"
-
-#~ msgid "Last Author"
-#~ msgstr "Último autor"
-
-#~ msgid "Document Management"
-#~ msgstr "Gestión de documentos"
-
-#~ msgid "Invalid XML for View Architecture!"
-#~ msgstr "XML inválido para la definición de la vista !"
-
-#~ msgid "Parent Group"
-#~ msgstr "Grupo padre"
-
-#~ msgid "Wiki Differance"
-#~ msgstr "Diferencia Wiki"
-
-#, python-format
-#~ msgid "No action found"
-#~ msgstr "No se ha encontrado la acción"
-
-#~ msgid "Modifications"
-#~ msgstr "Modificaciones"
-
-#~ msgid "History"
-#~ msgstr "Historial"
-
-#~ msgid "Tags"
-#~ msgstr "Etiquetas"
diff --git a/addons/document_page/i18n/es_CR.po b/addons/document_page/i18n/es_CR.po
deleted file mode 100644
index 79f50eaa0c8..00000000000
--- a/addons/document_page/i18n/es_CR.po
+++ /dev/null
@@ -1,520 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-02-20 01:10+0000\n"
-"Last-Translator: Freddy Gonzalez \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-21 05:55+0000\n"
-"X-Generator: Launchpad (build 14838)\n"
-"Language: \n"
-
-#. module: wiki
-#: field:wiki.groups,template:0
-msgid "Wiki Template"
-msgstr "Plantilla Wiki"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_wiki
-msgid "Wiki Pages"
-msgstr "Páginas Wiki"
-
-#. module: wiki
-#: field:wiki.groups,method:0
-msgid "Display Method"
-msgstr "Método de visualización"
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_wiki_page_open
-#: view:wiki.wiki.page.open:0
-msgid "Open Page"
-msgstr "Abrir página"
-
-#. module: wiki
-#: field:wiki.groups,menu_id:0
-msgid "Menu"
-msgstr "Menú"
-
-#. module: wiki
-#: field:wiki.wiki,section:0
-msgid "Section"
-msgstr "Sección"
-
-#. module: wiki
-#: help:wiki.wiki,toc:0
-msgid "Indicates that this pages have a table of contents or not"
-msgstr "Indica si estas páginas tienen una tabla de contenidos o no."
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_history view:wiki.wiki.history:0
-msgid "Wiki History"
-msgstr "Historial Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,minor_edit:0
-msgid "Minor edit"
-msgstr "Edición menor"
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,text_area:0
-msgid "Content"
-msgstr "Contenido"
-
-#. module: wiki
-#: field:wiki.wiki,child_ids:0
-msgid "Child Pages"
-msgstr "Páginas hijas"
-
-#. module: wiki
-#: field:wiki.wiki,parent_id:0
-msgid "Parent Page"
-msgstr "Página padre"
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,write_uid:0
-msgid "Last Contributor"
-msgstr "Último colaborador"
-
-#. module: wiki
-#: field:wiki.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menú padre"
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_make_index.py:52
-#, python-format
-msgid "There is no section in this Page"
-msgstr "No hay sección en esta página"
-
-#. module: wiki
-#: field:wiki.groups,name:0 view:wiki.wiki:0 field:wiki.wiki,group_id:0
-msgid "Wiki Group"
-msgstr "Grupo Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_create_menu
-msgid "Wizard Create Menu"
-msgstr "Asistente crear menú"
-
-#. module: wiki
-#: field:wiki.wiki,history_id:0
-msgid "History Lines"
-msgstr "Líneas historial"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Page Content"
-msgstr "Contenido página"
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:237 code:addons/wiki/wizard/wiki_make_index.py:52
-#, python-format
-msgid "Warning !"
-msgstr "¡Aviso!"
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:237
-#, python-format
-msgid "There are no changes in revisions"
-msgstr "No hay cambios en revisiones"
-
-#. module: wiki
-#: help:wiki.wiki,section:0
-msgid "Use page section code like 1.2.1"
-msgstr "Utilice código de sección de la página, por ejemplo 1.2.1"
-
-#. module: wiki
-#: field:wiki.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nombre menú"
-
-#. module: wiki
-#: field:wiki.groups,notes:0
-msgid "Description"
-msgstr "Descripción"
-
-#. module: wiki
-#: field:wiki.wiki,review:0
-msgid "Needs Review"
-msgstr "Necesita revisión"
-
-#. module: wiki
-#: help:wiki.wiki,review:0
-msgid ""
-"Indicates that this page should be reviewed, raising the attention of other "
-"contributors"
-msgstr ""
-"Indica que esta página debería ser revisada, captando la atención de otros "
-"colaboradores."
-
-#. module: wiki
-#: view:wiki.create.menu:0 view:wiki.make.index:0
-msgid "Menu Information"
-msgstr "Información del menú"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history
-msgid "Page History"
-msgstr "Historial página"
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "Tree"
-msgstr "Árbol"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Page Template"
-msgstr "Plantilla de página"
-
-#. module: wiki
-#: field:wiki.wiki,tags:0
-msgid "Keywords"
-msgstr "Palabras clave"
-
-#. module: wiki
-#: model:ir.actions.act_window,help:wiki.action_wiki
-msgid ""
-"With Wiki Pages you can share ideas and questions with your coworkers. You "
-"can create a new document that can be linked to one or several applications "
-"(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. "
-"There is a basic wiki editing for text format."
-msgstr ""
-"Con páginas wiki puede compartir ideas y preguntas con sus compañeros de "
-"trabajo. Puede crear un nuevo documento que puede ser relacionado con una o "
-"varias aplicaciones (CRM, Ventas, etc.). Puede utilizar palabras clave para "
-"facilitar el acceso a sus páginas wiki. Existe un editor básico para el "
-"formato texto del wiki."
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "Warning"
-msgstr "Advertencia"
-
-#. module: wiki
-#: help:wiki.groups,home:0
-msgid "Required to select home page if display method is Home Page"
-msgstr ""
-"Es obligado seleccionar la página de inicio si el método de visualización es "
-"Página inicial."
-
-#. module: wiki
-#: field:wiki.wiki.history,create_date:0
-msgid "Date"
-msgstr "Fecha"
-
-#. module: wiki
-#: view:wiki.make.index:0
-msgid "Want to create a Index on Selected Pages ? "
-msgstr "¿Desea crear un índice sobre las páginas seleccionadas? "
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff_values
-#: view:wizard.wiki.history.show_diff:0
-msgid "Difference"
-msgstr "Diferencia"
-
-#. module: wiki
-#: field:wiki.groups,page_ids:0
-msgid "Pages"
-msgstr "Páginas"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Group Description"
-msgstr "Descripción grupo"
-
-#. module: wiki
-#: view:wiki.wiki.page.open:0
-msgid "Want to open a wiki page? "
-msgstr "¿Desea abrir una página wiki? "
-
-#. module: wiki
-#: field:wiki.groups,section:0
-msgid "Make Section ?"
-msgstr "¿Crear sección?"
-
-#. module: wiki
-#: field:wiki.wiki.history,text_area:0
-msgid "Text area"
-msgstr "Área de texto"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Meta Information"
-msgstr "Meta información"
-
-#. module: wiki
-#: field:wiki.wiki,create_date:0
-msgid "Created on"
-msgstr "Creado en"
-
-#. module: wiki
-#: view:wiki.groups:0 view:wizard.wiki.history.show_diff:0
-msgid "Notes"
-msgstr "Notas"
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "List"
-msgstr "Lista"
-
-#. module: wiki
-#: field:wiki.wiki,summary:0 field:wiki.wiki.history,summary:0
-msgid "Summary"
-msgstr "Resumen"
-
-#. module: wiki
-#: field:wiki.groups,create_date:0
-msgid "Created Date"
-msgstr "Fecha de creación"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_history
-msgid "All Page Histories"
-msgstr "Todos los historiales de páginas"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki
-msgid "wiki.wiki"
-msgstr "wiki.wiki"
-
-#. module: wiki
-#: help:wiki.groups,method:0
-msgid "Define the default behaviour of the menu created on this group"
-msgstr "Define el comportamiento por defecto del menú creado en este grupo."
-
-#. module: wiki
-#: view:wizard.wiki.history.show_diff:0
-msgid "Close"
-msgstr "Cerrar"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wizard_wiki_history_show_diff
-msgid "wizard.wiki.history.show_diff"
-msgstr "asistente.wiki.historial.mostrar_dif"
-
-#. module: wiki
-#: field:wiki.wiki.history,wiki_id:0
-msgid "Wiki Id"
-msgstr "ID Wiki"
-
-#. module: wiki
-#: field:wiki.groups,home:0 selection:wiki.groups,method:0
-msgid "Home Page"
-msgstr "Página inicial"
-
-#. module: wiki
-#: help:wiki.wiki,parent_id:0
-msgid "Allows you to link with the other page with in the current topic"
-msgstr "Le permite enlazar con la otra página dentro del tema actual."
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Modification Information"
-msgstr "Información modificación"
-
-#. module: wiki
-#: help:wiki.wiki,group_id:0
-msgid "Topic, also called Wiki Group"
-msgstr "Tema, también denominado Grupo wiki."
-
-#. module: wiki
-#: model:ir.ui.menu,name:wiki.menu_wiki_configuration view:wiki.wiki:0
-msgid "Wiki"
-msgstr "Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,write_date:0
-msgid "Modification Date"
-msgstr "Fecha de modificación"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Configuration"
-msgstr "Configuración"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index_values
-#: model:ir.model,name:wiki.model_wiki_make_index view:wiki.make.index:0
-msgid "Create Index"
-msgstr "Crear índice"
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "You need to select minimum 1 or maximum 2 history revision!"
-msgstr ""
-"¡Debe seleccionar como mínimo 1 o como máximo 2 revisiones históricas!"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Group By..."
-msgstr "Agrupar por..."
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_create_menu
-#: view:wiki.create.menu:0 view:wiki.groups:0 view:wiki.make.index:0
-msgid "Create Menu"
-msgstr "Crear menú"
-
-#. module: wiki
-#: field:wiki.wiki.history,minor_edit:0
-msgid "This is a major edit ?"
-msgstr "¿Es ésta una edición mayor?"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups_browse
-#: model:ir.model,name:wiki.model_wiki_groups
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_groups view:wiki.groups:0
-msgid "Wiki Groups"
-msgstr "Grupos Wiki"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Topic"
-msgstr "Tema"
-
-#. module: wiki
-#: field:wiki.wiki.history,write_uid:0
-msgid "Modify By"
-msgstr "Modificado por"
-
-#. module: wiki
-#: code:addons/wiki/web/widgets/wikimarkup/__init__.py:1981
-#: field:wiki.wiki,toc:0
-#, python-format
-msgid "Table of Contents"
-msgstr "Tabla de contenido"
-
-#. module: wiki
-#: view:wiki.groups:0 view:wiki.wiki.page.open:0
-msgid "Open Wiki Page"
-msgstr "Abrir página wiki"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_page_open
-msgid "wiz open page"
-msgstr "asistente abrir página"
-
-#. module: wiki
-#: view:wiki.create.menu:0 view:wiki.make.index:0 view:wiki.wiki.page.open:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: wiki
-#: field:wizard.wiki.history.show_diff,file_path:0
-msgid "Diff"
-msgstr "Dif."
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Need Review"
-msgstr "Necesita revisión"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_review
-msgid "Pages Waiting Review"
-msgstr "Páginas esperando revisión"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
-msgid "Search Page"
-msgstr "Buscar página"
-
-#~ msgid ""
-#~ "The Object name must start with x_ and not contain any special character !"
-#~ msgstr ""
-#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
-#~ "especial!"
-
-#~ msgid "Wiki Groups Links"
-#~ msgstr "Enlaces grupos wiki"
-
-#~ msgid "Child Groups"
-#~ msgstr "Grupos hijos"
-
-#~ msgid "Wiki Configuration"
-#~ msgstr "Configuración Wiki"
-
-#~ msgid "Document Management - Wiki"
-#~ msgstr "Gestión de documentos - Wiki"
-
-#~ msgid "Create a Menu"
-#~ msgstr "Crear un menú"
-
-#~ msgid "History Differance"
-#~ msgstr "Diferencia historial"
-
-#~ msgid "Group Home Page"
-#~ msgstr "Página de inicio del grupo"
-
-#~ msgid "Last Author"
-#~ msgstr "Último autor"
-
-#~ msgid "Differences"
-#~ msgstr "Diferencias"
-
-#~ msgid "Document Management"
-#~ msgstr "Gestión de documentos"
-
-#~ msgid "Invalid XML for View Architecture!"
-#~ msgstr "¡XML inválido para la definición de la vista!"
-
-#~ msgid "Parent Group"
-#~ msgstr "Grupo padre"
-
-#~ msgid "Wiki Differance"
-#~ msgstr "Diferencia Wiki"
-
-#, python-format
-#~ msgid "No action found"
-#~ msgstr "No se ha encontrado la acción"
-
-#~ msgid "Modifications"
-#~ msgstr "Modificaciones"
-
-#~ msgid "History"
-#~ msgstr "Historial"
-
-#~ msgid "Tags"
-#~ msgstr "Etiquetas"
-
-#~ msgid "Invalid model name in the action definition."
-#~ msgstr "Nombre de modelo no válido en la definición de acción."
-
-#~ msgid ""
-#~ "\n"
-#~ "The base module to manage documents(wiki)\n"
-#~ "\n"
-#~ "keep track for the wiki groups, pages, and history\n"
-#~ " "
-#~ msgstr ""
-#~ "\n"
-#~ "El módulo base para gestionar documentos (wiki)\n"
-#~ "\n"
-#~ "gestione los grupos, páginas e historial del wiki\n"
-#~ " "
diff --git a/addons/document_page/i18n/es_MX.po b/addons/document_page/i18n/es_MX.po
deleted file mode 100644
index 13ac328d21e..00000000000
--- a/addons/document_page/i18n/es_MX.po
+++ /dev/null
@@ -1,535 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-01-13 02:46+0000\n"
-"Last-Translator: Carlos @ smile.fr \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-09-05 05:38+0000\n"
-"X-Generator: Launchpad (build 13830)\n"
-
-#. module: wiki
-#: field:wiki.groups,template:0
-msgid "Wiki Template"
-msgstr "Plantilla Wiki"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_wiki
-msgid "Wiki Pages"
-msgstr "Páginas Wiki"
-
-#. module: wiki
-#: field:wiki.groups,method:0
-msgid "Display Method"
-msgstr "Método de visualización"
-
-#. module: wiki
-#: view:wiki.wiki:0
-#: field:wiki.wiki,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_wiki_page_open
-#: view:wiki.wiki.page.open:0
-msgid "Open Page"
-msgstr "Abrir página"
-
-#. module: wiki
-#: field:wiki.groups,menu_id:0
-msgid "Menu"
-msgstr "Menú"
-
-#. module: wiki
-#: field:wiki.wiki,section:0
-msgid "Section"
-msgstr "Sección"
-
-#. module: wiki
-#: help:wiki.wiki,toc:0
-msgid "Indicates that this pages have a table of contents or not"
-msgstr "Indica si estas páginas tienen una tabla de contenidos o no."
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_history
-#: view:wiki.wiki.history:0
-msgid "Wiki History"
-msgstr "Historial Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,minor_edit:0
-msgid "Minor edit"
-msgstr "Edición menor"
-
-#. module: wiki
-#: view:wiki.wiki:0
-#: field:wiki.wiki,text_area:0
-msgid "Content"
-msgstr "Contenido"
-
-#. module: wiki
-#: field:wiki.wiki,child_ids:0
-msgid "Child Pages"
-msgstr "Páginas hijas"
-
-#. module: wiki
-#: field:wiki.wiki,parent_id:0
-msgid "Parent Page"
-msgstr "Página padre"
-
-#. module: wiki
-#: view:wiki.wiki:0
-#: field:wiki.wiki,write_uid:0
-msgid "Last Contributor"
-msgstr "Último colaborador"
-
-#. module: wiki
-#: field:wiki.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menú padre"
-
-#. module: wiki
-#: help:wiki.wiki,group_id:0
-msgid "Topic, also called Wiki Group"
-msgstr "Tema, también denominado Grupo wiki."
-
-#. module: wiki
-#: field:wiki.groups,name:0
-#: view:wiki.wiki:0
-#: field:wiki.wiki,group_id:0
-msgid "Wiki Group"
-msgstr "Grupo Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_create_menu
-msgid "Wizard Create Menu"
-msgstr "Asistente crear menú"
-
-#. module: wiki
-#: field:wiki.wiki,history_id:0
-msgid "History Lines"
-msgstr "Líneas historial"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Page Content"
-msgstr "Contenido página"
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:236
-#, python-format
-msgid "Warning !"
-msgstr "¡Aviso!"
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:236
-#, python-format
-msgid "There are no changes in revisions"
-msgstr "No hay cambios en revisiones"
-
-#. module: wiki
-#: model:ir.module.module,shortdesc:wiki.module_meta_information
-msgid "Document Management - Wiki"
-msgstr "Gestión de documentos - Wiki"
-
-#. module: wiki
-#: field:wiki.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nombre menú"
-
-#. module: wiki
-#: field:wiki.groups,notes:0
-msgid "Description"
-msgstr "Descripción"
-
-#. module: wiki
-#: field:wiki.wiki,review:0
-msgid "Needs Review"
-msgstr "Necesita revisión"
-
-#. module: wiki
-#: help:wiki.wiki,review:0
-msgid ""
-"Indicates that this page should be reviewed, raising the attention of other "
-"contributors"
-msgstr ""
-"Indica que esta página debería ser revisada, captando la atención de otros "
-"colaboradores."
-
-#. module: wiki
-#: view:wiki.create.menu:0
-#: view:wiki.make.index:0
-msgid "Menu Information"
-msgstr "Información del menú"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history
-msgid "Page History"
-msgstr "Historial página"
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "Tree"
-msgstr "Árbol"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Page Template"
-msgstr "Plantilla de página"
-
-#. module: wiki
-#: field:wiki.wiki,tags:0
-msgid "Keywords"
-msgstr "Palabras clave"
-
-#. module: wiki
-#: model:ir.actions.act_window,help:wiki.action_wiki
-msgid ""
-"With Wiki Pages you can share ideas and questions with your coworkers. You "
-"can create a new document that can be linked to one or several applications "
-"(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. "
-"There is a basic wiki editing for text format."
-msgstr ""
-"Con páginas wiki puede compartir ideas y preguntas con sus compañeros de "
-"trabajo. Puede crear un nuevo documento que puede ser relacionado con una o "
-"varias aplicaciones (CRM, Ventas, etc.). Puede utilizar palabras clave para "
-"facilitar el acceso a sus páginas wiki. Existe un editor básico para el "
-"formato texto del wiki."
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "Warning"
-msgstr "Advertencia"
-
-#. module: wiki
-#: field:wiki.wiki,create_date:0
-msgid "Created on"
-msgstr "Creado en"
-
-#. module: wiki
-#: field:wiki.wiki.history,create_date:0
-msgid "Date"
-msgstr "Fecha"
-
-#. module: wiki
-#: view:wiki.make.index:0
-msgid "Want to create a Index on Selected Pages ? "
-msgstr "¿Desea crear un índice sobre las páginas seleccionadas? "
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff_values
-#: view:wizard.wiki.history.show_diff:0
-msgid "Difference"
-msgstr "Diferencia"
-
-#. module: wiki
-#: field:wiki.groups,page_ids:0
-msgid "Pages"
-msgstr "Páginas"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Group Description"
-msgstr "Descripción grupo"
-
-#. module: wiki
-#: help:wiki.wiki,section:0
-msgid "Use page section code like 1.2.1"
-msgstr "Utilice código de sección de la página, por ejemplo 1.2.1"
-
-#. module: wiki
-#: view:wiki.wiki.page.open:0
-msgid "Want to open a wiki page? "
-msgstr "¿Desea abrir una página wiki? "
-
-#. module: wiki
-#: field:wiki.groups,section:0
-msgid "Make Section ?"
-msgstr "¿Crear sección?"
-
-#. module: wiki
-#: field:wiki.wiki.history,text_area:0
-msgid "Text area"
-msgstr "Área de texto"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Meta Information"
-msgstr "Meta información"
-
-#. module: wiki
-#: model:ir.module.module,description:wiki.module_meta_information
-msgid ""
-"\n"
-"The base module to manage documents(wiki)\n"
-"\n"
-"keep track for the wiki groups, pages, and history\n"
-" "
-msgstr ""
-"\n"
-"El módulo base para gestionar documentos (wiki)\n"
-"\n"
-"gestione los grupos, páginas e historial del wiki\n"
-" "
-
-#. module: wiki
-#: view:wiki.groups:0
-#: view:wizard.wiki.history.show_diff:0
-msgid "Notes"
-msgstr "Notas"
-
-#. module: wiki
-#: help:wiki.groups,home:0
-msgid "Required to select home page if display method is Home Page"
-msgstr ""
-"Es obligado seleccionar la página de inicio si el método de visualización es "
-"Página inicial."
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "List"
-msgstr "Lista"
-
-#. module: wiki
-#: field:wiki.wiki,summary:0
-#: field:wiki.wiki.history,summary:0
-msgid "Summary"
-msgstr "Resumen"
-
-#. module: wiki
-#: field:wiki.groups,create_date:0
-msgid "Created Date"
-msgstr "Fecha de creación"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_history
-msgid "All Page Histories"
-msgstr "Todos los historiales de páginas"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki
-msgid "wiki.wiki"
-msgstr "wiki.wiki"
-
-#. module: wiki
-#: help:wiki.groups,method:0
-msgid "Define the default behaviour of the menu created on this group"
-msgstr "Define el comportamiento por defecto del menú creado en este grupo."
-
-#. module: wiki
-#: view:wizard.wiki.history.show_diff:0
-msgid "Close"
-msgstr "Cerrar"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wizard_wiki_history_show_diff
-msgid "wizard.wiki.history.show_diff"
-msgstr "asistente.wiki.historial.mostrar_dif"
-
-#. module: wiki
-#: field:wiki.wiki.history,wiki_id:0
-msgid "Wiki Id"
-msgstr "ID Wiki"
-
-#. module: wiki
-#: field:wiki.groups,home:0
-#: selection:wiki.groups,method:0
-msgid "Home Page"
-msgstr "Página inicial"
-
-#. module: wiki
-#: help:wiki.wiki,parent_id:0
-msgid "Allows you to link with the other page with in the current topic"
-msgstr "Le permite enlazar con la otra página dentro del tema actual."
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Modification Information"
-msgstr "Información modificación"
-
-#. module: wiki
-#: model:ir.ui.menu,name:wiki.menu_wiki_configuration
-#: view:wiki.wiki:0
-msgid "Wiki"
-msgstr "Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,write_date:0
-msgid "Modification Date"
-msgstr "Fecha de modificación"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Configuration"
-msgstr "Configuración"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index_values
-#: model:ir.model,name:wiki.model_wiki_make_index
-#: view:wiki.make.index:0
-msgid "Create Index"
-msgstr "Crear índice"
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "You need to select minimum 1 or maximum 2 history revision!"
-msgstr ""
-"¡Debe seleccionar como mínimo 1 o como máximo 2 revisiones históricas!"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Group By..."
-msgstr "Agrupar por..."
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_create_menu
-#: view:wiki.create.menu:0
-#: view:wiki.groups:0
-#: view:wiki.make.index:0
-msgid "Create Menu"
-msgstr "Crear menú"
-
-#. module: wiki
-#: field:wiki.wiki.history,minor_edit:0
-msgid "This is a major edit ?"
-msgstr "¿Es ésta una edición mayor?"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups_browse
-#: model:ir.model,name:wiki.model_wiki_groups
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_groups
-#: view:wiki.groups:0
-msgid "Wiki Groups"
-msgstr "Grupos Wiki"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Topic"
-msgstr "Tema"
-
-#. module: wiki
-#: field:wiki.wiki.history,write_uid:0
-msgid "Modify By"
-msgstr "Modificado por"
-
-#. module: wiki
-#: code:addons/wiki/web/widgets/wikimarkup/__init__.py:1981
-#: field:wiki.wiki,toc:0
-#, python-format
-msgid "Table of Contents"
-msgstr "Tabla de contenido"
-
-#. module: wiki
-#: view:wiki.groups:0
-#: view:wiki.wiki.page.open:0
-msgid "Open Wiki Page"
-msgstr "Abrir página wiki"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_page_open
-msgid "wiz open page"
-msgstr "asistente abrir página"
-
-#. module: wiki
-#: view:wiki.create.menu:0
-#: view:wiki.make.index:0
-#: view:wiki.wiki.page.open:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: wiki
-#: field:wizard.wiki.history.show_diff,file_path:0
-msgid "Diff"
-msgstr "Dif."
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Need Review"
-msgstr "Necesita revisión"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_review
-msgid "Pages Waiting Review"
-msgstr "Páginas esperando revisión"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
-msgid "Search Page"
-msgstr "Buscar página"
-
-#~ msgid ""
-#~ "The Object name must start with x_ and not contain any special character !"
-#~ msgstr ""
-#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
-#~ "especial!"
-
-#~ msgid "Wiki Groups Links"
-#~ msgstr "Enlaces grupos wiki"
-
-#~ msgid "Child Groups"
-#~ msgstr "Grupos hijos"
-
-#~ msgid "Wiki Configuration"
-#~ msgstr "Configuración Wiki"
-
-#~ msgid "Create a Menu"
-#~ msgstr "Crear un menú"
-
-#~ msgid "History Differance"
-#~ msgstr "Diferencia historial"
-
-#~ msgid "Group Home Page"
-#~ msgstr "Página de inicio del grupo"
-
-#~ msgid "Last Author"
-#~ msgstr "Último autor"
-
-#~ msgid "Differences"
-#~ msgstr "Diferencias"
-
-#~ msgid "Document Management"
-#~ msgstr "Gestión de documentos"
-
-#~ msgid "Invalid XML for View Architecture!"
-#~ msgstr "¡XML inválido para la definición de la vista!"
-
-#~ msgid "Parent Group"
-#~ msgstr "Grupo padre"
-
-#~ msgid "Wiki Differance"
-#~ msgstr "Diferencia Wiki"
-
-#, python-format
-#~ msgid "No action found"
-#~ msgstr "No se ha encontrado la acción"
-
-#~ msgid "Modifications"
-#~ msgstr "Modificaciones"
-
-#~ msgid "History"
-#~ msgstr "Historial"
-
-#~ msgid "Tags"
-#~ msgstr "Etiquetas"
-
-#~ msgid "Invalid model name in the action definition."
-#~ msgstr "Nombre de modelo no válido en la definición de acción."
diff --git a/addons/document_page/i18n/es_VE.po b/addons/document_page/i18n/es_VE.po
deleted file mode 100644
index 13ac328d21e..00000000000
--- a/addons/document_page/i18n/es_VE.po
+++ /dev/null
@@ -1,535 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-01-13 02:46+0000\n"
-"Last-Translator: Carlos @ smile.fr \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-09-05 05:38+0000\n"
-"X-Generator: Launchpad (build 13830)\n"
-
-#. module: wiki
-#: field:wiki.groups,template:0
-msgid "Wiki Template"
-msgstr "Plantilla Wiki"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_wiki
-msgid "Wiki Pages"
-msgstr "Páginas Wiki"
-
-#. module: wiki
-#: field:wiki.groups,method:0
-msgid "Display Method"
-msgstr "Método de visualización"
-
-#. module: wiki
-#: view:wiki.wiki:0
-#: field:wiki.wiki,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_wiki_page_open
-#: view:wiki.wiki.page.open:0
-msgid "Open Page"
-msgstr "Abrir página"
-
-#. module: wiki
-#: field:wiki.groups,menu_id:0
-msgid "Menu"
-msgstr "Menú"
-
-#. module: wiki
-#: field:wiki.wiki,section:0
-msgid "Section"
-msgstr "Sección"
-
-#. module: wiki
-#: help:wiki.wiki,toc:0
-msgid "Indicates that this pages have a table of contents or not"
-msgstr "Indica si estas páginas tienen una tabla de contenidos o no."
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_history
-#: view:wiki.wiki.history:0
-msgid "Wiki History"
-msgstr "Historial Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,minor_edit:0
-msgid "Minor edit"
-msgstr "Edición menor"
-
-#. module: wiki
-#: view:wiki.wiki:0
-#: field:wiki.wiki,text_area:0
-msgid "Content"
-msgstr "Contenido"
-
-#. module: wiki
-#: field:wiki.wiki,child_ids:0
-msgid "Child Pages"
-msgstr "Páginas hijas"
-
-#. module: wiki
-#: field:wiki.wiki,parent_id:0
-msgid "Parent Page"
-msgstr "Página padre"
-
-#. module: wiki
-#: view:wiki.wiki:0
-#: field:wiki.wiki,write_uid:0
-msgid "Last Contributor"
-msgstr "Último colaborador"
-
-#. module: wiki
-#: field:wiki.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menú padre"
-
-#. module: wiki
-#: help:wiki.wiki,group_id:0
-msgid "Topic, also called Wiki Group"
-msgstr "Tema, también denominado Grupo wiki."
-
-#. module: wiki
-#: field:wiki.groups,name:0
-#: view:wiki.wiki:0
-#: field:wiki.wiki,group_id:0
-msgid "Wiki Group"
-msgstr "Grupo Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_create_menu
-msgid "Wizard Create Menu"
-msgstr "Asistente crear menú"
-
-#. module: wiki
-#: field:wiki.wiki,history_id:0
-msgid "History Lines"
-msgstr "Líneas historial"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Page Content"
-msgstr "Contenido página"
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:236
-#, python-format
-msgid "Warning !"
-msgstr "¡Aviso!"
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:236
-#, python-format
-msgid "There are no changes in revisions"
-msgstr "No hay cambios en revisiones"
-
-#. module: wiki
-#: model:ir.module.module,shortdesc:wiki.module_meta_information
-msgid "Document Management - Wiki"
-msgstr "Gestión de documentos - Wiki"
-
-#. module: wiki
-#: field:wiki.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nombre menú"
-
-#. module: wiki
-#: field:wiki.groups,notes:0
-msgid "Description"
-msgstr "Descripción"
-
-#. module: wiki
-#: field:wiki.wiki,review:0
-msgid "Needs Review"
-msgstr "Necesita revisión"
-
-#. module: wiki
-#: help:wiki.wiki,review:0
-msgid ""
-"Indicates that this page should be reviewed, raising the attention of other "
-"contributors"
-msgstr ""
-"Indica que esta página debería ser revisada, captando la atención de otros "
-"colaboradores."
-
-#. module: wiki
-#: view:wiki.create.menu:0
-#: view:wiki.make.index:0
-msgid "Menu Information"
-msgstr "Información del menú"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history
-msgid "Page History"
-msgstr "Historial página"
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "Tree"
-msgstr "Árbol"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Page Template"
-msgstr "Plantilla de página"
-
-#. module: wiki
-#: field:wiki.wiki,tags:0
-msgid "Keywords"
-msgstr "Palabras clave"
-
-#. module: wiki
-#: model:ir.actions.act_window,help:wiki.action_wiki
-msgid ""
-"With Wiki Pages you can share ideas and questions with your coworkers. You "
-"can create a new document that can be linked to one or several applications "
-"(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. "
-"There is a basic wiki editing for text format."
-msgstr ""
-"Con páginas wiki puede compartir ideas y preguntas con sus compañeros de "
-"trabajo. Puede crear un nuevo documento que puede ser relacionado con una o "
-"varias aplicaciones (CRM, Ventas, etc.). Puede utilizar palabras clave para "
-"facilitar el acceso a sus páginas wiki. Existe un editor básico para el "
-"formato texto del wiki."
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "Warning"
-msgstr "Advertencia"
-
-#. module: wiki
-#: field:wiki.wiki,create_date:0
-msgid "Created on"
-msgstr "Creado en"
-
-#. module: wiki
-#: field:wiki.wiki.history,create_date:0
-msgid "Date"
-msgstr "Fecha"
-
-#. module: wiki
-#: view:wiki.make.index:0
-msgid "Want to create a Index on Selected Pages ? "
-msgstr "¿Desea crear un índice sobre las páginas seleccionadas? "
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff_values
-#: view:wizard.wiki.history.show_diff:0
-msgid "Difference"
-msgstr "Diferencia"
-
-#. module: wiki
-#: field:wiki.groups,page_ids:0
-msgid "Pages"
-msgstr "Páginas"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Group Description"
-msgstr "Descripción grupo"
-
-#. module: wiki
-#: help:wiki.wiki,section:0
-msgid "Use page section code like 1.2.1"
-msgstr "Utilice código de sección de la página, por ejemplo 1.2.1"
-
-#. module: wiki
-#: view:wiki.wiki.page.open:0
-msgid "Want to open a wiki page? "
-msgstr "¿Desea abrir una página wiki? "
-
-#. module: wiki
-#: field:wiki.groups,section:0
-msgid "Make Section ?"
-msgstr "¿Crear sección?"
-
-#. module: wiki
-#: field:wiki.wiki.history,text_area:0
-msgid "Text area"
-msgstr "Área de texto"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Meta Information"
-msgstr "Meta información"
-
-#. module: wiki
-#: model:ir.module.module,description:wiki.module_meta_information
-msgid ""
-"\n"
-"The base module to manage documents(wiki)\n"
-"\n"
-"keep track for the wiki groups, pages, and history\n"
-" "
-msgstr ""
-"\n"
-"El módulo base para gestionar documentos (wiki)\n"
-"\n"
-"gestione los grupos, páginas e historial del wiki\n"
-" "
-
-#. module: wiki
-#: view:wiki.groups:0
-#: view:wizard.wiki.history.show_diff:0
-msgid "Notes"
-msgstr "Notas"
-
-#. module: wiki
-#: help:wiki.groups,home:0
-msgid "Required to select home page if display method is Home Page"
-msgstr ""
-"Es obligado seleccionar la página de inicio si el método de visualización es "
-"Página inicial."
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "List"
-msgstr "Lista"
-
-#. module: wiki
-#: field:wiki.wiki,summary:0
-#: field:wiki.wiki.history,summary:0
-msgid "Summary"
-msgstr "Resumen"
-
-#. module: wiki
-#: field:wiki.groups,create_date:0
-msgid "Created Date"
-msgstr "Fecha de creación"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_history
-msgid "All Page Histories"
-msgstr "Todos los historiales de páginas"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki
-msgid "wiki.wiki"
-msgstr "wiki.wiki"
-
-#. module: wiki
-#: help:wiki.groups,method:0
-msgid "Define the default behaviour of the menu created on this group"
-msgstr "Define el comportamiento por defecto del menú creado en este grupo."
-
-#. module: wiki
-#: view:wizard.wiki.history.show_diff:0
-msgid "Close"
-msgstr "Cerrar"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wizard_wiki_history_show_diff
-msgid "wizard.wiki.history.show_diff"
-msgstr "asistente.wiki.historial.mostrar_dif"
-
-#. module: wiki
-#: field:wiki.wiki.history,wiki_id:0
-msgid "Wiki Id"
-msgstr "ID Wiki"
-
-#. module: wiki
-#: field:wiki.groups,home:0
-#: selection:wiki.groups,method:0
-msgid "Home Page"
-msgstr "Página inicial"
-
-#. module: wiki
-#: help:wiki.wiki,parent_id:0
-msgid "Allows you to link with the other page with in the current topic"
-msgstr "Le permite enlazar con la otra página dentro del tema actual."
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Modification Information"
-msgstr "Información modificación"
-
-#. module: wiki
-#: model:ir.ui.menu,name:wiki.menu_wiki_configuration
-#: view:wiki.wiki:0
-msgid "Wiki"
-msgstr "Wiki"
-
-#. module: wiki
-#: field:wiki.wiki,write_date:0
-msgid "Modification Date"
-msgstr "Fecha de modificación"
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Configuration"
-msgstr "Configuración"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index_values
-#: model:ir.model,name:wiki.model_wiki_make_index
-#: view:wiki.make.index:0
-msgid "Create Index"
-msgstr "Crear índice"
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "You need to select minimum 1 or maximum 2 history revision!"
-msgstr ""
-"¡Debe seleccionar como mínimo 1 o como máximo 2 revisiones históricas!"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Group By..."
-msgstr "Agrupar por..."
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_create_menu
-#: view:wiki.create.menu:0
-#: view:wiki.groups:0
-#: view:wiki.make.index:0
-msgid "Create Menu"
-msgstr "Crear menú"
-
-#. module: wiki
-#: field:wiki.wiki.history,minor_edit:0
-msgid "This is a major edit ?"
-msgstr "¿Es ésta una edición mayor?"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups_browse
-#: model:ir.model,name:wiki.model_wiki_groups
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_groups
-#: view:wiki.groups:0
-msgid "Wiki Groups"
-msgstr "Grupos Wiki"
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Topic"
-msgstr "Tema"
-
-#. module: wiki
-#: field:wiki.wiki.history,write_uid:0
-msgid "Modify By"
-msgstr "Modificado por"
-
-#. module: wiki
-#: code:addons/wiki/web/widgets/wikimarkup/__init__.py:1981
-#: field:wiki.wiki,toc:0
-#, python-format
-msgid "Table of Contents"
-msgstr "Tabla de contenido"
-
-#. module: wiki
-#: view:wiki.groups:0
-#: view:wiki.wiki.page.open:0
-msgid "Open Wiki Page"
-msgstr "Abrir página wiki"
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_page_open
-msgid "wiz open page"
-msgstr "asistente abrir página"
-
-#. module: wiki
-#: view:wiki.create.menu:0
-#: view:wiki.make.index:0
-#: view:wiki.wiki.page.open:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: wiki
-#: field:wizard.wiki.history.show_diff,file_path:0
-msgid "Diff"
-msgstr "Dif."
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Need Review"
-msgstr "Necesita revisión"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_review
-msgid "Pages Waiting Review"
-msgstr "Páginas esperando revisión"
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
-msgid "Search Page"
-msgstr "Buscar página"
-
-#~ msgid ""
-#~ "The Object name must start with x_ and not contain any special character !"
-#~ msgstr ""
-#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
-#~ "especial!"
-
-#~ msgid "Wiki Groups Links"
-#~ msgstr "Enlaces grupos wiki"
-
-#~ msgid "Child Groups"
-#~ msgstr "Grupos hijos"
-
-#~ msgid "Wiki Configuration"
-#~ msgstr "Configuración Wiki"
-
-#~ msgid "Create a Menu"
-#~ msgstr "Crear un menú"
-
-#~ msgid "History Differance"
-#~ msgstr "Diferencia historial"
-
-#~ msgid "Group Home Page"
-#~ msgstr "Página de inicio del grupo"
-
-#~ msgid "Last Author"
-#~ msgstr "Último autor"
-
-#~ msgid "Differences"
-#~ msgstr "Diferencias"
-
-#~ msgid "Document Management"
-#~ msgstr "Gestión de documentos"
-
-#~ msgid "Invalid XML for View Architecture!"
-#~ msgstr "¡XML inválido para la definición de la vista!"
-
-#~ msgid "Parent Group"
-#~ msgstr "Grupo padre"
-
-#~ msgid "Wiki Differance"
-#~ msgstr "Diferencia Wiki"
-
-#, python-format
-#~ msgid "No action found"
-#~ msgstr "No se ha encontrado la acción"
-
-#~ msgid "Modifications"
-#~ msgstr "Modificaciones"
-
-#~ msgid "History"
-#~ msgstr "Historial"
-
-#~ msgid "Tags"
-#~ msgstr "Etiquetas"
-
-#~ msgid "Invalid model name in the action definition."
-#~ msgstr "Nombre de modelo no válido en la definición de acción."
diff --git a/addons/document_page/i18n/et.po b/addons/document_page/i18n/et.po
deleted file mode 100644
index 13cd9ce58be..00000000000
--- a/addons/document_page/i18n/et.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:11+0000\n"
-"Last-Translator: Ahti Hinnov \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menüü"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Sisu"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Tiitel"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Menüü info"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Kuupäev"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Lehekülgi"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Ülemmenüü"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Loodud"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Kokkuvõte"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Menüü nimi"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Muutmise kuupäev"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Loo menüü"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Loobu"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Erinevus"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/fi.po b/addons/document_page/i18n/fi.po
deleted file mode 100644
index 1305adbc2b1..00000000000
--- a/addons/document_page/i18n/fi.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Finnish translation for openobject-addons
-# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2011.
-#
-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: 2012-08-13 12:13+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \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: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Viimeisin tiedon lisääjä"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Tekijä"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Valikko"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Sivuhistoria"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Sisältö"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Ryhmittely.."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Otsikko"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Menun luonti velho"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Valikon tiedot"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Päivämäärä"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Ero"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Sivut"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Ylätason valikko"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Luotu"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Yhteenveto"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Valikon nimi"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Muokkauspäivä"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Luo valikko"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Peruuta"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Erot"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/fr.po b/addons/document_page/i18n/fr.po
deleted file mode 100644
index a303cce005f..00000000000
--- a/addons/document_page/i18n/fr.po
+++ /dev/null
@@ -1,258 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-18 23:39+0000\n"
-"Last-Translator: Nicolas JEUDY \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Catégorie"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Dernier contributeur"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Auteur"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Gestion documentaire de pages Web"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Historique de la page"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Contenu"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Grouper par ..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Modèle"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"Ceci sera utilisé comment contenu initial de toutes les nouvelles pages de "
-"cette catégorie."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Titre"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Menu de création d'un wizard"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Type"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Modifié par"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "ou"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Type de page"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Menu Information"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Historique du document"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Historique des pages"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Il n'y a aucun changement dans les révisions."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Date"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Différence"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Pages"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Catégories"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menu Parent"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Créé le"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-"Vous devez sélectionner au minimum une et au maximum deux versions "
-"d'historique"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Historique de la page"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Sommaire"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Créer des pages Web"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Historique du document"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nom du menu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Page"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Historique"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Date de modification"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Créer un menu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Contenu affiché"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Avertissement!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Annuler"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Comparer"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Type de document"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Enfant"
diff --git a/addons/document_page/i18n/gl.po b/addons/document_page/i18n/gl.po
deleted file mode 100644
index 45768356720..00000000000
--- a/addons/document_page/i18n/gl.po
+++ /dev/null
@@ -1,256 +0,0 @@
-# translation of wiki-es.po to Galego
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-# Frco. Javier Rial Rodríguez , 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: wiki-es\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:12+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: Galego \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menú"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Contido"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Información do menú"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Data"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Páxinas"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menú principal"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Creado o"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Resumo"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nome do menú"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Data de modificación"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Crear menú"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Diff"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/hr.po b/addons/document_page/i18n/hr.po
deleted file mode 100644
index 8a728d49132..00000000000
--- a/addons/document_page/i18n/hr.po
+++ /dev/null
@@ -1,256 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:11+0000\n"
-"Last-Translator: Goran Kliska \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Kategorija"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Zadnji doprinos"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Izbornik"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Stranica dokumenata"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Povijest stranice"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Sadržaj"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Grupiraj po..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Predložak"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"ovo će biti korišteno kao predložak sadržaja za sve nove stranice u ovoj "
-"kategoriji."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Naslov"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Wizard Create Menu"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tip"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Izmjenio"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "ili"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Tip stranice"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informacije o izborniku"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Povijest stranica Dokumenata"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Povijest stranice"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Nema izmjena u revizijama"
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Razlika"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Stranice"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Kategorije"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Nadređeni izbornik"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Datum kreiranja"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr "Morate odabrati minimum jednu ili maksimum dvije revizije!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Povijest stranica"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Sažetak"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Kreiraj web stranice"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Povijest dokumenata"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Naziv izbornika"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Stranica"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Povijest"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Datum promjene"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Kreiraj izbornik"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Prikazani sadržaj"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Upozorenje!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Odustani"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Razlika"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Vrsta dokumenta"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Podređeni"
diff --git a/addons/document_page/i18n/hu.po b/addons/document_page/i18n/hu.po
deleted file mode 100644
index fa4c7af2edc..00000000000
--- a/addons/document_page/i18n/hu.po
+++ /dev/null
@@ -1,257 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:16+0000\n"
-"Last-Translator: Krisztian Eyssen \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Kategória"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Utolsó közreműködő"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Szerző"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menü"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Documentum oldal"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Oldal előzmény"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Tartalom"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Csoportosítás..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Sablon"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"ez mint tartalom sablon lesz használva az összes ilyen kategóriájú új "
-"oldalhoz."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Pozíció"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Menü létrehozás varázsló"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Típus"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Által módosítva"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "vagy"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Oldal típus"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Menü infrormáció"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Dokumantum oldal előzmény"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Oldal előzmény"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Az előzményekben nem történt változtatás."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Dátum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Különbség"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Oldalok"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Kategóriák"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Főmenü"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Létrehozás dátuma"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-"Ki kell választani minimum egy vagy maximum kettő átvizsgálás előzményt."
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Oldal előzmény"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Összegzés"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Weboldalak létrehozása"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Dokumentumok előzménye"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Menü"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Oldal"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Előzmény"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Módosítás dátuma"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Menü létrehozás"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Tartalom megjelenítése"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Figyelem!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Mégsem"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Különbség"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Dokumentumtípus"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Alárendelt"
diff --git a/addons/document_page/i18n/id.po b/addons/document_page/i18n/id.po
deleted file mode 100644
index b89b330dea7..00000000000
--- a/addons/document_page/i18n/id.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:08+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/it.po b/addons/document_page/i18n/it.po
deleted file mode 100644
index d3e32520235..00000000000
--- a/addons/document_page/i18n/it.po
+++ /dev/null
@@ -1,258 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-20 23:11+0000\n"
-"Last-Translator: Sergio Corato \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Categoria"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Ultimo collaboratore"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autore"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Pagina documento"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Cronologia pagina"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Contenuto"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Raggruppa per..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Modello"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"sarà usato come modello contenuto per tutte le nuove pagine di questa "
-"categoria."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Titolo"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Wizard creazione menu"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tipo"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Modificato Da"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "o"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Tipo di pagina"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informazioni Menu"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Cronologia Pagina Documento"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Cronologia pagine"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Non ci sono modifiche nelle revisioni."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Data"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Differenze"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Pagine"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Categorie"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menu Superiore"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Creato il"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-"E' necessario selezionare almeno una o massimo due revisioni della "
-"cronologia!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Cronologia pagina"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Riepilogo"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Crea pagine web"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Cronologia documento"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nome Menu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Pagina"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Cronologia"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Data di Modifica"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Crea Menu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Contenuto Visualizzato"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Attenzione!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Cancella"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Differenze"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Tipo Documento"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Figlio"
diff --git a/addons/document_page/i18n/ja.po b/addons/document_page/i18n/ja.po
deleted file mode 100644
index 06cd060d4d4..00000000000
--- a/addons/document_page/i18n/ja.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Japanese translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-08-13 12:11+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: Japanese \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "最終貢献者"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "著者"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "メニュー"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "ページ履歴"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "コンテンツ"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "グループ化…"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "タイトル"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "メニュー作成ウィザード"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "メニュー情報"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "日付"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "差分"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "ページ"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "親メニュー"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "作成日"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "要約"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "メニュー名"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "変更日"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "メニューの作成"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "キャンセル"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "差分"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/ko.po b/addons/document_page/i18n/ko.po
deleted file mode 100644
index 4d78179833c..00000000000
--- a/addons/document_page/i18n/ko.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Korean translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-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: 2012-08-13 12:14+0000\n"
-"Last-Translator: CSro \n"
-"Language-Team: Korean \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "저자"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "메뉴"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "컨텐트"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "제목"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "메뉴 정보"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "날짜"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "페이지"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "부모 메뉴"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "생성 날짜"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "요약"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "메뉴 이름"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "수정 날짜"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "메뉴 만들기"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "취소"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Diff"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/lt.po b/addons/document_page/i18n/lt.po
deleted file mode 100644
index 8cd187b5c9d..00000000000
--- a/addons/document_page/i18n/lt.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-# giedrius , 2010.
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:14+0000\n"
-"Last-Translator: Giedrius Slavinskas - inovera.lt \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-"Language: lt\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autorius"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Meniu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Turinys"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Antraštė"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Meniu informacija"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Data"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Puslapiai"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Bazinis meniu"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Sukurta"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Santrauka"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Meniu pavadinimas"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Modifikavimo data"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Sukurti meniu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Atšaukti"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Skirtumas"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/lv.po b/addons/document_page/i18n/lv.po
deleted file mode 100644
index 93def7a4fb8..00000000000
--- a/addons/document_page/i18n/lv.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Latvian translation for openobject-addons
-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2010.
-#
-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: 2012-08-13 12:13+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: Latvian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Pēdējais Papildinājs"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autors"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Izvēlne"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Lapas Vēsture"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Saturs"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Grupēt pēc..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Virsraksts"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Izvēlnes Veidošanas Veidnis"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Izvēlnes Informācija"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datums"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Atšķirības"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Lapas"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "VirsIzvēlne"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Izveidots"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Kopsavilkums"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Izvēlnes Nosaukums"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Izmaiņu Datums"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Izveidot Izvēlni"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Atcelt"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Atšķirības"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/mk.po b/addons/document_page/i18n/mk.po
deleted file mode 100644
index 36f44d12765..00000000000
--- a/addons/document_page/i18n/mk.po
+++ /dev/null
@@ -1,258 +0,0 @@
-# Macedonian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-03-01 17:55+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Macedonian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Категорија"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Последен соработник"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Автор"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Мени"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Страница на документ"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Историја на страница"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Содржина"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Групирај по..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Урнек"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"кој ќе биде употребен како урнек за содржина за сите нови страници од оваа "
-"категорија."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Титула"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Мени Креирање на Волшебник"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tип"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Изменето од"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "или"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Тип на страница"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Мени Информации"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Историја на страница на документ"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Историја на страници"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Нема измени во ревизиите."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Датум"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Разлика"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Страници"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Категории"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Мени родител"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Креирано на"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-"Треба да селектиарте минимум една или максимум две ревизии на историја!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Историја на страница"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Резиме"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Креирај веб странци"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Историја на документот"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Име на мени"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Страница"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Историја"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Датум на измена"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Креирај Мени"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Прикажана содржина"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Предупредување!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Откажи"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Разлика"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Тип документ"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Деца"
diff --git a/addons/document_page/i18n/mn.po b/addons/document_page/i18n/mn.po
deleted file mode 100644
index d416d5943a3..00000000000
--- a/addons/document_page/i18n/mn.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Mongolian translation for openobject-addons
-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2010.
-#
-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: 2012-08-13 12:13+0000\n"
-"Last-Translator: ub121 \n"
-"Language-Team: Mongolian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Ангилал"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Зохиогч"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Цэс"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Баримтын Хуудас"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Агуулга"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Загвар"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Гарчиг"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Хуудасны төрөл"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Цэсний мэдээлэл"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Баримтын Хуудасны Түүх"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Хуудсуудын Түүх"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Огноо"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Хуудсууд"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Толгой цэс"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Үүсгэсэн"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Хуудсын Түүх"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Хураангуй"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Веб хуудсууд үүсгэх"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Баримтын Түүх"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Цэсний нэр"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Зассан огноо"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Цэс үүсгэх"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Цуцлах"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Зөрүү"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/nb.po b/addons/document_page/i18n/nb.po
deleted file mode 100644
index f43adb661c2..00000000000
--- a/addons/document_page/i18n/nb.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Norwegian Bokmal translation for openobject-addons
-# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2011.
-#
-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: 2012-08-13 12:14+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: Norwegian Bokmal \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Siste forfatter"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Forfatter"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Meny"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Sidehistorikk"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Innhold"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Grupper etter..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Tittel"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Wizard Opprett meny"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Meny informasjon"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Dato"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Endringer"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Sider"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Overordnet meny"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Opprettet den"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Sammendrag"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Menynavn"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Dato for siste endring"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Opprett meny"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Avbryt"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Diff"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/nl.po b/addons/document_page/i18n/nl.po
deleted file mode 100644
index da2ae5f4e3d..00000000000
--- a/addons/document_page/i18n/nl.po
+++ /dev/null
@@ -1,257 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-11-25 13:05+0000\n"
-"Last-Translator: Erwin van der Ploeg (BAS Solutions) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Categorie"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Laatste bijdrage"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Auteur"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Document pagina"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Pagina geschiedenis"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Inhoud"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Groepeer op..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Sjabloon"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"dit zal worden gebruikt als een inhoud sjabloon voor alle nieuwe pagina;s "
-"van deze categorie."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Titel"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Assistent menu maken"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Soort"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Aangepast door"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "of"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Paginatype"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Menu informatie"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Document pagina historie"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Pagina historie"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Er zijn geen wijzigingen in de revisies."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Verschil"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Pagina's"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Categorieën"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Hoofdmenu"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Aangemaakt op"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-"U dient minimaal één en maximaal twee historie revisies te selecteren.!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Pagina historie"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Samenvatting"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Webpagina's aanmaken"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Documenthistorie"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Naam menu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Pagina"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Historie"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Wijzigingsdatum"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Menu maken"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Weergegeven inhoud"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Waarschuwing!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Annuleren"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Verschil"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Documenttype"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Onderliggende"
diff --git a/addons/document_page/i18n/nl_BE.po b/addons/document_page/i18n/nl_BE.po
deleted file mode 100644
index b7939a66044..00000000000
--- a/addons/document_page/i18n/nl_BE.po
+++ /dev/null
@@ -1,440 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2009-04-10 10:01+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-09 06:46+0000\n"
-"X-Generator: Launchpad (build 14763)\n"
-
-#. module: wiki
-#: field:wiki.groups,template:0
-msgid "Wiki Template"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_wiki
-msgid "Wiki Pages"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,method:0
-msgid "Display Method"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,create_uid:0
-msgid "Author"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_wiki_page_open
-#: view:wiki.wiki.page.open:0
-msgid "Open Page"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,menu_id:0
-msgid "Menu"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,section:0
-msgid "Section"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,toc:0
-msgid "Indicates that this pages have a table of contents or not"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_history view:wiki.wiki.history:0
-msgid "Wiki History"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,minor_edit:0
-msgid "Minor edit"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,text_area:0
-msgid "Content"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,child_ids:0
-msgid "Child Pages"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,parent_id:0
-msgid "Parent Page"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0 field:wiki.wiki,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_make_index.py:52
-#, python-format
-msgid "There is no section in this Page"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,name:0 view:wiki.wiki:0 field:wiki.wiki,group_id:0
-msgid "Wiki Group"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,name:0
-msgid "Title"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,history_id:0
-msgid "History Lines"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Page Content"
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:237 code:addons/wiki/wizard/wiki_make_index.py:52
-#, python-format
-msgid "Warning !"
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wiki.py:237
-#, python-format
-msgid "There are no changes in revisions"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,section:0
-msgid "Use page section code like 1.2.1"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,notes:0
-msgid "Description"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,review:0
-msgid "Needs Review"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,review:0
-msgid ""
-"Indicates that this page should be reviewed, raising the attention of other "
-"contributors"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.create.menu:0 view:wiki.make.index:0
-msgid "Menu Information"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history
-msgid "Page History"
-msgstr ""
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "Tree"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Page Template"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,tags:0
-msgid "Keywords"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,help:wiki.action_wiki
-msgid ""
-"With Wiki Pages you can share ideas and questions with your coworkers. You "
-"can create a new document that can be linked to one or several applications "
-"(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. "
-"There is a basic wiki editing for text format."
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "Warning"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.groups,home:0
-msgid "Required to select home page if display method is Home Page"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.make.index:0
-msgid "Want to create a Index on Selected Pages ? "
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff_values
-#: view:wizard.wiki.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,page_ids:0
-msgid "Pages"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Group Description"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki.page.open:0
-msgid "Want to open a wiki page? "
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,section:0
-msgid "Make Section ?"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki.history,text_area:0
-msgid "Text area"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Meta Information"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.groups:0 view:wizard.wiki.history.show_diff:0
-msgid "Notes"
-msgstr ""
-
-#. module: wiki
-#: selection:wiki.groups,method:0
-msgid "List"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,summary:0 field:wiki.wiki.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,create_date:0
-msgid "Created Date"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_history
-msgid "All Page Histories"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki
-msgid "wiki.wiki"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.groups,method:0
-msgid "Define the default behaviour of the menu created on this group"
-msgstr ""
-
-#. module: wiki
-#: view:wizard.wiki.history.show_diff:0
-msgid "Close"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wizard_wiki_history_show_diff
-msgid "wizard.wiki.history.show_diff"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki.history,wiki_id:0
-msgid "Wiki Id"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.groups,home:0 selection:wiki.groups,method:0
-msgid "Home Page"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,parent_id:0
-msgid "Allows you to link with the other page with in the current topic"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Modification Information"
-msgstr ""
-
-#. module: wiki
-#: help:wiki.wiki,group_id:0
-msgid "Topic, also called Wiki Group"
-msgstr ""
-
-#. module: wiki
-#: model:ir.ui.menu,name:wiki.menu_wiki_configuration view:wiki.wiki:0
-msgid "Wiki"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.groups:0
-msgid "Configuration"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index
-#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index_values
-#: model:ir.model,name:wiki.model_wiki_make_index view:wiki.make.index:0
-msgid "Create Index"
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/wizard/wiki_show_diff.py:54
-#, python-format
-msgid "You need to select minimum 1 or maximum 2 history revision!"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Group By..."
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_create_menu
-#: view:wiki.create.menu:0 view:wiki.groups:0 view:wiki.make.index:0
-msgid "Create Menu"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki.history,minor_edit:0
-msgid "This is a major edit ?"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups
-#: model:ir.actions.act_window,name:wiki.action_wiki_groups_browse
-#: model:ir.model,name:wiki.model_wiki_groups
-#: model:ir.ui.menu,name:wiki.menu_action_wiki_groups view:wiki.groups:0
-msgid "Wiki Groups"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Topic"
-msgstr ""
-
-#. module: wiki
-#: field:wiki.wiki.history,write_uid:0
-msgid "Modify By"
-msgstr ""
-
-#. module: wiki
-#: code:addons/wiki/web/widgets/wikimarkup/__init__.py:1981
-#: field:wiki.wiki,toc:0
-#, python-format
-msgid "Table of Contents"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.groups:0 view:wiki.wiki.page.open:0
-msgid "Open Wiki Page"
-msgstr ""
-
-#. module: wiki
-#: model:ir.model,name:wiki.model_wiki_wiki_page_open
-msgid "wiz open page"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.create.menu:0 view:wiki.make.index:0 view:wiki.wiki.page.open:0
-msgid "Cancel"
-msgstr ""
-
-#. module: wiki
-#: field:wizard.wiki.history.show_diff,file_path:0
-msgid "Diff"
-msgstr ""
-
-#. module: wiki
-#: view:wiki.wiki:0
-msgid "Need Review"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.action_wiki_review
-msgid "Pages Waiting Review"
-msgstr ""
-
-#. module: wiki
-#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
-msgid "Search Page"
-msgstr ""
-
-#~ msgid ""
-#~ "The Object name must start with x_ and not contain any special character !"
-#~ msgstr ""
-#~ "De objectnaam moet beginnen met x_ en mag geen speciale karakters bevatten !"
diff --git a/addons/document_page/i18n/pl.po b/addons/document_page/i18n/pl.po
deleted file mode 100644
index ee4728dae2d..00000000000
--- a/addons/document_page/i18n/pl.po
+++ /dev/null
@@ -1,256 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-17 10:25+0000\n"
-"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Kategoria"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Ostatni kontrybutor"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Strona dokumentu"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Historia strony"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Zawartość"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Grupuj wg..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Szablon"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"które będzie stosowane jako szablon zawartości dla nowych stron tej "
-"kategorii."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Tytuł"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Typ"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Zmodyfikowane przez"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "lub"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Typ strony"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informacja o menu"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Historia strony dokumentu"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Historia strony"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Brak zmian w wersjach"
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Data"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Różnica"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Strony"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Kategorie"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menu nadrzędne"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Utworzono"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr "Musisz wybrać minimum jedną a maksymalnie dwie wersje historii !"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Historia strony"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Podsumowanie"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Twórz strony web"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Historia Dokumentu"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nazwa menu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Strona"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Historia"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Data modyfikacji"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Utwórz menu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Wyświetlana zawartość"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Ostrzeżenie !"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Anuluj"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Różnice"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Typ dokumentu"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Podrzędne"
diff --git a/addons/document_page/i18n/pt.po b/addons/document_page/i18n/pt.po
deleted file mode 100644
index 5ad417d1a30..00000000000
--- a/addons/document_page/i18n/pt.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-12 16:52+0000\n"
-"Last-Translator: Rui Franco (multibase.pt) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Categoria"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Último contribuinte"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Página do documento"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Histórico da página"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Conteúdo"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Agrupar por..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Modelo"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr "que será usado como modelo para qualquer página desta categoria"
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Assitente de criação de menu"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tipo"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Modificado por"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "ou"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Tipo de página"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informação do Menu"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Não há alterações de versão"
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Data"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Diferença"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Páginas"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Categorias"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menu do Ascendente"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Criado em"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Resumo"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Cria páginas na internet"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Histórico de documentos"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nome do Menu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Página"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Histórico"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Data de Modificação"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Criar Menu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Aviso!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Diferenças"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Tipo de documento"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/pt_BR.po b/addons/document_page/i18n/pt_BR.po
deleted file mode 100644
index 349a81f71ec..00000000000
--- a/addons/document_page/i18n/pt_BR.po
+++ /dev/null
@@ -1,256 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-04 15:32+0000\n"
-"Last-Translator: Cristiano Korndörfer \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Categoria"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Último Contribuidor(a)"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Página do Documento"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Histórico da Página"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Conteúdo"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Agrupar Por..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Modelo"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"isto será utilizado como um modelo de conteúdo para todas as páginas desta "
-"categoria."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Título"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Assistente Para Criar Menu"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tipo"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Modificado Por"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "ou"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Tipo de página"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informação do Menu"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Histórico da Página de Documento"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Histórico das páginas"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Não há mudanças nas revisões."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Data"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Diferença"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Páginas"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Categorias"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Menu Superior"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Criado em"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr "Você deve selecionar de uma a duas revisões de histórico!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Histórico da página"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Resumo"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Criar páginas web"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Histórico de Documentos"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nome do Menu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Página"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Histórico"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Data de Modificação"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Criar Menu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Conteúdo Exibido"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Atenção!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Diferença"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Tipo de Documento"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Filhos"
diff --git a/addons/document_page/i18n/ro.po b/addons/document_page/i18n/ro.po
deleted file mode 100644
index 2c0a994aa55..00000000000
--- a/addons/document_page/i18n/ro.po
+++ /dev/null
@@ -1,257 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:12+0000\n"
-"Last-Translator: filsys \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Categorie"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Ultimul colaborator"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Meniu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Pagina Documentului"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Istoric pagină"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Conţinut"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Grupează după..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Sablon"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"care va fi folosit ca un sablon de continut pentru toate paginile noi din "
-"aceasta categorie."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Titlu"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Wizard Creează meniul"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tip"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.pagina.istoric.arata_dif"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Modificat de"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "sau"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Tipul de pagina"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informaţii meniu"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Istoric Pagini Documente"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Istoric pagini"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Nu exista modificari in revizuiri."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Dată"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Diferenţă"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Pagini"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Categorii"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Meniu principal (părinte)"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Creat in"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-"Trebuie sa selectati minim unul sau maxim doua istorice ale revizuirilor!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Istoric pagina"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Rezumat"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Creeaza pagini web"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Istoric Documente"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Nume Meniu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Pagina"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Istoric"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Data modificării"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Creează meniu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Continut Afisat"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Avertizare!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Anulează"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Diferit"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Tipul documentului"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Subordonati"
diff --git a/addons/document_page/i18n/ru.po b/addons/document_page/i18n/ru.po
deleted file mode 100644
index ba7c5c533ae..00000000000
--- a/addons/document_page/i18n/ru.po
+++ /dev/null
@@ -1,256 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-28 12:51+0000\n"
-"Last-Translator: Chertykov Denis \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Категория"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Последний корректор"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Автор"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Меню"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Страница документа"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "История страницы"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Содержание"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Группировать по .."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Шаблон"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"будет использоваться как шаблон содержимого для всех новых страниц этой "
-"категории."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Заголовок"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Помощник создания меню"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Тип"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Изменено"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "или"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Тип страниц"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Информация меню"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "История страницы документа"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "История страницы"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Нет изменений"
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Дата"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Различие"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Страницы"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Категории"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Родительское меню"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Создан"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr "Вы должны выбрать одну или две версии в истории!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "История страницы"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Итого"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Создание веб-страниц"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "История документа"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Название меню"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Страница"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "История"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Дата изменения"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Создать меню"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Отображаемое содержимое"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Внимание!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Отмена"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Различие"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Тип документа"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Потомки"
diff --git a/addons/document_page/i18n/sk.po b/addons/document_page/i18n/sk.po
deleted file mode 100644
index 5f25cdce3bd..00000000000
--- a/addons/document_page/i18n/sk.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Slovak translation for openobject-addons
-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2010.
-#
-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: 2012-08-13 12:13+0000\n"
-"Last-Translator: Peter Kohaut \n"
-"Language-Team: Slovak \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Posledný prispievateľ"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menu"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "História stránky"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Obsah"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Zoskupiť podľa..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Názov"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Sprievodca vytvorením ponuky"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informácie menu"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Dátum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Rozdiel"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Stránky"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Nadradené menu"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Vytvorené"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Zhrnutie"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Názov menu"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Dátum zmeny"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Vytvoriť menu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Zrušiť"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Rozdiel"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/sl.po b/addons/document_page/i18n/sl.po
deleted file mode 100644
index 09ef0757ddf..00000000000
--- a/addons/document_page/i18n/sl.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:14+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Avtor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Meni"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Vsebina"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Naslov"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Informacije o meniju"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Strani"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Nadmenu"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Izdelano"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Povzetek"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Naziv menuja"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Datum spremembe"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Ustvari menu"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Prekliči"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Razlika"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/sq.po b/addons/document_page/i18n/sq.po
deleted file mode 100644
index ee6c5d05cd4..00000000000
--- a/addons/document_page/i18n/sq.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Albanian translation for openobject-addons
-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2010.
-#
-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: 2012-08-13 12:08+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Albanian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/sr.po b/addons/document_page/i18n/sr.po
deleted file mode 100644
index 19026289645..00000000000
--- a/addons/document_page/i18n/sr.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Serbian translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-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: 2012-08-13 12:13+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: Serbian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Meni"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Sadržaj"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Naslov"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Meni Informacije"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Strane"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Roditeljski Meni"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Kreiran"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Sumarno"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Naziv Menija"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Datum Promene"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Kreiraj Meni"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Otkazati"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Razlika"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/sr@latin.po b/addons/document_page/i18n/sr@latin.po
deleted file mode 100644
index 736de1f5f02..00000000000
--- a/addons/document_page/i18n/sr@latin.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Serbian translation for openobject-addons
-# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2009.
-#
-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: 2012-08-13 12:14+0000\n"
-"Last-Translator: qdp (OpenERP) \n"
-"Language-Team: Serbian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Autor"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Meni"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Sadržaj"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Naslov"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Meni Informacije"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Strane"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Roditeljski Meni"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Kreiran"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Sumarno"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Naziv Menija"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Datum Promene"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Kreiraj Meni"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Otkazati"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Razlika"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/sv.po b/addons/document_page/i18n/sv.po
deleted file mode 100644
index cb1fb64a222..00000000000
--- a/addons/document_page/i18n/sv.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.14\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:12+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Författare"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Meny"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Innehåll"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Rubrik"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Menyinformation"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Datum"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Sidor"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Huvudmeny"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Skapad den"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Sammanfattning"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Menynamn"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Ändringsdatum"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Skapa meny"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Avbryt"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Skillnad"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/tlh.po b/addons/document_page/i18n/tlh.po
deleted file mode 100644
index b91c17b149c..00000000000
--- a/addons/document_page/i18n/tlh.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:08+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/tr.po b/addons/document_page/i18n/tr.po
deleted file mode 100644
index 409cd90acb0..00000000000
--- a/addons/document_page/i18n/tr.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:12+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "Kategori"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Son Katkı koyan"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Yazar"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Menü"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr "Belge Sayfası"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Sayfa Geçmişi"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "İçerik"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "Gruplandır..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "Şablon"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-"bu kategorideki tüm yeni sayfalar için içerik şablonu olarak kullanılacaktır."
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Başlık"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "Menü Oluşturma Sihirbazı"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "Tür"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "Değiştiren"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr "ya da"
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr "Sayfa türü"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Menü bilgileri"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr "Belge Sayfa Geçmişi"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr "Sayfa geçmişi"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr "Düzeltmelerde hiç değişiklik yoktur."
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Tarih"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Fark"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Sayfalar"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "Kategoriler"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Ana Menü"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Oluşturulma"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr "Enaz bir ya da ençok 2 geçmiş düzeltmesi seçmelisiniz!"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr "Sayfa geçmişi"
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Özet"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "Web sayfaları oluşturun"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr "Belge Geçmişi"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Menü Adı"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr "Sayfa"
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "Geçmiş"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Değiştirilme Tarihi"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Menü Oluştur"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "Görüntülenen İçerik"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr "Uyarı!"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "İptal"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Fark"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr "Belge Türü"
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr "Alt"
diff --git a/addons/document_page/i18n/uk.po b/addons/document_page/i18n/uk.po
deleted file mode 100644
index ee7311fe244..00000000000
--- a/addons/document_page/i18n/uk.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.0\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-13 12:11+0000\n"
-"Last-Translator: Eugene Babiy \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Автор"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Меню"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Вміст"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Заголовок"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Інформація Меню"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Дата"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Сторінки"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Батьківське Меню"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Створено"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "Підсумок"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Назва Меню"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "Дата Зміни"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "Створити Меню"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "Скасувати"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "Відмінність"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/vi.po b/addons/document_page/i18n/vi.po
deleted file mode 100644
index 3d4f736119e..00000000000
--- a/addons/document_page/i18n/vi.po
+++ /dev/null
@@ -1,255 +0,0 @@
-# Vietnamese translation for openobject-addons
-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2010.
-#
-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: 2012-08-13 12:09+0000\n"
-"Last-Translator: Antony Lesuisse (OpenERP) \n"
-"Language-Team: Vietnamese \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "Người đóng góp cuối"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "Tác giả"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "Trình đơn"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "Lịch sử Trang"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "Nội dung"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "Tiêu đề"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr ""
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "Thông tin Trình đơn"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "Ngày"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "Khác biệt"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "Các trang"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "Trình đơn cha"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "Tạo trên"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "Tên Trình đơn"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr ""
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/zh_CN.po b/addons/document_page/i18n/zh_CN.po
deleted file mode 100644
index f5ab31e9f1c..00000000000
--- a/addons/document_page/i18n/zh_CN.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-08 13:10+0000\n"
-"Last-Translator: 盈通 ccdos \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr "类别"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "最近的贡献者"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "作者"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "菜单"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "页面编辑日志"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "内容"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "分组..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr "模版"
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "标题"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "向导创建菜单"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "类型"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr "修改者"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "菜单信息"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "日期"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "差异"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "页面"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr "分类"
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "上级菜单"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "创建在"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "摘要"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr "创建网页"
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "菜单名"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr "历史"
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "修改日期"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "创建菜单"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr "显示内容"
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "取消"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "差异"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/i18n/zh_TW.po b/addons/document_page/i18n/zh_TW.po
deleted file mode 100644
index d534aabd835..00000000000
--- a/addons/document_page/i18n/zh_TW.po
+++ /dev/null
@@ -1,254 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * wiki
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 5.0.4\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-08-30 09:36+0000\n"
-"Last-Translator: Bonnie Duan \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:36+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,parent_id:0
-#: selection:document.page,type:0
-#: model:ir.actions.act_window,name:document_page.action_category
-msgid "Category"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,write_uid:0
-msgid "Last Contributor"
-msgstr "最後的貢獻者"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,create_uid:0
-msgid "Author"
-msgstr "作者"
-
-#. module: document_page
-#: field:document.page,menu_id:0
-msgid "Menu"
-msgstr "選單"
-
-#. module: document_page
-#: view:document.page:0
-#: model:ir.model,name:document_page.model_document_page
-msgid "Document Page"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_related_page_history
-msgid "Page History"
-msgstr "頁面歷史記錄"
-
-#. module: document_page
-#: view:document.page:0
-#: field:document.page,content:0
-#: selection:document.page,type:0
-#: field:document.page.history,content:0
-msgid "Content"
-msgstr "內容"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Group By..."
-msgstr "分類方式..."
-
-#. module: document_page
-#: view:document.page:0
-msgid "Template"
-msgstr ""
-
-#. module: document_page
-#: view:document.page:0
-msgid ""
-"that will be used as a content template for all new page of this category."
-msgstr ""
-
-#. module: document_page
-#: field:document.page,name:0
-msgid "Title"
-msgstr "標題"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_document_page_create_menu
-msgid "Wizard Create Menu"
-msgstr "嚮導創建選單"
-
-#. module: document_page
-#: field:document.page,type:0
-msgid "Type"
-msgstr "類型"
-
-#. module: document_page
-#: model:ir.model,name:document_page.model_wizard_document_page_history_show_diff
-msgid "wizard.document.page.history.show_diff"
-msgstr "wizard.document.page.history.show_diff"
-
-#. module: document_page
-#: field:document.page.history,create_uid:0
-msgid "Modified By"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "or"
-msgstr ""
-
-#. module: document_page
-#: help:document.page,type:0
-msgid "Page type"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-msgid "Menu Information"
-msgstr "選單資訊"
-
-#. module: document_page
-#: view:document.page.history:0
-#: model:ir.model,name:document_page.model_document_page_history
-msgid "Document Page History"
-msgstr ""
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_page_history
-msgid "Pages history"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#, python-format
-msgid "There are no changes in revisions."
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,create_date:0
-msgid "Date"
-msgstr "日期"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff
-#: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values
-#: view:wizard.document.page.history.show_diff:0
-msgid "Difference"
-msgstr "差異"
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_page
-#: model:ir.ui.menu,name:document_page.menu_page
-#: model:ir.ui.menu,name:document_page.menu_wiki
-msgid "Pages"
-msgstr "頁面"
-
-#. module: document_page
-#: model:ir.ui.menu,name:document_page.menu_category
-msgid "Categories"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_parent_id:0
-msgid "Parent Menu"
-msgstr "上級選單"
-
-#. module: document_page
-#: field:document.page,create_date:0
-msgid "Created on"
-msgstr "建立於"
-
-#. module: document_page
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "You need to select minimum one or maximum two history revisions!"
-msgstr ""
-
-#. module: document_page
-#: model:ir.actions.act_window,name:document_page.action_history
-msgid "Page history"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.history,summary:0
-msgid "Summary"
-msgstr "摘要"
-
-#. module: document_page
-#: model:ir.actions.act_window,help:document_page.action_page
-msgid "Create web pages"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.history:0
-msgid "Document History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page.create.menu,menu_name:0
-msgid "Menu Name"
-msgstr "選單名稱"
-
-#. module: document_page
-#: field:document.page.history,page_id:0
-msgid "Page"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,history_ids:0
-msgid "History"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,write_date:0
-msgid "Modification Date"
-msgstr "修改日期"
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: model:ir.actions.act_window,name:document_page.action_related_page_create_menu
-#: model:ir.actions.act_window,name:document_page.action_wiki_create_menu
-msgid "Create Menu"
-msgstr "建立選單"
-
-#. module: document_page
-#: field:document.page,display_content:0
-msgid "Displayed Content"
-msgstr ""
-
-#. module: document_page
-#: code:addons/document_page/document_page.py:129
-#: code:addons/document_page/wizard/document_page_show_diff.py:50
-#, python-format
-msgid "Warning!"
-msgstr ""
-
-#. module: document_page
-#: view:document.page.create.menu:0
-#: view:wizard.document.page.history.show_diff:0
-msgid "Cancel"
-msgstr "刪除"
-
-#. module: document_page
-#: field:wizard.document.page.history.show_diff,diff:0
-msgid "Diff"
-msgstr "差異"
-
-#. module: document_page
-#: view:document.page:0
-msgid "Document Type"
-msgstr ""
-
-#. module: document_page
-#: field:document.page,child_ids:0
-msgid "Children"
-msgstr ""
diff --git a/addons/document_page/security/document_page_security.xml b/addons/document_page/security/document_page_security.xml
deleted file mode 100644
index 6d85d054469..00000000000
--- a/addons/document_page/security/document_page_security.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/addons/document_page/security/ir.model.access.csv b/addons/document_page/security/ir.model.access.csv
deleted file mode 100644
index 13f0479ff53..00000000000
--- a/addons/document_page/security/ir.model.access.csv
+++ /dev/null
@@ -1,4 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-document_page_all,document.page,model_document_page,,1,0,0,0
-document_page,document.page,model_document_page,base.group_user,1,1,1,1
-document_page_history,document.page.history,model_document_page_history,base.group_user,1,0,1,0
diff --git a/addons/document_page/static/src/css/document_page.css b/addons/document_page/static/src/css/document_page.css
deleted file mode 100644
index ddbbcffd45b..00000000000
--- a/addons/document_page/static/src/css/document_page.css
+++ /dev/null
@@ -1,12 +0,0 @@
-.oe_form_editable .oe_document_page {
- display: none;
-}
-
-table.diff {font-family:Courier; border:medium;}
-.diff_header {background-color:#e0e0e0}
-td.diff_header {text-align:right}
-.diff_next {background-color:#c0c0c0}
-.diff_add {background-color:#aaffaa}
-.diff_chg {background-color:#ffff77}
-.diff_sub {background-color:#ffaaaa}
-
diff --git a/addons/document_page/test/document_page_test00.yml b/addons/document_page/test/document_page_test00.yml
deleted file mode 100644
index 3c8dba80294..00000000000
--- a/addons/document_page/test/document_page_test00.yml
+++ /dev/null
@@ -1,54 +0,0 @@
--
- In order to test the document_page in OpenERP, I create a new page to category demo_category1
--
- !record {model: document.page, id: test_page0}:
- name: Test Page0
- parent_id: demo_category1
- content: 'Test content
-
- The Open ERP wiki allows you to manage your enterprise contents using wiki
-
- restructured texts. This module provides a collaborative way to manage internal
-
- FAQs, quality manuals, technical references, etc.'
-
--
- I check the category index contains my page.
--
- !python {model: document.page}: |
- res = self.read(cr, uid, [ref('demo_category1')], ['display_content'])
- assert res[0]['display_content'].find('Test Page') > 1
--
- !record {model: document.page, id: test_page0}:
- content: 'Test updated content
-
- The Open ERP wiki allows you to manage your enterprise contents using wiki
-
- restructured texts. This module provides a collaborative way to manage internal
-
- FAQs, quality manuals, technical references, etc.
-
- Wiki text can easily be edited
- '
--
- I check the page history for the current page by clicking on "Page History".After that find difference between history.
--
- !python {model: wizard.document.page.history.show_diff}: |
- hist_obj = model.pool.get('document.page.history')
- ids = hist_obj.search(cr, uid, [('page_id', '=', ref("test_page0"))])
- model.get_diff(cr, uid, {'active_ids': ids[:] })
--
- I click the "create menu" link and i fill the form.
--
- !record {model: document.page.create.menu, id: test_create_menu0}:
- menu_name: Wiki Test menu
- menu_parent_id: base.menu_base_partner
--
- I create a Menu by clicking on "create menu"
--
- !python {model: document.page.create.menu}: |
- ids = [ref("test_create_menu0")]
- context['active_id'] = ref('test_page0')
- self.document_page_menu_create(cr, uid, ids, context)
-
-
diff --git a/addons/edi/controllers/main.py b/addons/edi/controllers/main.py
index 86115d12d4b..d92cb2478cc 100644
--- a/addons/edi/controllers/main.py
+++ b/addons/edi/controllers/main.py
@@ -1,5 +1,5 @@
import simplejson
-import urllib
+import werkzeug.urls
import openerp
import openerp.addons.web.controllers.main as webmain
@@ -17,7 +17,7 @@ class EDI(openerp.http.Controller):
css = "\n ".join(' ' % i for i in webmain.manifest_list(req, modules_str, 'css'))
# `url` may contain a full URL with a valid query string, we basically want to watch out for XML brackets and double-quotes
- safe_url = urllib.quote_plus(url,':/?&;=')
+ safe_url = werkzeug.url_quote_plus(url,':/?&;=')
return webmain.html_template % {
'js': js,
diff --git a/addons/edi/static/src/js/edi.js b/addons/edi/static/src/js/edi.js
index 80002bd8743..91d2b842f8a 100644
--- a/addons/edi/static/src/js/edi.js
+++ b/addons/edi/static/src/js/edi.js
@@ -1,6 +1,7 @@
openerp.edi = function(instance) {
var _t = instance.web._t;
-instance.edi = {}
+instance.edi = {};
+
instance.edi.EdiImport = instance.web.Widget.extend({
@@ -10,11 +11,7 @@ instance.edi.EdiImport = instance.web.Widget.extend({
},
start: function() {
if (!this.session.session_is_valid()) {
- this.show_login();
- this.session.on_session_valid.add({
- callback: this.proxy('show_import'),
- unique: true,
- });
+ instance.redirect('/web/login?redir=' + encodeURIComponent(window.location));
} else {
this.show_import();
}
@@ -25,12 +22,6 @@ instance.edi.EdiImport = instance.web.Widget.extend({
this.do_import();
},
- show_login: function() {
- this.destroy_content();
- this.login = new instance.web.Login(this);
- this.login.appendTo(this.$el);
- },
-
destroy_content: function() {
_.each(_.clone(this.getChildren()), function(el) {
el.destroy();
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index 71cb58c1e77..fcfe869da90 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -183,7 +183,7 @@ class email_template(osv.osv):
'mail_server_id': fields.many2one('ir.mail_server', 'Outgoing Mail Server', readonly=False,
help="Optional preferred server for outgoing mails. If not set, the highest "
"priority one will be used."),
- 'body_html': fields.text('Body', translate=True, help="Rich-text/HTML version of the message (placeholders may be used here)"),
+ 'body_html': fields.html('Body', translate=True, help="Rich-text/HTML version of the message (placeholders may be used here)"),
'report_name': fields.char('Report Filename', translate=True,
help="Name to use for the generated report file (may contain placeholders)\n"
"The extension can be omitted and will then come from the report type."),
diff --git a/addons/email_template/tests/test_mail.py b/addons/email_template/tests/test_mail.py
index 83cabb01252..580421fe67e 100644
--- a/addons/email_template/tests/test_mail.py
+++ b/addons/email_template/tests/test_mail.py
@@ -237,7 +237,7 @@ class test_message_compose(TestMail):
email_template.send_mail(cr, uid, email_template_id, self.group_pigs_id, force_send=True, context=context)
sent_emails = self._build_email_kwargs_list
email_to_lst = [
- ['b@b.b', 'c@c.c'], ['"Followers of Pigs" '],
+ ['b@b.b', 'c@c.c'], ['"Followers of Pigs" '],
['"Followers of Pigs" '], ['"Followers of Pigs" ']]
self.assertEqual(len(sent_emails), 4, 'email_template: send_mail: 3 valid email recipients + email_to -> should send 4 emails')
for email in sent_emails:
diff --git a/addons/email_template/wizard/mail_compose_message.py b/addons/email_template/wizard/mail_compose_message.py
index f8bf45b2ba0..beede1122dc 100644
--- a/addons/email_template/wizard/mail_compose_message.py
+++ b/addons/email_template/wizard/mail_compose_message.py
@@ -41,6 +41,20 @@ def _reopen(self, res_id, model):
class mail_compose_message(osv.TransientModel):
_inherit = 'mail.compose.message'
+ def default_get(self, cr, uid, fields, context=None):
+ """ Override to pre-fill the data when having a template in single-email mode """
+ if context is None:
+ context = {}
+ res = super(mail_compose_message, self).default_get(cr, uid, fields, context=context)
+ if res.get('composition_mode') != 'mass_mail' and context.get('default_template_id') and res.get('model') and res.get('res_id'):
+ res.update(
+ self.onchange_template_id(
+ cr, uid, [], context['default_template_id'], res.get('composition_mode'),
+ res.get('model'), res.get('res_id', context.get('active_id')), context=context
+ )['value']
+ )
+ return res
+
_columns = {
'template_id': fields.many2one('email.template', 'Use template', select=True),
'partner_to': fields.char('To (Partner IDs)',
diff --git a/addons/event/__init__.py b/addons/event/__init__.py
index ce8b64ed9a9..d653a6d4081 100644
--- a/addons/event/__init__.py
+++ b/addons/event/__init__.py
@@ -23,5 +23,3 @@ import event
import wizard
import report
import res_partner
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index e8ecb09bf03..ad01e28f199 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -39,7 +39,7 @@ Key Features
* Use emails to automatically confirm and send acknowledgements for any event registration
""",
'author': 'OpenERP SA',
- 'depends': ['base_setup', 'board', 'email_template'],
+ 'depends': ['base_setup', 'board', 'email_template', 'marketing'],
'data': [
'security/event_security.xml',
'security/ir.model.access.csv',
@@ -51,8 +51,13 @@ Key Features
'res_partner_view.xml',
'email_template.xml',
],
- 'demo': ['event_demo.xml'],
- 'test': ['test/ui/event_users.yml','test/process/event_draft2done.yml'],
+ 'demo': [
+ 'event_demo.xml',
+ ],
+ 'test': [
+ 'test/ui/event_users.yml',
+ 'test/process/event_draft2done.yml'
+ ],
'css': ['static/src/css/event.css'],
'installable': True,
'application': True,
diff --git a/addons/event/event.py b/addons/event/event.py
index 3c04f5c1baa..0b10b1e51ec 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -41,7 +41,6 @@ class event_type(osv.osv):
'default_registration_max': 0,
}
-
class event_event(osv.osv):
"""Event"""
_name = 'event.event'
@@ -92,69 +91,34 @@ class event_event(osv.osv):
def button_done(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {'state': 'done'}, context=context)
- def check_registration_limits(self, cr, uid, ids, context=None):
- for self.event in self.browse(cr, uid, ids, context=context):
- total_confirmed = self.event.register_current
- if total_confirmed < self.event.register_min or total_confirmed > self.event.register_max and self.event.register_max!=0:
- raise osv.except_osv(_('Error!'),_("The total of confirmed registration for the event '%s' does not meet the expected minimum/maximum. Please reconsider those limits before going further.") % (self.event.name))
-
- def check_registration_limits_before(self, cr, uid, ids, no_of_registration, context=None):
- for event in self.browse(cr, uid, ids, context=context):
- available_seats = event.register_avail
- if available_seats and no_of_registration > available_seats:
- raise osv.except_osv(_('Warning!'),_("Only %d Seats are Available!") % (available_seats))
- elif available_seats == 0:
- raise osv.except_osv(_('Warning!'),_("No Tickets Available!"))
-
def confirm_event(self, cr, uid, ids, context=None):
register_pool = self.pool.get('event.registration')
- if self.event.email_confirmation_id:
- #send reminder that will confirm the event for all the people that were already confirmed
- reg_ids = register_pool.search(cr, uid, [
- ('event_id', '=', self.event.id),
- ('state', 'not in', ['draft', 'cancel'])], context=context)
- register_pool.mail_user_confirm(cr, uid, reg_ids)
+ for event in self.browse(cr, uid, ids, context=context):
+ if event.email_confirmation_id:
+ #send reminder that will confirm the event for all the people that were already confirmed
+ reg_ids = register_pool.search(cr, uid, [
+ ('event_id', '=', event.id),
+ ('state', 'not in', ['draft', 'cancel'])], context=context)
+ register_pool.mail_user_confirm(cr, uid, reg_ids)
return self.write(cr, uid, ids, {'state': 'confirm'}, context=context)
def button_confirm(self, cr, uid, ids, context=None):
""" Confirm Event and send confirmation email to all register peoples
"""
- if isinstance(ids, (int, long)):
- ids = [ids]
- self.check_registration_limits(cr, uid, ids, context=context)
- return self.confirm_event(cr, uid, ids, context=context)
+ return self.confirm_event(cr, uid, isinstance(ids, (int, long)) and [ids] or ids, context=context)
- def _get_register(self, cr, uid, ids, fields, args, context=None):
- """Get Confirm or uncofirm register value.
- @param ids: List of Event registration type's id
- @param fields: List of function fields(register_current and register_prospect).
- @param context: A standard dictionary for contextual values
- @return: Dictionary of function fields value.
+ def _get_seats(self, cr, uid, ids, fields, args, context=None):
+ """Get reserved, available, reserved but unconfirmed and used seats.
+ @return: Dictionary of function field values.
"""
- res = {}
+ res = dict([(id, {}) for id in ids])
for event in self.browse(cr, uid, ids, context=context):
- res[event.id] = {}
- reg_open = reg_done = reg_draft =0
- for registration in event.registration_ids:
- if registration.state == 'open':
- reg_open += registration.nb_register
- elif registration.state == 'done':
- reg_done += registration.nb_register
- elif registration.state == 'draft':
- reg_draft += registration.nb_register
- for field in fields:
- number = 0
- if field == 'register_current':
- number = reg_open
- elif field == 'register_attended':
- number = reg_done
- elif field == 'register_prospect':
- number = reg_draft
- elif field == 'register_avail':
- #the number of ticket is unlimited if the event.register_max field is not set.
- #In that cas we arbitrary set it to 9999, it is used in the kanban view to special case the display of the 'subscribe' button
- number = event.register_max - reg_open if event.register_max != 0 else 9999
- res[event.id][field] = number
+ res[event.id]['seats_reserved'] = sum(reg.nb_register for reg in event.registration_ids if reg.state == "open")
+ res[event.id]['seats_used'] = sum(reg.nb_register for reg in event.registration_ids if reg.state == "done")
+ res[event.id]['seats_unconfirmed'] = sum(reg.nb_register for reg in event.registration_ids if reg.state == "draft")
+ res[event.id]['seats_available'] = event.seats_max - \
+ (res[event.id]['seats_reserved'] + res[event.id]['seats_used']) \
+ if event.seats_max > 0 else None
return res
def _subscribe_fnc(self, cr, uid, ids, fields, args, context=None):
@@ -172,22 +136,16 @@ class event_event(osv.osv):
continue
return res
- def _get_visibility_selection(self, cr, uid, context=None):
- return [('public', 'All Users'),
- ('employees', 'Employees Only')]
- # Lambda indirection method to avoid passing a copy of the overridable method when declaring the field
- _visibility_selection = lambda self, *args, **kwargs: self._get_visibility_selection(*args, **kwargs)
-
_columns = {
- 'name': fields.char('Name', size=64, required=True, translate=True, readonly=False, states={'done': [('readonly', True)]}),
+ 'name': fields.char('Event Name', size=64, required=True, translate=True, readonly=False, states={'done': [('readonly', True)]}),
'user_id': fields.many2one('res.users', 'Responsible User', readonly=False, states={'done': [('readonly', True)]}),
'type': fields.many2one('event.type', 'Type of Event', readonly=False, states={'done': [('readonly', True)]}),
- 'register_max': fields.integer('Maximum Registrations', help="You can for each event define a maximum registration level. If you have too much registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}),
- 'register_min': fields.integer('Minimum Registrations', help="You can for each event define a minimum registration level. If you do not enough registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}),
- 'register_current': fields.function(_get_register, string='Confirmed Registrations', multi='register_numbers'),
- 'register_avail': fields.function(_get_register, string='Available Registrations', multi='register_numbers',type='integer'),
- 'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', multi='register_numbers'),
- 'register_attended': fields.function(_get_register, string='# of Participations', multi='register_numbers'),
+ 'seats_max': fields.integer('Maximum Avalaible Seats', oldname='register_max', help="You can for each event define a maximum registration level. If you have too much registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}),
+ 'seats_min': fields.integer('Minimum Reserved Seats', oldname='register_min', help="You can for each event define a minimum registration level. If you do not enough registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}),
+ 'seats_reserved': fields.function(_get_seats, oldname='register_current', string='Reserved Seats', type='integer', multi='seats_reserved'),
+ 'seats_available': fields.function(_get_seats, oldname='register_avail', string='Available Seats', type='integer', multi='seats_reserved'),
+ 'seats_unconfirmed': fields.function(_get_seats, oldname='register_prospect', string='Unconfirmed Seat Reservations', type='integer', multi='seats_reserved'),
+ 'seats_used': fields.function(_get_seats, oldname='register_attended', string='Number of Participations', type='integer', multi='seats_reserved'),
'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}),
'date_begin': fields.datetime('Start Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
@@ -197,39 +155,44 @@ class event_event(osv.osv):
('confirm', 'Confirmed'),
('done', 'Done')],
'Status', readonly=True, required=True,
- track_visibility='onchange',
help='If event is created, the status is \'Draft\'.If event is confirmed for the particular dates the status is set to \'Confirmed\'. If the event is over, the status is set to \'Done\'.If event is cancelled the status is set to \'Cancelled\'.'),
'email_registration_id' : fields.many2one('email.template','Registration Confirmation Email', help='This field contains the template of the mail that will be automatically sent each time a registration for this event is confirmed.'),
'email_confirmation_id' : fields.many2one('email.template','Event Confirmation Email', help="If you set an email template, each participant will receive this email announcing the confirmation of the event."),
'reply_to': fields.char('Reply-To Email', size=64, readonly=False, states={'done': [('readonly', True)]}, help="The email address of the organizer is likely to be put here, with the effect to be in the 'Reply-To' of the mails sent automatically at event or registrations confirmation. You can also put the email address of your mail gateway if you use one."),
- 'main_speaker_id': fields.many2one('res.partner','Main Speaker', readonly=False, states={'done': [('readonly', True)]}, help="Speaker who will be giving speech at the event."),
- 'address_id': fields.many2one('res.partner','Location Address', readonly=False, states={'done': [('readonly', True)]}),
- 'street': fields.related('address_id','street',type='char',string='Street'),
- 'street2': fields.related('address_id','street2',type='char',string='Street2'),
- 'state_id': fields.related('address_id','state_id',type='many2one', relation="res.country.state", string='State'),
- 'zip': fields.related('address_id','zip',type='char',string='zip'),
- 'city': fields.related('address_id','city',type='char',string='city'),
- 'speaker_confirmed': fields.boolean('Speaker Confirmed', readonly=False, states={'done': [('readonly', True)]}),
+ 'address_id': fields.many2one('res.partner','Location', readonly=False, states={'done': [('readonly', True)]}),
'country_id': fields.related('address_id', 'country_id',
- type='many2one', relation='res.country', string='Country', readonly=False, states={'done': [('readonly', True)]}),
- 'note': fields.text('Description', readonly=False, states={'done': [('readonly', True)]}),
+ type='many2one', relation='res.country', string='Country', readonly=False, states={'done': [('readonly', True)]}, store=True),
+ 'description': fields.html(
+ 'Description', readonly=False,
+ states={'done': [('readonly', True)]},
+ oldname='note'),
'company_id': fields.many2one('res.company', 'Company', required=False, change_default=True, readonly=False, states={'done': [('readonly', True)]}),
'is_subscribed' : fields.function(_subscribe_fnc, type="boolean", string='Subscribed'),
- 'visibility': fields.selection(_visibility_selection, 'Privacy / Visibility',
- select=True, required=True),
+ 'organizer_id': fields.many2one('res.partner', "Organizer"),
}
_defaults = {
'state': 'draft',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'event.event', context=c),
'user_id': lambda obj, cr, uid, context: uid,
- 'visibility': 'employees',
+ 'organizer_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, context=c).company_id.partner_id.id,
+ 'address_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, context=c).company_id.partner_id.id
}
+ def _check_seats_limit(self, cr, uid, ids, context=None):
+ print "event _check_seats_limit"
+ for event in self.browse(cr, uid, ids, context=context):
+ if event.seats_max and event.seats_available < 0:
+ return False
+ return True
+
+ _constraints = [
+ (_check_seats_limit, 'No more available seats.', ['registration_ids','seats_max']),
+ ]
+
def subscribe_to_event(self, cr, uid, ids, context=None):
register_pool = self.pool.get('event.registration')
user_pool = self.pool.get('res.users')
num_of_seats = int(context.get('ticket', 1))
- self.check_registration_limits_before(cr, uid, ids, num_of_seats, context=context)
user = user_pool.browse(cr, uid, uid, context=context)
curr_reg_ids = register_pool.search(cr, uid, [('user_id', '=', user.id), ('event_id', '=' , ids[0])])
#the subscription is done with SUPERUSER_ID because in case we share the kanban view, we want anyone to be able to subscribe
@@ -262,26 +225,11 @@ class event_event(osv.osv):
'reply_to': type_info.default_reply_to,
'email_registration_id': type_info.default_email_registration.id,
'email_confirmation_id': type_info.default_email_event.id,
- 'register_min': type_info.default_registration_min,
- 'register_max': type_info.default_registration_max,
+ 'seats_min': type_info.default_registration_min,
+ 'seats_max': type_info.default_registration_max,
}
return {'value': dic}
- def on_change_address_id(self, cr, uid, ids, address_id, context=None):
- values = {}
- if not address_id:
- return values
- address = self.pool.get('res.partner').browse(cr, uid, address_id, context=context)
- values.update({
- 'street' : address.street,
- 'street2' : address.street2,
- 'city' : address.city,
- 'country_id' : address.country_id and address.country_id.id or False,
- 'state_id' : address.state_id and address.state_id.id or False,
- 'zip' : address.zip,
- })
- return {'value' : values}
-
def onchange_start_date(self, cr, uid, ids, date_begin=False, date_end=False, context=None):
res = {'value':{}}
if date_end:
@@ -317,7 +265,6 @@ class event_registration(osv.osv):
('cancel', 'Cancelled'),
('open', 'Confirmed'),
('done', 'Attended')], 'Status',
- track_visibility='onchange',
size=16, readonly=True),
'email': fields.char('Email', size=64),
'phone': fields.char('Phone', size=64),
@@ -329,6 +276,18 @@ class event_registration(osv.osv):
}
_order = 'name, create_date desc'
+
+ def _check_seats_limit(self, cr, uid, ids, context=None):
+ for registration in self.browse(cr, uid, ids, context=context):
+ if registration.event_id.seats_max and \
+ registration.event_id.seats_available < (registration.state == 'draft' and registration.nb_register or 0):
+ return False
+ return True
+
+ _constraints = [
+ (_check_seats_limit, 'No more available seats.', ['event_id','nb_register','state']),
+ ]
+
def do_draft(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {'state': 'draft'}, context=context)
@@ -340,11 +299,6 @@ class event_registration(osv.osv):
def registration_open(self, cr, uid, ids, context=None):
""" Open Registration
"""
- event_obj = self.pool.get('event.event')
- for register in self.browse(cr, uid, ids, context=context):
- event_id = register.event_id.id
- no_of_registration = register.nb_register
- event_obj.check_registration_limits_before(cr, uid, [event_id], no_of_registration, context=context)
res = self.confirm_registration(cr, uid, ids, context=context)
self.mail_user(cr, uid, ids, context=context)
return res
diff --git a/addons/event/event_demo.xml b/addons/event/event_demo.xml
index 91a3f695216..a12072e62d8 100644
--- a/addons/event/event_demo.xml
+++ b/addons/event/event_demo.xml
@@ -27,31 +27,184 @@
Training
-
+
- Concert of Bon Jovi
-
-
- 500
+ Open Days in Los Angeles
+
+
+ 500
+
+
+ Join us to our main event of the year: the Open Days
+
+ Every year we invite our community, partners and end-users to come and meet us! It's the ideal event to get together and present new features, roadmap of future versions, achievements of the software, workshops, training sessions, etc.... This event is also an opportunity to showcase our partners' case studies, methodology or developments. Be there and see directly from the source the features of the version 8!
+
+ This event and all the conferences are in english!
+
+ What's new for this year?
+
+ The Open Days are preceded by 2 days of optional training sessions for experts! We propose 3 different training sessions, 2 days each.
+ The whole event is open to all public! We ask a participation fee of 49.50€ for the costs for the 3 days (morning coffee, coffee breaks, drinks, sandwiches for lunch and the surprising beer party of Wednesday evening) but it's optional. For those who do not want to contribute, there is a free ticket, therefore, catering is not inclued.
+ The plenary sessions in the morning will be shorter and we will give more time for thematical meetings, conferences, workshops and tutorial sessions in the afternoon.
+
+
+ Program:
+ Conferences, workshops and trainings will be organized in 6 rooms:
+
+ 2 technical rooms: one dedicated to advanced OpenERP developers, one for new developers.
+ 2 technical rooms: one dedicated to advanced OpenERP developers, one for new developers.
+ 1 business room: to discuss implementation methodologies, best sales practices, etc.
+ 1 workshop room: mainly for developers.
+
+ If you wish to make a presentation, please send your topic proposal as soon as possible for approval to Mr. Famke Jenssens at ngh (a) yourcompany (dot) com. The presentations should be, for example, a presentation of a community module, a case study, methodology feedback, technical, etc. Each presentation must be in English.
+
+ Where to find us:
+ OpenElec Applications 23 Rockwell Lane, Los Angeles, CA 90001, United States
+ For any additional information, please contact us at events@yourcompany.com .
+
+ Best regards,
+ Luigi Roni, Senior Event Manager
+
+ (OpenElec Applications reserves the right to cancel, re-name or re-locate the event or change the dates on which it is held.)
+
+]]>
- Opera of Verdi
-
-
-
- 50
- 350
+ Functional Webinar
+
+
+
+
+ 350
+
+ Functional Webinar
+
+ Webinars are online demonstrations where one of our team members explains the main features and benefits of our online offer through an online conference. We can therefore directly answer any questions you may have through a Q&A.
+ Each session lasts approximately one hour and is free, we just ask you to register to receive access codes.
+
+ Objective:
+ These webinars allow companies interested in our software, to assess whether the solution meets their needs, and can adapt to the scope of their project.
+ This webinar helps participants to:
+
+ Discover how to navigate in our software;
+ View full flow: purchasing, sales, project management, accounting;
+ Ask your questions to our expert;
+ Assess whether your expectations are met;
+
+
+ After registering, you will receive a link and password by email before the start of the session. If you have a problem to connect, please contact us at events@yourcompany.com .
+
+ We are looking forward to meeting you online,
+ Best regards,
+ Luigi Roni, Senior Event Manager
+
+ (YourCompany reserves the right to cancel, re-name or re-locate the event or change the dates on which it is held.)
+
+]]>
+
- Conference on ERP Business
-
-
+ Conference on Business Applications
+
+
- 200
+
+ 200
+
+ Conference on Business Applications
+
+ During this conference, our team will give a detailed overview of our business applications. You’ll know all the benefits of using it.
+
+ Objectives:
+ Having attended this conference, participants should be able to:
+
+ Understand the various modules;
+ Functional flow of the main applications;
+
+
+ Program:
+
+ Introduction, CRM, Sales Management
+ Purchase, Sales & Purchase management, Financial accounting.
+ Project management, Human resources, Contract management.
+ Warehouse management, Manufacturing (MRP) & Sales, Import/Export.
+ Point of Sale (POS), Introduction to report customization.
+
+
+ Where to find us:
+ Chamber Works 60, Rosewood Court Detroit, MI 48212 (United States)
+ For any additional information, please contact us at events@openerp.com .
+
+ Best regards,
+ Luigi Roni, Senior Event Manager
+
+ (Chamber Works reserves the right to cancel, re-name or re-locate the event or change the dates on which it is held.)
+
+]]>
-
+
+
+ Technical Training
+
+
+
+
+
+
+ 5-days Technical Training
+
+ Course summary:
+ This course is dedicated to partners, integrators and developers who need to grasp knowledge about the business applications development process and for new developers or for IT professionals eager to learn more about technical aspects.
+
+ Objectives:
+ Having attended this course, participants should be able to:
+
+ Understand the development concepts and architecture;
+ Install and administer your own server;
+ Develop a new module for a particular application.
+
+
+ Our prices include:
+
+ drinks and lunch;
+ training material.
+
+
+ Requirements
+
+ Bring your own laptop.
+ Participants are expected to have some knowledge in programming. A basic knowledge of the Python programming is recommended.
+ Participants preferably have a functional knowledge of our software (see Functional Training).
+
+
+ For more information on the program, please explore http://www.openerp.com/services/technical-training .
+ If you have a question concerning the content of the training , please contact events@yourcompany.com .
+
+ Where to find us:
+ Chaussée de Namur 69, 1300 Wavre, Belgium
+ More information about our Headquarter office (directions, transports, parking, hotels, ...), please have a look at http://bit.ly/VD8J67.
+
+ Cancellation Policy:
+ The organization of the training session has related costs. Due to these costs, cancellations made less than 2 weeks (14 calendar days) prior to the start of the training session is a subject to a fee. This fee can be up to a maximum of 1000€ per cancellation request.
+ We strongly recommend to book your flight tickets and/or hotel reservations 2 weeks prior to the training. If the training is cancelled 2 weeks in advance, you'll be notified by email.
+
+ For any additional information, please contact us at events@openerp.com .
+
+ Best regards,
+ Luigi Roni, Senior Event Manager
+
+ (YourCompany reserves the right to cancel, re-name or re-locate the event or change the dates on which it is held.)
+
+]]>
+
+
+
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 4b4570fd27a..07a36ea3a6b 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -9,13 +9,7 @@
tree,form,calendar,graph
{'search_default_event_id': active_id, 'default_event_id': active_id}
-
-
-
-
+
@@ -52,8 +46,9 @@
event.type
form
-
-
+
+
+
@@ -76,57 +71,34 @@
-
-
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
- (confirmed: )
+ (confirmed: )
-
-
-
-
-
+
-
+
@@ -160,6 +132,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -176,15 +158,14 @@
event.event.tree
event.event
-
+
-
-
-
-
+
+
+
@@ -200,15 +181,15 @@
event.event
-
-
-
+
+
+
@@ -225,19 +206,19 @@
@
Organized by
- Only
- No ticket available.
-
-
-
- tickets
- ticket
+ Only
+ No ticket available.
+
+
+
+ tickets
+ ticket
available.
-
-
+
+
@@ -332,7 +313,7 @@
context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
view_type="form"/>
-
+
@@ -469,7 +450,7 @@
diff --git a/addons/event/report/report_event_registration.py b/addons/event/report/report_event_registration.py
index 23ab2f26305..ca78412bd8e 100644
--- a/addons/event/report/report_event_registration.py
+++ b/addons/event/report/report_event_registration.py
@@ -31,7 +31,7 @@ class report_event_registration(osv.osv):
'event_id': fields.many2one('event.event', 'Event', required=True),
'draft_state': fields.integer(' # No of Draft Registrations', size=20),
'confirm_state': fields.integer(' # No of Confirmed Registrations', size=20),
- 'register_max': fields.integer('Maximum Registrations'),
+ 'seats_max': fields.integer('Max Seats'),
'nbevent': fields.integer('Number Of Events'),
'event_type': fields.many2one('event.type', 'Event Type'),
'registration_state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Attended'), ('cancel', 'Cancelled')], 'Registration State', readonly=True, required=True),
@@ -39,7 +39,6 @@ class report_event_registration(osv.osv):
'user_id': fields.many2one('res.users', 'Event Responsible', readonly=True),
'user_id_registration': fields.many2one('res.users', 'Register', readonly=True),
'name_registration': fields.char('Participant / Contact Name',size=45, readonly=True),
- 'speaker_id': fields.many2one('res.partner', 'Speaker', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
}
_order = 'event_date desc'
@@ -59,13 +58,12 @@ class report_event_registration(osv.osv):
r.user_id AS user_id_registration,
r.name AS name_registration,
e.company_id AS company_id,
- e.main_speaker_id AS speaker_id,
e.date_begin AS event_date,
count(e.id) AS nbevent,
CASE WHEN r.state IN ('draft') THEN r.nb_register ELSE 0 END AS draft_state,
CASE WHEN r.state IN ('open','done') THEN r.nb_register ELSE 0 END AS confirm_state,
e.type AS event_type,
- e.register_max AS register_max,
+ e.seats_max AS seats_max,
e.state AS event_state,
r.state AS registration_state
FROM
@@ -84,8 +82,7 @@ class report_event_registration(osv.osv):
e.user_id,
event_state,
e.company_id,
- e.main_speaker_id,
- e.register_max,
+ e.seats_max,
name_registration
)
""")
diff --git a/addons/event/test/process/event_draft2done.yml b/addons/event/test/process/event_draft2done.yml
index 2ad762682e5..e1ad32ab8da 100644
--- a/addons/event/test/process/event_draft2done.yml
+++ b/addons/event/test/process/event_draft2done.yml
@@ -14,7 +14,7 @@
name: event
date_begin: 2012-01-01 19:05:15
date_end: 2012-01-01 20:05:15
- register_max: 10
+ seats_max: 10
-
I create a registration for the event
-
@@ -33,7 +33,7 @@
I check if the number of draft registrations in the event view is correct
-
!assert {model: event.event, id: event_event ,string: 'the number of draft registration is not correct'}:
- - register_prospect == 15.00
+ - seats_unconfirmed == 15.00
-
I confirm the registration1
-
@@ -49,7 +49,7 @@
I check if the number of confirmed registration is correct
-
!assert {model: event.event,id: event_event,string: 'the number of confirmed registration is not correct'}:
- - register_current == 10.00
+ - seats_reserved == 10.00
-
I close the registration
-
@@ -64,7 +64,7 @@
I check if attended registration is correct
-
!assert {model: event.event,id: event_event,string: 'the number of registration that attended the event is not correct'}:
- - register_attended == 10.00
+ - seats_used == 10.00
-
I cancel the second registration
-
diff --git a/addons/event_moodle/__openerp__.py b/addons/event_moodle/__openerp__.py
deleted file mode 100644
index fdfb793b494..00000000000
--- a/addons/event_moodle/__openerp__.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-{
- 'name': 'Event Moodle',
- 'version': '0.1',
- 'category': 'Tools',
- 'description': """
-Configure your moodle server.
-=============================
-
-With this module you are able to connect your OpenERP with a moodle platform.
-This module will create courses and students automatically in your moodle platform
-to avoid wasting time.
-Now you have a simple way to create training or courses with OpenERP and moodle.
-
-STEPS TO CONFIGURE:
--------------------
-
-1. Activate web service in moodle.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
->site administration >plugins >web services >manage protocols activate the xmlrpc web service
-
-
->site administration >plugins >web services >manage tokens create a token
-
-
->site administration >plugins >web services >overview activate webservice
-
-
-2. Create confirmation email with login and password.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-We strongly suggest you to add those following lines at the bottom of your event
-confirmation email to communicate the login/password of moodle to your subscribers.
-
-
-........your configuration text.......
-
-**URL:** your moodle link for exemple: http://openerp.moodle.com
-
-**LOGIN:** ${object.moodle_username}
-
-**PASSWORD:** ${object.moodle_user_password}
-""",
- 'author': 'OpenERP SA',
- 'depends': ['event'],
- 'data': [
- 'wizard_moodle.xml',
- 'event_view.xml',
- 'security/ir.model.access.csv'
- ],
- 'demo': [],
- 'test': [],
- 'installable': True,
- 'auto_install': False,
- 'images': ['images/token.png','images/enable_webservice.png','images/active_xmlrpc.png'],
-}
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/event_moodle/event_moodle.py b/addons/event_moodle/event_moodle.py
deleted file mode 100644
index 44d2de4bdd5..00000000000
--- a/addons/event_moodle/event_moodle.py
+++ /dev/null
@@ -1,286 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2012 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from openerp.osv import fields, osv
-import xmlrpclib
-import string
-import time
-import random
-from random import sample
-from openerp.tools.translate import _
-
-class event_moodle(osv.osv):
- _name = 'event.moodle.config.wiz'
- _columns = {
- 'moodle_username' : fields.char('Moodle Username', 128, help="You can also connect with your username that you define when you create a token"),
- 'moodle_password' : fields.char('Moodle Password', 128),
- 'moodle_token' : fields.char('Moodle Token', 128, help="Put your token that you created in your moodle server"),
- 'server_moodle': fields.char('Moodle Server', 128, required=True,help="URL where you have your moodle server. For exemple: 'http://127.0.0.1' or 'http://localhost'"),
- 'url': fields.char('URL to Moodle Server', size=256, help="The url that will be used for the connection with moodle in xml-rpc"),
- }
-
- _order = 'create_date desc'
-
- _defaults = {
- 'server_moodle': 'http://127.0.0.1',
- }
-
- def configure_moodle(self, cr, uid, ids, context=None):
- url = self.make_url(cr, uid, ids, context=context)
- self.write(cr, uid, ids, {'url': url})
- return {'type': 'ir.actions.act_window_close'}
-
- def find(self, cr, uid, context=None):
- """
- Find the config wizard containing the configuration and raise and error if none is available.
- """
- moodle_config_wiz_ids = self.search(cr, uid, [], context=context)
- if not moodle_config_wiz_ids:
- raise osv.except_osv(_('Error!'),_("First configure your moodle connection."))
- return moodle_config_wiz_ids[0]
-
- def make_url(self, cr, uid, ids, context=None):
- """
- create the good url with the information of the configuration
- @return url for moodle connexion
- """
- def _encode_password(password):
- for i in range(len(password)):
- x = password[i]
- if x not in string.ascii_letters + string.digits:
- unicode_car = (hex(ord(x)))
- hex_car = '%'+str(unicode_car[2:])
- password = password.replace(x,hex_car)
- return password
- url=""
- config_moodle = self.browse(cr, uid, ids[0], context=context)
- if config_moodle.moodle_username and config_moodle.moodle_password:
- #connexion with password and username
- password = _encode_password(config_moodle.moodle_password)
- url = config_moodle.server_moodle + '/moodle/webservice/xmlrpc/simpleserver.php?wsusername=' + config_moodle.moodle_username + '&wspassword=' + password
- if config_moodle.moodle_token:
- #connexion with token
- url = config_moodle.server_moodle + '/moodle/webservice/xmlrpc/server.php?wstoken=' + config_moodle.moodle_token
- return url
-
- def create_moodle_user(self, cr, uid, id, dic_user, context=None):
- """
- create a moodle user
- @param dic_user : is a list of dictonnaries with the moodle information
- @return a liste of dictonaries with the create user id
- """
- #connect to moodle
- url = self.browse(cr, uid, id, context=context).url
- sock = xmlrpclib.ServerProxy(url)
- #add user in moodle and return list of id and username
- return sock.core_user_create_users(dic_user)
-
- def create_moodle_courses(self, cr, uid, id, courses, context=None):
- """
- create a mmodle course
- @param courses : is a list of dictionaries with the moodle course information
- @return a list of dictionaries with the create course id
- """
- #connect to moodle
- url = self.browse(cr, uid, id, context=context).url
- if not url:
- raise osv.except_osv(_('Error!'),_("You must configure your moodle connection."))
- sock = xmlrpclib.ServerProxy(url)
- return sock.core_course_create_courses(courses)
-
- def moodle_enrolled(self, cr, uid, id, enrolled, context=None):
- """
- this method is used to match a course with users
- @param enrolled : list of dictonaries with the course id and the user id
- """
- #connect to moodle
- url = self.browse(cr, uid, id, context=context).url
- sock = xmlrpclib.ServerProxy(url)
- #add enrolled in moodle
- sock.enrol_manual_enrol_users(enrolled)
-
- def create_password(self):
- """
- create a random password
- """
- rand = string.ascii_letters + string.digits
- length = 8
- passwd = ''.join(sample(rand, length))
- passwd = passwd + '+'
- return passwd
-
- def check_email(self, email):
-
- """
- check if email is correct
- """
- if email:
- if (email.count('@') != 1 and email.count('.') < 1):
- raise osv.except_osv(_('Error!'),_("Your email '%s' is wrong.") % (email))
-
- def make_username(self, username, response_courses):
- """
- create a moodle username with a random number for the uniqueness
- @return the moodle username
- """
- if username:
- #remove space in the name
- username = username.replace(" ","_")
- #give an user name
- name_user = username + "%d" % (response_courses,) + "%d" % (random.randint(1,999999),)
- else:
- name_user = "moodle_" + "%d" % (response_courses,) + "%d" % (random.randint(1,999999),)
- return name_user
-
-
-class event_event(osv.osv):
- _inherit = "event.event"
-
- _columns={
- 'moodle_id': fields.integer('Moodle ID', help='The identifier of this event in Moodle'),
- }
-
- def check_registration_limits(self, cr, uid, ids, context=None):
- """
- create moodle courses ,users and match them when an event is confirmed
- if the event_registration is not confirmed then it doesn t nothing
- """
- res = super(event_event, self).check_registration_limits(cr, uid, ids, context=context)
- moodle_pool = self.pool.get('event.moodle.config.wiz')
- moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context)
- list_users=[]
- userid = []
- for event in self.browse(cr, uid, ids, context=context):
- #moodle use time() to store the date
- date = time.strptime(event.date_begin, '%Y-%m-%d %H:%M:%S')
- date = int (time.mktime(date))
- #create the dict of values to create the course in Moodle
- dic_courses= [{
- 'fullname': event.name,
- 'shortname': '',
- 'startdate': date,
- 'summary': event.note,
- 'categoryid':1, #the category hardcoded is 'Miscellaneous'
- }]
- #create a course in moodle and keep the id
- response_courses = moodle_pool.create_moodle_courses(cr, uid, moodle_config_wiz_id, dic_courses, context=context)
- self.write(cr, uid, event.id, {'moodle_id': response_courses[0]['id']})
-
- moodle_uids = []
- for registration in event.registration_ids:
- if registration.state == 'open':
- #enroll the registration in Moodle as it is confirmed
- if not registration.moodle_uid:
- #create a dictionary for an user
- name_user = moodle_pool.make_username(registration.name, response_courses[0]['id'])
- moodle_pool.check_email(registration.email)
- passwd = moodle_pool.create_password()
- dic_users={
- 'username' : name_user,
- 'password' : passwd,
- 'city' : registration.city,
- 'firstname' : registration.name ,
- 'lastname': '',
- 'email': registration.email
- }
- #create the user in moodle
- response_user = moodle_pool.create_moodle_user(cr, uid, moodle_config_wiz_id, [dic_users], context=context)
- for user in response_user:
- self.pool.get('event.registration').write(cr,uid,[registration.id],{'moodle_uid': user['id'], 'moodle_user_password': passwd, 'moodle_username': name_user})
- moodle_uids.append(user['id'])
- else:
- moodle_uids.append(registration.moodle_uid)
-
- #link the course with users
- enrolled = []
- for moodle_user in moodle_uids:
- enrolled.append({
- 'roleid' :'5', #mark as 'Student'
- 'userid' : moodle_user,
- 'courseid' :response_courses[0]['id']
- })
- moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context)
- return res
-
-
-class event_registration(osv.osv):
-
- _inherit = "event.registration"
-
- _columns={
- 'moodle_user_password': fields.char('Password for Moodle User', 128),
- 'moodle_username': fields.char('Moodle Username', 128),
- 'moodle_uid': fields.integer('Moodle User ID'),
- }
-
- def confirm_registration(self, cr, uid, ids, context=None):
- """
- create a user and match to a course if the event is already confirmed
- """
- res = super(event_registration, self).confirm_registration(cr, uid, ids, context=context)
- moodle_pool = self.pool.get('event.moodle.config.wiz')
- moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context)
- for register in self.browse(cr, uid, ids, context=context):
- if register.event_id.state == 'confirm' and register.event_id.moodle_id:
- if not register.moodle_uid:
- #create the user in moodle
- name_user = moodle_pool.make_username(register.name, register.event_id.moodle_id)
- moodle_pool.check_email(register.email)
- passwd = moodle_pool.create_password()
- dic_users = [{
- 'username': name_user,
- 'password': passwd,
- 'city': register.city,
- 'firstname': register.name,
- 'lastname': '', #we could make a split of the register.name on ' ' but it would be inaccurate, so it seems better to let it empty as it's not really useful
- 'email': register.email,
- }]
- response_user = moodle_pool.create_moodle_user(cr, uid, moodle_config_wiz_id, dic_users, context=context)
- #write in database the password and the username
- moodle_user_id = response_user[0]['id']
- self.pool.get('event.registration').write(cr, uid, ids, {'moodle_uid': moodle_user_id, 'moodle_user_password': passwd, 'moodle_username': name_user})
- else:
- moodle_user_id = register.moodle_uid
- enrolled=[{
- 'roleid': '5', #mark as student
- 'userid': moodle_user_id,
- 'courseid': register.event_id.moodle_id
- }]
- moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context)
- return res
-
- def onchange_moodle_name(self, cr, uid, ids, moodle_username, context=None):
- """
- This onchange receive as parameter a username moddle and will fill the moodle_uid and password fields if existing records with this username are found
- @param moodle_username: the existing moodle username
- """
- res = {}
- reg_ids = self.search(cr, uid, [('moodle_username', '=', moodle_username)], order='create_date desc', context=context)
- if reg_ids:
- reg = self.browse(cr, uid, reg_ids[0], context=context)
- res = {'value' :{
- 'moodle_uid': reg.moodle_uid,
- 'name': reg.name,
- 'email':reg.email,
- 'phone':reg.phone,
- 'city': reg.city,
- 'street': reg.street}}
- return res
diff --git a/addons/event_moodle/event_view.xml b/addons/event_moodle/event_view.xml
deleted file mode 100644
index 252e805a6ab..00000000000
--- a/addons/event_moodle/event_view.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
- event.moodle.registration
- event.registration
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- event.moodle.event
- event.event
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/event_moodle/i18n/cs.po b/addons/event_moodle/i18n/cs.po
deleted file mode 100644
index 6621ffd35e0..00000000000
--- a/addons/event_moodle/i18n/cs.po
+++ /dev/null
@@ -1,185 +0,0 @@
-# Czech translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-03-31 16:48+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Czech \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:37+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr ""
diff --git a/addons/event_moodle/i18n/de.po b/addons/event_moodle/i18n/de.po
deleted file mode 100644
index c1cbb8d8f56..00000000000
--- a/addons/event_moodle/i18n/de.po
+++ /dev/null
@@ -1,198 +0,0 @@
-# German translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-10 08:39+0000\n"
-"Last-Translator: Thorsten Vocks (OpenBig.org) \n"
-"Language-Team: German \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:37+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Anbindung mit Benutzer und Passwort"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"URL Ihres Moodle Servers. Zum Beispiel: 'http://127.0.0.1' oder "
-"'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Passwort für Moodle Benutzer"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle Passwort"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Ihre EMail #%s' ist falsch."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Verbindungstoken"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"Der einfachste Weg für eine OpenERP Verbindung zu einem Moodle Server ist "
-"der Erstellung eines 'Tokens' in Moodle. Dieser wird dann eingesetzt, um "
-"OpenERP als vertrauenswürdige Anwendung zu authentifizieren."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL des Moodle Servers"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-"Die url die benutzt wird, um eine Verbindung zu moodle via xml-rpc "
-"herzustellen"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Veranstaltung Anmeldung"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"Ein anderer Ansatz ist die Erstellung eines Benutzers für OpenERP in Moodle "
-"zu erstellen. Wenn Sie dieses bevorzugen, sollte natürlich sicher gestellt "
-"werden, dass ausreichende Zugriffsrechte erteilt werden."
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "Moodle Benutzer ID"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle Server"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Server"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Fehler !"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Sie müssen zuerst Ihre Moodle Verbindung konfigurieren."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle Benutzername"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Konfigurieren Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle Token"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"Sie können sich ebenso mit Ihrem Benutzernamen, den Sie bei der Token "
-"Erstellung erzeugt haben, anmelden."
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "Die Identifizierung Ihrer Veranstaltung in Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr "Tragen Sie den in Moodle erstellten Token ein"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Moodle Konfiguration"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "oder"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Konfigurieren Sie zuerst Ihre Moodle Verbindung"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Anwenden"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Veranstaltung"
diff --git a/addons/event_moodle/i18n/es.po b/addons/event_moodle/i18n/es.po
deleted file mode 100644
index ccbed7ef575..00000000000
--- a/addons/event_moodle/i18n/es.po
+++ /dev/null
@@ -1,194 +0,0 @@
-# Spanish translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-12 20:43+0000\n"
-"Last-Translator: lambdasoftware \n"
-"Language-Team: Spanish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Conexión con nombre de usuario y contraseña"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"Dirección (URL) de su servidor moodle. Por ejemplo: 'http://127.0.0.1' o "
-"'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Contraseña del usuario Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Contraseña de Moodle"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Su email '%s' es erróneo."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Conexión con testigo (token)"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"La manera más sencilla para conectar OpenERP con el servidor moodle es crear "
-"un 'token' en Moodle. Esto permitirá autenticar a OpenERP como una "
-"aplicación de confianza."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "Dirección (URL) al servidor de Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "Dirección que se usará para conectar con moodle a través de xml-rpc"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Registro de eventos"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"Otro enfoque es crear un usuario para OpenERP en Moodle. Si lo hace, "
-"asegúrese de que el usuario tiene los permisos adecuados."
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "ID del usario Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Servidor Moodle"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "ID de Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Servidor"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "¡Error!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Debe configurar la conexión con moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Nombre de usuario Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Configurar Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Testigo (Token) de Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"También puede conectarse con el nombre de usuario que definió cuando creó el "
-"token"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "Identificador de este evento en Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr "Ponga el token que ha creado en su servidor moodle"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Configuración de Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "o"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Configure primero su conexion moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Aplicar"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Evento"
diff --git a/addons/event_moodle/i18n/event_moodle.pot b/addons/event_moodle/i18n/event_moodle.pot
deleted file mode 100644
index 1bae5a8dcd2..00000000000
--- a/addons/event_moodle/i18n/event_moodle.pot
+++ /dev/null
@@ -1,175 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * event_moodle
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 7.0alpha\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-21 17:05+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid "URL where you have your moodle server. For exemple: 'http://127.0.0.1' or 'http://localhost'"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "The easiest way to connect OpenERP with a moodle server is to create a 'token' in Moodle. It will be used to authenticate OpenERP as a trustable application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Another approach is to create a user for OpenERP in Moodle. If you do so, make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid "You can also connect with your username that you define when you create a token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr ""
-
diff --git a/addons/event_moodle/i18n/fr.po b/addons/event_moodle/i18n/fr.po
deleted file mode 100644
index 387fa94bea7..00000000000
--- a/addons/event_moodle/i18n/fr.po
+++ /dev/null
@@ -1,194 +0,0 @@
-# French translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-21 13:44+0000\n"
-"Last-Translator: Julius \n"
-"Language-Team: French \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:37+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Connexion avec identifiant et mot de passe"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"L'Url de votre serveur Moodle. Par exemple : 'http://127.0.0.1' ou "
-"http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Mot de passe de l'utilisateur Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Mot de passe Moodle"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Votre email '%s' est incorrect"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Connexion avec une session d'authentification (Token)"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"La manière la plus simple de se connecter à OpenERP avec un serveur moodle "
-"est de créer une session d'authentification (token). Ceci permet "
-"d'authentifier OpenERP comme une application de confiance"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL du serveur Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "L'url qui sera utilisé pour la connexion de Moodle en xml-rpc"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Inscription à l'événement"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"Une autre approche est de créer un utilisateur pour OpenERP sur Moodle. Si "
-"vous faîtes cela, vérifier que l'utilisateur a des droits d'accés appropriés"
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "Identifiant de l'utilisateur Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Serveur Moodle"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Identifiant Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Serveur"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Erreur !"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Vous devez configurer votre connexion moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Nom de l'utilisateur Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Configurer Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Session d'authentification (Token)"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"Vous pouvez aussi vous connecter avec votre identifiant que vous avez défini "
-"lors de la création d'un Token"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Configuration Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "ou"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Première configuration de votre connexion Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Annuler"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Évènement"
diff --git a/addons/event_moodle/i18n/hr.po b/addons/event_moodle/i18n/hr.po
deleted file mode 100644
index 2759988dca2..00000000000
--- a/addons/event_moodle/i18n/hr.po
+++ /dev/null
@@ -1,185 +0,0 @@
-# Croatian translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-09 20:12+0000\n"
-"Last-Translator: Goran Kliska \n"
-"Language-Team: Croatian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Lozinka za Moodle korisnika"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle lozinka"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Vaša email adresa '%s' nije ispravna."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL Moodle poslužitelja"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle poslužitelj"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Poslužitelj"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Greška!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle korisničko ime"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Moodle postavke"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle token"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "ili"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Primjeni"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Odustani"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Event"
diff --git a/addons/event_moodle/i18n/hu.po b/addons/event_moodle/i18n/hu.po
deleted file mode 100644
index b092c30b3b4..00000000000
--- a/addons/event_moodle/i18n/hu.po
+++ /dev/null
@@ -1,197 +0,0 @@
-# Hungarian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-28 08:28+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Hungarian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:37+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Csatlakozás felhasználónévvel és jelszóval"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"A moodle tanulási környezet szerver helyének URL elérési útja. Pédául: "
-"'http://127.0.0.1' or 'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Jelszó a Moodle tanulási környezet felhasználónak"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle tanulási környezeti jelszó"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Az '%s' e-mailje hibás."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Szimbólum tokennel való belépés"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"A legkönnyebb kapcsolódási lehetőség Moodle szerverrel az OpenERP "
-"rendszerhez úgy, hogy egy szimbólum 'tokent' hoz A Moodle-n. Ezt az OpenERP "
-"hitelesítésére lesz használva mint hitelesített alkalmazás."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL a Moodle szerverhez"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-"Ezt az url elérési útat az xml-rpc fogja használni a Moodle tanulási "
-"környezet csatlakozására"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Rendezvény regisztráció"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"Másik lehetőség, hogy az OpenERP felhasználót a moodle tanulási környezetből "
-"állítja be. Ha így tesz, akkor győződjön meg, hogy ennek a felhasználónak "
-"megfelelő elérési jogosultságai vannak."
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "Moodle tanulási környezet felhasználó ID azonosítója"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle szerver"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID azonosító"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Szerver"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Hiba!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Be kell állítani a Moodle tanulási környezet csatlakozást."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle tanulási környezet felhasználó"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Moodle tanulási környezet beállítása"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle tanulási környezet Token"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"A token létrehozásakor létrehozott felhasználó nevével is kapcsolódhat"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "Ennek az eseménynek az azonosítójaa moodle tanulási környezetben"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-"Tegye ide a tokent amit a Moodle tanulási környezet szerveren létrehozott"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Moodle tanulási környezet beállítás"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "vagy"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Előszőr állítsa be a Moodle tanulási környezet csatlakozást"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Alkalmaz"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Mégsem"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Esemény"
diff --git a/addons/event_moodle/i18n/mk.po b/addons/event_moodle/i18n/mk.po
deleted file mode 100644
index 750bafb5462..00000000000
--- a/addons/event_moodle/i18n/mk.po
+++ /dev/null
@@ -1,194 +0,0 @@
-# Macedonian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-03-08 14:43+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Macedonian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:37+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Конекција со корисничко име и лозинка"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"URl адресата на вашиот moodle сервер. На пример, 'http://127.0.0.1' или "
-"'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Лозинка за Moodle корисник"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle лозинка"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Вашата е-пошта '%s' е погрешна."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Конекција со токен"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"Најлесен начин да се поврзете на OpenERP со moodle сервер е да креирате "
-"'токен' во Moodle. Тој ќе се користи за да се идентификува OpenERP како "
-"доверлива апликација."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL на Moodle Сервер"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "URL која ќе се користи за конекција со moodle во xml-rpc"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Регистрација на настан"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"Другиот начин е да се креира корисник за OpenERP во Moodle. Доколку го "
-"направите тоа, погрижете се овој корисник да ги има сите права за пристап."
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "ID на Moodle корисник"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle Сервер"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Сервер"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Грешка!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Мора да ја конфигурирате вашата moodle конекција."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle корисничко име"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Конфигурирај Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle Токен"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"Можете да се конектирате со вашето корисничко име што го дефинирате кога "
-"креирате токен"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "Идентификувач на овој настан во Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr "Ставете го токенот кој го креиравте во вашиот Moodle сервер"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Moodle Конфигурација"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "или"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Најпрво конфигурирајте ја вашата moodle конекција."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Примени"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Откажи"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Настан"
diff --git a/addons/event_moodle/i18n/mn.po b/addons/event_moodle/i18n/mn.po
deleted file mode 100644
index 512eecce92a..00000000000
--- a/addons/event_moodle/i18n/mn.po
+++ /dev/null
@@ -1,185 +0,0 @@
-# Mongolian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-06 09:39+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Mongolian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Хэрэглэгчийн нэр ба нууц үгтэй холболт"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Moodle хэрэглэгчийн нууц үг"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle нууц үг"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Таны емайл '%s' буруу байна."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "Moodle серверийн URL"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Үйл явдлын бүртгэл"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "Moodle хэрэглэгч ID"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle Сервер"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Сервер"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Алдаа гарлаа!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle хэрэглэгчийн нэр"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Moodle тохиргоо"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle тасалбар"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Moodle тохиргоо"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "эсвэл"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Эхлээд moodleхолболтыг тохируул"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Ашиглах"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Цуцлах"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Үйл ажиллагаа"
diff --git a/addons/event_moodle/i18n/nl.po b/addons/event_moodle/i18n/nl.po
deleted file mode 100644
index eb794e9d1c6..00000000000
--- a/addons/event_moodle/i18n/nl.po
+++ /dev/null
@@ -1,185 +0,0 @@
-# Dutch translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-11-30 20:02+0000\n"
-"Last-Translator: Erwin van der Ploeg (BAS Solutions) \n"
-"Language-Team: Dutch \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:37+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Connectie met gebruikersnaam en wachtwoord."
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Wachtwoord voor Moodle gebruiker"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle wachtwoord"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Uwr email '%s' is fout."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Connectie met een token"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL van Moodle Server"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Evenementregistratie"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "Moodle User ID"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle Server"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Server"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Fout!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle gebruikersnaam"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Moodle instellen"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle Token"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Moodle instellingen"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "of"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Stel eerst uw Moodle connectie in."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Toepassen"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Annuleren"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Evenement"
diff --git a/addons/event_moodle/i18n/pt.po b/addons/event_moodle/i18n/pt.po
deleted file mode 100644
index 72df6577c6d..00000000000
--- a/addons/event_moodle/i18n/pt.po
+++ /dev/null
@@ -1,187 +0,0 @@
-# Portuguese translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-04 17:35+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Portuguese \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Ligação com nome de utilizador e senha"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"Endereço onde tem o seu servidor moodle. Por exemplo: 'http://127.0.0.1' ou "
-"'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Senha para o utilizador Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Senha Moodle"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "O seu email '%s' está errado."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "Endereço para o servidor Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "O endereço que será usado para a ligação com o moodle em xml-rpc"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Servidor Moodle"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Servidor"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Erro!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Tem que configurar a sua ligação ao moodle."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Configurar Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Configuração Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Primeiro configure a sua ligação ao moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Aplicar"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Evento"
diff --git a/addons/event_moodle/i18n/pt_BR.po b/addons/event_moodle/i18n/pt_BR.po
deleted file mode 100644
index 94a7220d015..00000000000
--- a/addons/event_moodle/i18n/pt_BR.po
+++ /dev/null
@@ -1,195 +0,0 @@
-# Brazilian Portuguese translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-24 18:29+0000\n"
-"Last-Translator: Fábio Martinelli - http://zupy.com.br "
-"\n"
-"Language-Team: Brazilian Portuguese \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Conectar com usuário e senha"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"URL aonde está configurado o servidor moodle. Por exemplo 'http://127.0.0.1' "
-"ou 'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Senha para o Usuário Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Senha Moodle"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Seu email '%s' está errado."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Conectar com um Token"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"A maneira mais fácil de conectar o OpenERP com um servidor moodle é criar um "
-"token no Moodle. Ele será usado para autenticar o OpenERP como uma aplicação "
-"confiável."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL para o Servidor Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "A url que será usada para a conexão do moodle em xml-rpc"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Inscrição no Evento"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"Outra maneira é criar um usuário para o OpenERP no Moodle. Se você fizer "
-"dessa forma, tenha certeza de que este usuário possui os direitos de acesso "
-"apropriados."
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "ID do Usuário no Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Servidor Moodle"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "ID Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Servidor"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Erro!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Você precisa configurar sua conexão ao moodle."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Usuário Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Configurar Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Token Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"Você também pode conectar com o usuário que você definiu ao criar um token"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "O identificador deste evento no Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr "Coloque o token que você criou no seu servidor moodle"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Configuracão do Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "ou"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Primeiro configure sua conexão do Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Aplicar"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Evento"
diff --git a/addons/event_moodle/i18n/ro.po b/addons/event_moodle/i18n/ro.po
deleted file mode 100644
index 56a9d877616..00000000000
--- a/addons/event_moodle/i18n/ro.po
+++ /dev/null
@@ -1,195 +0,0 @@
-# Romanian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-23 21:24+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Romanian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Conectare cu numele de utilizator si parola"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "wiz.config.eveniment.moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"URL-ul unde aveti serverul moodle. De exemplu: 'http://127.0.0.1' or "
-"'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Parola pentru Utilizatorul Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Parola Moodle"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Email-ul dumneavoastra '%s' este gresit."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Conectare cu un Simbol"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"Cel mai usor mod de conectare a lui OpenERP cu un server moodle este sa "
-"creati un 'simbol' in Moodle. Va fi folosit pentru a autentifica OpenERP "
-"drept o aplicatie de incredere."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "URL catre Serverul Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "Url-ul care va fi folosit pentru conectarea cu moodle in xml-rpc"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Inregistrarea Evenimentelor"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"O alta abordare este sa creati un utilizator pentru OpenERP in Moodle. Daca "
-"faceti acest lucru, asigurati-va ca acest utilizator are drepturi de acces "
-"adecvate."
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "ID Utilizator Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Server Moodle"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "ID Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Server"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Eroare!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Trebuie sa configurati conexiunea moodle."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Nume de utilizator Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Configureaza Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Simbol Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"De asemenea, puteti sa va conectati cu numele de utilizator pe care il "
-"definiti atunci cand creati un simbol"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "Identificatorul acestui eveniment in Moodle"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr "Puneti simbolul pe care l-ati creat in serverul moodle"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Configurare Moodle"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "sau"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Mai intai configurati-va conexiunea moodle."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Aplica"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Anuleaza"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Eveniment"
diff --git a/addons/event_moodle/i18n/ru.po b/addons/event_moodle/i18n/ru.po
deleted file mode 100644
index b42a84a023b..00000000000
--- a/addons/event_moodle/i18n/ru.po
+++ /dev/null
@@ -1,185 +0,0 @@
-# Russian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-11-13 05:19+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Russian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-14 05:23+0000\n"
-"X-Generator: Launchpad (build 16820)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr ""
diff --git a/addons/event_moodle/i18n/sl.po b/addons/event_moodle/i18n/sl.po
deleted file mode 100644
index f6aba48c1ff..00000000000
--- a/addons/event_moodle/i18n/sl.po
+++ /dev/null
@@ -1,185 +0,0 @@
-# Slovenian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-26 12:20+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Slovenian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr ""
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Registracija dogodka"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Strežnik"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Napaka!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr ""
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr ""
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "ali"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr ""
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Uporabi"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "Prekliči"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Dogodek"
diff --git a/addons/event_moodle/i18n/tr.po b/addons/event_moodle/i18n/tr.po
deleted file mode 100644
index 55ab0120d94..00000000000
--- a/addons/event_moodle/i18n/tr.po
+++ /dev/null
@@ -1,193 +0,0 @@
-# Turkish translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-04 14:05+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Turkish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "Kullanıcı adı ve parola ile bağlanma"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "etkinlik.moodle.yapılanma.sih"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"Moodle sunucunuzun bulunduğu URL. Örneğin: 'http://127.0.0.1' or "
-"'http://localhost'"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Moodle kullanıcı parolası"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle Parolası"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "Epostanız '%s' yanlıştır."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "Andaç ile bağlanma"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"OpenERP ye bir moodle sunucusu ile en kolay bağlanma yolu Moodle da bir "
-"'andaç' oluşturmaktır. OpenERP nin güvenilir bir uygulama olduğunu "
-"doğrulamak için kullanılacaktır."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "Moodle Sunucusu için URL"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "xml-rpc de moodle ile bağlanmak için kullanılacak url."
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "Etkinlik Kaydı"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr ""
-"Diğer bir yaklaşım Moodle da OpenERP için bir kullanıcı oluşturmaktır. Böyle "
-"yaparsanız, bu kullanıcının uygun izinlerinin olduğundan emin olun."
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "Moodle Kullanıcı ID"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle Sunucusu"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "Sunucu"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "Hata!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "Moodle bağlantınızı yapılandırmalısınız."
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle Kullanıcı Adı"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "Moodle Yapılandır"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle Andaçı"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr ""
-"Bir andaç oluştururken tanımladığınız kullanıcı adınızla da bağlanabilirsiniz"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "Moodle da bu etkinliğin kimliği"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr "Moodle sunucusunda oluşturduğunuz andaçı koyun"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Modle Yapılandırması"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "ya da"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "Önce moodle bağlantınızı yapılandırın."
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "Uygula"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "İptal"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "Etkinlik"
diff --git a/addons/event_moodle/i18n/zh_CN.po b/addons/event_moodle/i18n/zh_CN.po
deleted file mode 100644
index 006004b929e..00000000000
--- a/addons/event_moodle/i18n/zh_CN.po
+++ /dev/null
@@ -1,188 +0,0 @@
-# Chinese (Simplified) translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-30 00:29+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Chinese (Simplified) \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:38+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with username and password"
-msgstr "用户名和密码的链接"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz
-msgid "event.moodle.config.wiz"
-msgstr "event.moodle.config.wiz"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,server_moodle:0
-msgid ""
-"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or "
-"'http://localhost'"
-msgstr ""
-"你的 moodle 服务器的URL。\r\n"
-"例如:“http://127.0.0.1”或“http://localhost”"
-
-#. module: event_moodle
-#: field:event.registration,moodle_user_password:0
-msgid "Password for Moodle User"
-msgstr "Moodle用户密码"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_password:0
-msgid "Moodle Password"
-msgstr "Moodle 密码"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Your email '%s' is wrong."
-msgstr "你的邮件 '%s' 是错误的"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Connection with a Token"
-msgstr "用 令牌 链接"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"The easiest way to connect OpenERP with a moodle server is to create a "
-"'token' in Moodle. It will be used to authenticate OpenERP as a trustable "
-"application."
-msgstr ""
-"用Moodle服务器连接OpenERP的最简单的方法是创建一个“标记”在Moodle。将使用它作为可信赖的应用程序中进行身份验证OpenERP的。"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,url:0
-msgid "URL to Moodle Server"
-msgstr "Moodle 服务器的URL"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,url:0
-msgid "The url that will be used for the connection with moodle in xml-rpc"
-msgstr "XML-RPC中的URL将被用于连接与Moodle"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_registration
-msgid "Event Registration"
-msgstr "事件记录"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid ""
-"Another approach is to create a user for OpenERP in Moodle. If you do so, "
-"make sure that this user has appropriate access rights."
-msgstr "在moodle中创建一个Openerp用户的其它方法。如果你这样做了,确实这用户有适当的访问权限。"
-
-#. module: event_moodle
-#: field:event.registration,moodle_uid:0
-msgid "Moodle User ID"
-msgstr "Moodle 用户ID"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,server_moodle:0
-msgid "Moodle Server"
-msgstr "Moodle 服务器"
-
-#. module: event_moodle
-#: field:event.event,moodle_id:0
-msgid "Moodle ID"
-msgstr "Moodle ID"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Server"
-msgstr "服务器"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#: code:addons/event_moodle/event_moodle.py:105
-#: code:addons/event_moodle/event_moodle.py:137
-#, python-format
-msgid "Error!"
-msgstr "错误!"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:105
-#, python-format
-msgid "You must configure your moodle connection."
-msgstr "你必须配置你的 Moodle 链接"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_username:0
-#: field:event.registration,moodle_username:0
-msgid "Moodle Username"
-msgstr "Moodle 用户名"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-#: model:ir.actions.act_window,name:event_moodle.configure_moodle
-msgid "Configure Moodle"
-msgstr "配置 Moodle"
-
-#. module: event_moodle
-#: field:event.moodle.config.wiz,moodle_token:0
-msgid "Moodle Token"
-msgstr "Moodle 令牌"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_username:0
-msgid ""
-"You can also connect with your username that you define when you create a "
-"token"
-msgstr "当你创建了一个令牌,你也能用你定义的用户名链接。"
-
-#. module: event_moodle
-#: help:event.event,moodle_id:0
-msgid "The identifier of this event in Moodle"
-msgstr "该事件在 Moodle 中的标识"
-
-#. module: event_moodle
-#: help:event.moodle.config.wiz,moodle_token:0
-msgid "Put your token that you created in your moodle server"
-msgstr "把你的令牌 放在你的服务器中"
-
-#. module: event_moodle
-#: model:ir.ui.menu,name:event_moodle.wizard_moodle
-msgid "Moodle Configuration"
-msgstr "Moodle 配置"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "or"
-msgstr "或"
-
-#. module: event_moodle
-#: code:addons/event_moodle/event_moodle.py:57
-#, python-format
-msgid "First configure your moodle connection."
-msgstr "第一次配置的你moodle连接"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Apply"
-msgstr "应用"
-
-#. module: event_moodle
-#: view:event.moodle.config.wiz:0
-msgid "Cancel"
-msgstr "取消"
-
-#. module: event_moodle
-#: model:ir.model,name:event_moodle.model_event_event
-msgid "Event"
-msgstr "事件"
diff --git a/addons/event_moodle/security/ir.model.access.csv b/addons/event_moodle/security/ir.model.access.csv
deleted file mode 100644
index 93a9252162d..00000000000
--- a/addons/event_moodle/security/ir.model.access.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_event_moodle,event.moodle.admin,model_event_moodle_config_wiz,event.group_event_manager,1,1,1,1
-access_event_moodle_user,event.moodle.usr,model_event_moodle_config_wiz,event.group_event_user,0,0,0,0
diff --git a/addons/event_moodle/wizard_moodle.xml b/addons/event_moodle/wizard_moodle.xml
deleted file mode 100644
index ef8af01ec3b..00000000000
--- a/addons/event_moodle/wizard_moodle.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
- moodle.config.wizard.form
- event.moodle.config.wiz
-
-
-
-
-
-
- Configure Moodle
- event.moodle.config.wiz
-
- form
- form
- new
-
-
-
-
-
-
-
-
-
diff --git a/addons/event_sale/__openerp__.py b/addons/event_sale/__openerp__.py
index c274669af98..88e27fd9a3d 100644
--- a/addons/event_sale/__openerp__.py
+++ b/addons/event_sale/__openerp__.py
@@ -39,7 +39,10 @@ this event.
""",
'author': 'OpenERP SA',
'depends': ['event', 'sale_crm'],
- 'data': ['event_sale_view.xml'],
+ 'data': [
+ 'event_sale_view.xml',
+ 'event_sale_data.xml',
+ ],
'demo': ['event_demo.xml'],
'test': ['test/confirm.yml'],
'installable': True,
diff --git a/addons/event_sale/event_demo.xml b/addons/event_sale/event_demo.xml
index a7ddf577ff9..ca55b66717d 100644
--- a/addons/event_sale/event_demo.xml
+++ b/addons/event_sale/event_demo.xml
@@ -1,15 +1,51 @@
-
- Technical training in Grand-Rosiere
-
-
-
-
+
+
+ Open Days in Los Angeles
+ True
+
+
+ service
+ 2500.0
+ 1000.0
+
+
+ /9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAB+AJYDAREAAhEBAxEB/8QAHAAAAQUBAQEAAAAAAAAAAAAAAAMFBgcIBAIB/8QAPxAAAQMDAgMECAMFBwUAAAAAAQIDBAAFEQYSByExE0FRcQgUIjJhgZGhUoKxFUJywdEWFyMkQ2KzJURzksL/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A2XQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUCUuTHiMKfkyGWGk9VuLCUjzJoGyJqjTkuQI8a/2t50nAQiWgk+Qzz+VA8ZHiKAoCgKAoCgKAoG2RfLdHlLjPPlLiDhQ2mgEXy1K/71oeZxQLIuluX7s1k/moFky4qvdkMn84oFA62ejiD5KoPVAUBQRjiNq+Fo+wrnycOPL9iOznBcX/AEHfQZX1brG8ajnKlXSat3mShsEhDY8Ep7qBlVNb7NstuLLhz2gUOQ8MHvoLl4C8R5aLtH01eJSn40g7IrjhyppfcnP4T0+BxQaEHSgKAoCg4b1doFoiGVcJKGGgcZPUnwA76BtsesLBeJPqsScO3PutuJKSry8aCQA5oIBf9v8AaCYD+IfpQcmwGgiTkLXLIfZZmQJKFKJafdQA4kFRIBCUhJG3aOnjzNB5VcdVoffZbtdplSGmwSy3L2kKPTOeY8/hQKyJur4KWHf2cxM3MArYbdDaw7zJAVnBAAHd86D6nU2pWEFyRpu4JQhBUrs3gTy8OfX4UE94Z3V+7x2prgktokxUPJZfPtN7hnBHcedBNj0oMp+knqN2fr563doextzaWkp7txG5R+4oKldlfGgQ9b59aBysNycj3SM+wsh1t1KkEdxBGKDfSeaQSMUH2gKAoM/+k1eZMO+w4pWpLIi70+GSogn7CgpaHrN9q4NLTKUHEEbCFcxjpig2foa6LvekbXdXBhyTGQtf8WME/UUEQ1I+E6nmoJ7x+lAzyrukOuRoy0FbYJfdUf8ADYA6lR8fh9cUHXbJ9ucjbmbgw8MncvtQckHBoG24aZsF7kPTA8svqcBLjEg+ytIx3HHLwoO+PaIDBgNtvuboJ3ICnNylEoKcqz15ZoHRQGKB20Zyuj3/AIv50EvPSgxT6RUeRb+K96DoKQ+tLzZPekoHP6g0FYPyVZ60CIfJPU0FjcB9NP6q4hW2IEFUVhwSJSscg2g5IPnyHzoNyjpQFAUBQVdx40/pzUlpbjXG7xrbc2gVRluZOQeoIGTgkUGcNGcNU3HVTcSXerfFY7TBfUsjcM/ugjqe7OKDY0aRZNN2WNA9bYYjRmktNJKwVEJGBgDmT5UFF611Ym861kQ7E46e1WA64k4LKMYJJHQnuHWgkDcSPF0xMaaEVlAjOEqko3Ne6clwfvJ8fEZoI1AYhSw/siaPku9in1VLO5C1P4SfbSB7Kep5cxyoHJ7Tr0bcYuj7eoyGVJkdjcFtElQ3KA6dVJAzyOKBNGmUvxz61peTFeLpGYt2XnakFSVbs5ySSMfGgXsdhekz3y8xqK0BtxDiHFXPel1QOSNvPly5560FnaO5XZY8Wj+tBMKCqfSB4WnXltan2ottXmIkpb3HAeR+AnuPgaDHmptN6gsM9cO72mZDeSSMOtEA/EHvHxFA9aA4Z6v1fNbRbbRJTGJ9uW82UMoHjuPXyGTQbJ4R8PLXw/sPqcUh+a9hUqURguK8B4JHcKCbUBQFBzXSYzb7fInSFbWY7anFnwAGTQYk4iaouGotXSZq3VJU6sqIzyQjolI8hQJ2h07E5PMUFx6P4X6h1VZYdwl6w9RtElvIjw2Al5SQSCFr5Z5g8+dB1OaRtemtQybbamlIjtbcFatylHHMk95NBJoLSey2EApIwQe+gWRAgpd7UQ44czneGxn60HVQN94vVstHZ/tGUljtc7MgnOPKg52tUafdRuRdGCPHn/SgetHX+xquxWLtDCS2RlToTz5eNBNHLvbRDflInR3WmGy44W3QrakDJPI0GcNb8bNRXOS4zYli1w8kJUkBTqh4knp5D60Fc3PWGpZruJeoLs+euFTF4HkM4FA66Z4kawsb6Fxr5NdbSebUl0vII8MKzj5YoNWcONTtau0lDvTbXZKdBS63nOxaThQ8sigkdAUBQV16Qt2Nt4cyGkKwqY6lk+O33lfpj50GZnLGGND269vI/wAxd57qmyR/osjby81qV/6igbIqwh0p+NBrngS923C20HvR2qT8nV0DFq8gavmk/wC39KDzHfSlI50HQmU3nrQLJcQeeaCA8a0g2iC+kn2H1JOPiKDxZNIWmdZoclK32y40lSil5XM/pQdK9D23ACJUjPeS7z/SgTctUfSVkv01qU8sy7VIi7VqBG5ScpPTxT96CjQQRmgb1qCpisd1B0o6ig0j6J91L9hutmWcmI8l9H8LgIx9UE/Ogu2gKAoKO9LFco2iyx2I7zodddSkNoKtyyEgDl3+FBC+MkFdiiaXsLkd1LdstKEqUEHap1XNzB6HmPvQVU24V7nkjCAeqiBQay9HAPf3XRe1QUpMh0tE9Fp3dR8M5HyoLDXHYWoqWy2pR6koBNB5MSKesZg+bYoGd2DED91mertewz2afYGBtSSfuaDpsduiosUJpyM0pQjISpSkAknaOZPjQVvxztrKOFKlNMoDkSWkFQT7RGSOZ+YoGLhzLS9o2BhSApKNvM+BxQPNxuEWBEMmY+w02nAKldM92KCtOMmr7bJsrVst8huQt1YccUg+4B0Hmf5UFSGUlLfMjlQIwV9otTh/e50DpGYkPjczHedSORLbZUB9KC7vRVQ9D1BenZaVRmTDaSC8Nm5W9XTPXkDQaIZfZeBLLrbgHXYoHH0oFKAoPDjTbm3tEJXtO5O4ZwfEfGgo/wBKxzZEs4z0Q+f+OgzM+r/IoH4lqI/Sg3Pwst5tfDqwQVDapuC0VDwUpO4j6k0EloPh6ZoG19J/YM1eMKcadV9QcUDiykIZQkdAkAUEE4xxDI4c6kYSklXZpeQAM89wzQZitUzVkWImNbnrg2ynO1LbTmBk5/DQSXV1xud50pHgCx3IS2dq3Hi2ohwgYPLFBTt2dlBZBaWDnHMGg5ZcafGKGpkd5hx1AWlLiSklB6HB7jQdyP8ABjDu8aC3NHRHW9OQWG1rRlsOr28txVz5/LFA8pt7hVlS3D5qNBaXBBlTX7SBJx7HU+dBZlAUBmgoP0t1hMWznP8ApyP1boKB0va13vUthsiASZchtKsdySrKj8hQbzaU000ltOAlIAAHcBQejIb/ABUCUmW2lhZBydpxQIyX2RBUwFfuBH8qDoTLZwBuoG6+Nrmx3Y8Z5lCpDRaV2qNySnvBHxBxQUzA4ei43G4i2smMuFILZWxMUhLijnmARju7/GgQv+ltUWNltbs6Uhpa9iMqS7k+GQaBum6F19EYkXl1uIyiOhTynFttqcCQMk8+ZNBVHEJqcvUDci5zW5sh6MhztEbeQOcAhPIEeFBHpCCY5AFBdmhZ9vkaehqVLjoWGUIUlTgBBCQOlBIm3IbjoZaktOOlW0IQoKUSe7A76C0uF9ufhWyS8+ytpT7g2hacEgDr96CX0HO4p3ngUHM85IHROaCnPSH03ftUxICLcy1uZDiSFrxndt5/agi/CTh5d7BrmPe7k2y6I0cpjtoJ5KIwVE+WfrQX2zJeUPbYUD50C6VZ6tn60A4lKk+4rqKD0ppsjHZk/Og9pab7msfOgFJbSpKyjARlR591AwcNG/8AosiYpGVS5jrufhnb/I0CfFIhVstw24HrqMn50FB8b+Ldw1BcZNjsspUeyMktktnCpRHUqP4fAfWgqhLqFoClrGcnOTQekvx/d7VH1oFbcmMu6Q0IWklT6Bgd/MUE40q/Pd1PMeskd2TPRd2VMobSSdwXkfLlzPTFBssYzQfaD4Ug0Hktg0HJOgofSAoA4oEmbc2hSFBIymg7BGR4UB6unwFAdgMYxQfeyAoPvZjwoOG/rTGsc+QeWyOsg/lOKDm0TE9V0pbWiMK7BK1D4q9o/c0Eb45+xol1Y5FO9WfyKoMLXOYtcgoSojJ50DtpV2yt3JEa9tKLLiNwUXNoSru7qCwzYtLpSHRYt6e5RcVg0DpZGLA2pBhacjmSk5TtSpxWR3gAZoJYzP1La4i7pFs78COwk7n0RlNhIJAOenU4oLd4WNX5y1Lul9nOvLlY7BpSwQhA7+XeTQTOgKAoCgMUBQBNB5KhQeVLxQeC8PGgYNev7tLS2EKwt8oZT5qUBQPDD7TLDbSeSUJCQPIUEF47PpXoCXtPMIX/AMaqDEEKJ61eGGzzDjqUn5mgdtYWfsddXC17doRNLSR/t3YH2IoNtcJI8EaFh5YaWpTjm8qQDkhZT/8AIHyoGXQMBpnXcxaW0J7N2SeQxjc4cUFhX6CzdrJNtr2OzlMLaPwyCM0Ef4SSnH9HMMP8n4i1MOJ8Ck4P3zQS+gKAoCgKD4TQeCaBJSjQIuKOKDmdWRmgjWq5ILlujLVgLlpWfygn+lApIuhT0NBDeJkp656VlwWRudcQpKE56kpOKDLFlaXF1LEalsONrTIRuQpJB94UFkcQrC5L4pNXyCkPQpbzbjuDzbUnGcjw9kUF0cH7tIhaLjRriksSO2fcKFHmAt1Sh9jQPWmJDaNU3N9KgQrmkj44JoJi1OCse1QR3SaxbtYX63g7WpCkzGh/F733B+tBMkvg99AvQFAUBQfCM0HhQoE1JoEHE8qDleFAyXiM247HU4kK2r5ZHwoOGZCQQcHFBFtSQ1tsb0LT73fQRI2pl2UlxaGyvPvFOT9aDzcowadKxjkcCgerWVhhHtc8UDlZXltzXSCcnrQS2DLcOBk0CUx0s6qtUtPvPJcjr+IxuH6UEtZcVtoP/9k=
-
+
+ Functional Webinar
+ True
+
+
+ service
+ 2500.0
+ 1000.0
+
+
+ /9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAB+AJYDAREAAhEBAxEB/8QAHAAAAQUBAQEAAAAAAAAAAAAAAAMFBgcIBAIB/8QAPxAAAQMDAgMECAMFBwUAAAAAAQIDBAAFEQYSByExE0FRcQgUIjJhgZGhUoKxFUJywdEWFyMkQ2KzJURzksL/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A2XQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUCUuTHiMKfkyGWGk9VuLCUjzJoGyJqjTkuQI8a/2t50nAQiWgk+Qzz+VA8ZHiKAoCgKAoCgKAoG2RfLdHlLjPPlLiDhQ2mgEXy1K/71oeZxQLIuluX7s1k/moFky4qvdkMn84oFA62ejiD5KoPVAUBQRjiNq+Fo+wrnycOPL9iOznBcX/AEHfQZX1brG8ajnKlXSat3mShsEhDY8Ep7qBlVNb7NstuLLhz2gUOQ8MHvoLl4C8R5aLtH01eJSn40g7IrjhyppfcnP4T0+BxQaEHSgKAoCg4b1doFoiGVcJKGGgcZPUnwA76BtsesLBeJPqsScO3PutuJKSry8aCQA5oIBf9v8AaCYD+IfpQcmwGgiTkLXLIfZZmQJKFKJafdQA4kFRIBCUhJG3aOnjzNB5VcdVoffZbtdplSGmwSy3L2kKPTOeY8/hQKyJur4KWHf2cxM3MArYbdDaw7zJAVnBAAHd86D6nU2pWEFyRpu4JQhBUrs3gTy8OfX4UE94Z3V+7x2prgktokxUPJZfPtN7hnBHcedBNj0oMp+knqN2fr563doextzaWkp7txG5R+4oKldlfGgQ9b59aBysNycj3SM+wsh1t1KkEdxBGKDfSeaQSMUH2gKAoM/+k1eZMO+w4pWpLIi70+GSogn7CgpaHrN9q4NLTKUHEEbCFcxjpig2foa6LvekbXdXBhyTGQtf8WME/UUEQ1I+E6nmoJ7x+lAzyrukOuRoy0FbYJfdUf8ADYA6lR8fh9cUHXbJ9ucjbmbgw8MncvtQckHBoG24aZsF7kPTA8svqcBLjEg+ytIx3HHLwoO+PaIDBgNtvuboJ3ICnNylEoKcqz15ZoHRQGKB20Zyuj3/AIv50EvPSgxT6RUeRb+K96DoKQ+tLzZPekoHP6g0FYPyVZ60CIfJPU0FjcB9NP6q4hW2IEFUVhwSJSscg2g5IPnyHzoNyjpQFAUBQVdx40/pzUlpbjXG7xrbc2gVRluZOQeoIGTgkUGcNGcNU3HVTcSXerfFY7TBfUsjcM/ugjqe7OKDY0aRZNN2WNA9bYYjRmktNJKwVEJGBgDmT5UFF611Ym861kQ7E46e1WA64k4LKMYJJHQnuHWgkDcSPF0xMaaEVlAjOEqko3Ne6clwfvJ8fEZoI1AYhSw/siaPku9in1VLO5C1P4SfbSB7Kep5cxyoHJ7Tr0bcYuj7eoyGVJkdjcFtElQ3KA6dVJAzyOKBNGmUvxz61peTFeLpGYt2XnakFSVbs5ySSMfGgXsdhekz3y8xqK0BtxDiHFXPel1QOSNvPly5560FnaO5XZY8Wj+tBMKCqfSB4WnXltan2ottXmIkpb3HAeR+AnuPgaDHmptN6gsM9cO72mZDeSSMOtEA/EHvHxFA9aA4Z6v1fNbRbbRJTGJ9uW82UMoHjuPXyGTQbJ4R8PLXw/sPqcUh+a9hUqURguK8B4JHcKCbUBQFBzXSYzb7fInSFbWY7anFnwAGTQYk4iaouGotXSZq3VJU6sqIzyQjolI8hQJ2h07E5PMUFx6P4X6h1VZYdwl6w9RtElvIjw2Al5SQSCFr5Z5g8+dB1OaRtemtQybbamlIjtbcFatylHHMk95NBJoLSey2EApIwQe+gWRAgpd7UQ44czneGxn60HVQN94vVstHZ/tGUljtc7MgnOPKg52tUafdRuRdGCPHn/SgetHX+xquxWLtDCS2RlToTz5eNBNHLvbRDflInR3WmGy44W3QrakDJPI0GcNb8bNRXOS4zYli1w8kJUkBTqh4knp5D60Fc3PWGpZruJeoLs+euFTF4HkM4FA66Z4kawsb6Fxr5NdbSebUl0vII8MKzj5YoNWcONTtau0lDvTbXZKdBS63nOxaThQ8sigkdAUBQV16Qt2Nt4cyGkKwqY6lk+O33lfpj50GZnLGGND269vI/wAxd57qmyR/osjby81qV/6igbIqwh0p+NBrngS923C20HvR2qT8nV0DFq8gavmk/wC39KDzHfSlI50HQmU3nrQLJcQeeaCA8a0g2iC+kn2H1JOPiKDxZNIWmdZoclK32y40lSil5XM/pQdK9D23ACJUjPeS7z/SgTctUfSVkv01qU8sy7VIi7VqBG5ScpPTxT96CjQQRmgb1qCpisd1B0o6ig0j6J91L9hutmWcmI8l9H8LgIx9UE/Ogu2gKAoKO9LFco2iyx2I7zodddSkNoKtyyEgDl3+FBC+MkFdiiaXsLkd1LdstKEqUEHap1XNzB6HmPvQVU24V7nkjCAeqiBQay9HAPf3XRe1QUpMh0tE9Fp3dR8M5HyoLDXHYWoqWy2pR6koBNB5MSKesZg+bYoGd2DED91mertewz2afYGBtSSfuaDpsduiosUJpyM0pQjISpSkAknaOZPjQVvxztrKOFKlNMoDkSWkFQT7RGSOZ+YoGLhzLS9o2BhSApKNvM+BxQPNxuEWBEMmY+w02nAKldM92KCtOMmr7bJsrVst8huQt1YccUg+4B0Hmf5UFSGUlLfMjlQIwV9otTh/e50DpGYkPjczHedSORLbZUB9KC7vRVQ9D1BenZaVRmTDaSC8Nm5W9XTPXkDQaIZfZeBLLrbgHXYoHH0oFKAoPDjTbm3tEJXtO5O4ZwfEfGgo/wBKxzZEs4z0Q+f+OgzM+r/IoH4lqI/Sg3Pwst5tfDqwQVDapuC0VDwUpO4j6k0EloPh6ZoG19J/YM1eMKcadV9QcUDiykIZQkdAkAUEE4xxDI4c6kYSklXZpeQAM89wzQZitUzVkWImNbnrg2ynO1LbTmBk5/DQSXV1xud50pHgCx3IS2dq3Hi2ohwgYPLFBTt2dlBZBaWDnHMGg5ZcafGKGpkd5hx1AWlLiSklB6HB7jQdyP8ABjDu8aC3NHRHW9OQWG1rRlsOr28txVz5/LFA8pt7hVlS3D5qNBaXBBlTX7SBJx7HU+dBZlAUBmgoP0t1hMWznP8ApyP1boKB0va13vUthsiASZchtKsdySrKj8hQbzaU000ltOAlIAAHcBQejIb/ABUCUmW2lhZBydpxQIyX2RBUwFfuBH8qDoTLZwBuoG6+Nrmx3Y8Z5lCpDRaV2qNySnvBHxBxQUzA4ei43G4i2smMuFILZWxMUhLijnmARju7/GgQv+ltUWNltbs6Uhpa9iMqS7k+GQaBum6F19EYkXl1uIyiOhTynFttqcCQMk8+ZNBVHEJqcvUDci5zW5sh6MhztEbeQOcAhPIEeFBHpCCY5AFBdmhZ9vkaehqVLjoWGUIUlTgBBCQOlBIm3IbjoZaktOOlW0IQoKUSe7A76C0uF9ufhWyS8+ytpT7g2hacEgDr96CX0HO4p3ngUHM85IHROaCnPSH03ftUxICLcy1uZDiSFrxndt5/agi/CTh5d7BrmPe7k2y6I0cpjtoJ5KIwVE+WfrQX2zJeUPbYUD50C6VZ6tn60A4lKk+4rqKD0ppsjHZk/Og9pab7msfOgFJbSpKyjARlR591AwcNG/8AosiYpGVS5jrufhnb/I0CfFIhVstw24HrqMn50FB8b+Ldw1BcZNjsspUeyMktktnCpRHUqP4fAfWgqhLqFoClrGcnOTQekvx/d7VH1oFbcmMu6Q0IWklT6Bgd/MUE40q/Pd1PMeskd2TPRd2VMobSSdwXkfLlzPTFBssYzQfaD4Ug0Hktg0HJOgofSAoA4oEmbc2hSFBIymg7BGR4UB6unwFAdgMYxQfeyAoPvZjwoOG/rTGsc+QeWyOsg/lOKDm0TE9V0pbWiMK7BK1D4q9o/c0Eb45+xol1Y5FO9WfyKoMLXOYtcgoSojJ50DtpV2yt3JEa9tKLLiNwUXNoSru7qCwzYtLpSHRYt6e5RcVg0DpZGLA2pBhacjmSk5TtSpxWR3gAZoJYzP1La4i7pFs78COwk7n0RlNhIJAOenU4oLd4WNX5y1Lul9nOvLlY7BpSwQhA7+XeTQTOgKAoCgMUBQBNB5KhQeVLxQeC8PGgYNev7tLS2EKwt8oZT5qUBQPDD7TLDbSeSUJCQPIUEF47PpXoCXtPMIX/AMaqDEEKJ61eGGzzDjqUn5mgdtYWfsddXC17doRNLSR/t3YH2IoNtcJI8EaFh5YaWpTjm8qQDkhZT/8AIHyoGXQMBpnXcxaW0J7N2SeQxjc4cUFhX6CzdrJNtr2OzlMLaPwyCM0Ef4SSnH9HMMP8n4i1MOJ8Ck4P3zQS+gKAoCgKD4TQeCaBJSjQIuKOKDmdWRmgjWq5ILlujLVgLlpWfygn+lApIuhT0NBDeJkp656VlwWRudcQpKE56kpOKDLFlaXF1LEalsONrTIRuQpJB94UFkcQrC5L4pNXyCkPQpbzbjuDzbUnGcjw9kUF0cH7tIhaLjRriksSO2fcKFHmAt1Sh9jQPWmJDaNU3N9KgQrmkj44JoJi1OCse1QR3SaxbtYX63g7WpCkzGh/F733B+tBMkvg99AvQFAUBQfCM0HhQoE1JoEHE8qDleFAyXiM247HU4kK2r5ZHwoOGZCQQcHFBFtSQ1tsb0LT73fQRI2pl2UlxaGyvPvFOT9aDzcowadKxjkcCgerWVhhHtc8UDlZXltzXSCcnrQS2DLcOBk0CUx0s6qtUtPvPJcjr+IxuH6UEtZcVtoP/9k=
+
+
+
+ Conference on Business Applications
+ True
+
+
+ service
+ 2500.0
+ 1000.0
+
+
+ /9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAB+AJYDAREAAhEBAxEB/8QAHAAAAQUBAQEAAAAAAAAAAAAAAAMFBgcIBAIB/8QAPxAAAQMDAgMECAMFBwUAAAAAAQIDBAAFEQYSByExE0FRcQgUIjJhgZGhUoKxFUJywdEWFyMkQ2KzJURzksL/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A2XQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUBQFAUCUuTHiMKfkyGWGk9VuLCUjzJoGyJqjTkuQI8a/2t50nAQiWgk+Qzz+VA8ZHiKAoCgKAoCgKAoG2RfLdHlLjPPlLiDhQ2mgEXy1K/71oeZxQLIuluX7s1k/moFky4qvdkMn84oFA62ejiD5KoPVAUBQRjiNq+Fo+wrnycOPL9iOznBcX/AEHfQZX1brG8ajnKlXSat3mShsEhDY8Ep7qBlVNb7NstuLLhz2gUOQ8MHvoLl4C8R5aLtH01eJSn40g7IrjhyppfcnP4T0+BxQaEHSgKAoCg4b1doFoiGVcJKGGgcZPUnwA76BtsesLBeJPqsScO3PutuJKSry8aCQA5oIBf9v8AaCYD+IfpQcmwGgiTkLXLIfZZmQJKFKJafdQA4kFRIBCUhJG3aOnjzNB5VcdVoffZbtdplSGmwSy3L2kKPTOeY8/hQKyJur4KWHf2cxM3MArYbdDaw7zJAVnBAAHd86D6nU2pWEFyRpu4JQhBUrs3gTy8OfX4UE94Z3V+7x2prgktokxUPJZfPtN7hnBHcedBNj0oMp+knqN2fr563doextzaWkp7txG5R+4oKldlfGgQ9b59aBysNycj3SM+wsh1t1KkEdxBGKDfSeaQSMUH2gKAoM/+k1eZMO+w4pWpLIi70+GSogn7CgpaHrN9q4NLTKUHEEbCFcxjpig2foa6LvekbXdXBhyTGQtf8WME/UUEQ1I+E6nmoJ7x+lAzyrukOuRoy0FbYJfdUf8ADYA6lR8fh9cUHXbJ9ucjbmbgw8MncvtQckHBoG24aZsF7kPTA8svqcBLjEg+ytIx3HHLwoO+PaIDBgNtvuboJ3ICnNylEoKcqz15ZoHRQGKB20Zyuj3/AIv50EvPSgxT6RUeRb+K96DoKQ+tLzZPekoHP6g0FYPyVZ60CIfJPU0FjcB9NP6q4hW2IEFUVhwSJSscg2g5IPnyHzoNyjpQFAUBQVdx40/pzUlpbjXG7xrbc2gVRluZOQeoIGTgkUGcNGcNU3HVTcSXerfFY7TBfUsjcM/ugjqe7OKDY0aRZNN2WNA9bYYjRmktNJKwVEJGBgDmT5UFF611Ym861kQ7E46e1WA64k4LKMYJJHQnuHWgkDcSPF0xMaaEVlAjOEqko3Ne6clwfvJ8fEZoI1AYhSw/siaPku9in1VLO5C1P4SfbSB7Kep5cxyoHJ7Tr0bcYuj7eoyGVJkdjcFtElQ3KA6dVJAzyOKBNGmUvxz61peTFeLpGYt2XnakFSVbs5ySSMfGgXsdhekz3y8xqK0BtxDiHFXPel1QOSNvPly5560FnaO5XZY8Wj+tBMKCqfSB4WnXltan2ottXmIkpb3HAeR+AnuPgaDHmptN6gsM9cO72mZDeSSMOtEA/EHvHxFA9aA4Z6v1fNbRbbRJTGJ9uW82UMoHjuPXyGTQbJ4R8PLXw/sPqcUh+a9hUqURguK8B4JHcKCbUBQFBzXSYzb7fInSFbWY7anFnwAGTQYk4iaouGotXSZq3VJU6sqIzyQjolI8hQJ2h07E5PMUFx6P4X6h1VZYdwl6w9RtElvIjw2Al5SQSCFr5Z5g8+dB1OaRtemtQybbamlIjtbcFatylHHMk95NBJoLSey2EApIwQe+gWRAgpd7UQ44czneGxn60HVQN94vVstHZ/tGUljtc7MgnOPKg52tUafdRuRdGCPHn/SgetHX+xquxWLtDCS2RlToTz5eNBNHLvbRDflInR3WmGy44W3QrakDJPI0GcNb8bNRXOS4zYli1w8kJUkBTqh4knp5D60Fc3PWGpZruJeoLs+euFTF4HkM4FA66Z4kawsb6Fxr5NdbSebUl0vII8MKzj5YoNWcONTtau0lDvTbXZKdBS63nOxaThQ8sigkdAUBQV16Qt2Nt4cyGkKwqY6lk+O33lfpj50GZnLGGND269vI/wAxd57qmyR/osjby81qV/6igbIqwh0p+NBrngS923C20HvR2qT8nV0DFq8gavmk/wC39KDzHfSlI50HQmU3nrQLJcQeeaCA8a0g2iC+kn2H1JOPiKDxZNIWmdZoclK32y40lSil5XM/pQdK9D23ACJUjPeS7z/SgTctUfSVkv01qU8sy7VIi7VqBG5ScpPTxT96CjQQRmgb1qCpisd1B0o6ig0j6J91L9hutmWcmI8l9H8LgIx9UE/Ogu2gKAoKO9LFco2iyx2I7zodddSkNoKtyyEgDl3+FBC+MkFdiiaXsLkd1LdstKEqUEHap1XNzB6HmPvQVU24V7nkjCAeqiBQay9HAPf3XRe1QUpMh0tE9Fp3dR8M5HyoLDXHYWoqWy2pR6koBNB5MSKesZg+bYoGd2DED91mertewz2afYGBtSSfuaDpsduiosUJpyM0pQjISpSkAknaOZPjQVvxztrKOFKlNMoDkSWkFQT7RGSOZ+YoGLhzLS9o2BhSApKNvM+BxQPNxuEWBEMmY+w02nAKldM92KCtOMmr7bJsrVst8huQt1YccUg+4B0Hmf5UFSGUlLfMjlQIwV9otTh/e50DpGYkPjczHedSORLbZUB9KC7vRVQ9D1BenZaVRmTDaSC8Nm5W9XTPXkDQaIZfZeBLLrbgHXYoHH0oFKAoPDjTbm3tEJXtO5O4ZwfEfGgo/wBKxzZEs4z0Q+f+OgzM+r/IoH4lqI/Sg3Pwst5tfDqwQVDapuC0VDwUpO4j6k0EloPh6ZoG19J/YM1eMKcadV9QcUDiykIZQkdAkAUEE4xxDI4c6kYSklXZpeQAM89wzQZitUzVkWImNbnrg2ynO1LbTmBk5/DQSXV1xud50pHgCx3IS2dq3Hi2ohwgYPLFBTt2dlBZBaWDnHMGg5ZcafGKGpkd5hx1AWlLiSklB6HB7jQdyP8ABjDu8aC3NHRHW9OQWG1rRlsOr28txVz5/LFA8pt7hVlS3D5qNBaXBBlTX7SBJx7HU+dBZlAUBmgoP0t1hMWznP8ApyP1boKB0va13vUthsiASZchtKsdySrKj8hQbzaU000ltOAlIAAHcBQejIb/ABUCUmW2lhZBydpxQIyX2RBUwFfuBH8qDoTLZwBuoG6+Nrmx3Y8Z5lCpDRaV2qNySnvBHxBxQUzA4ei43G4i2smMuFILZWxMUhLijnmARju7/GgQv+ltUWNltbs6Uhpa9iMqS7k+GQaBum6F19EYkXl1uIyiOhTynFttqcCQMk8+ZNBVHEJqcvUDci5zW5sh6MhztEbeQOcAhPIEeFBHpCCY5AFBdmhZ9vkaehqVLjoWGUIUlTgBBCQOlBIm3IbjoZaktOOlW0IQoKUSe7A76C0uF9ufhWyS8+ytpT7g2hacEgDr96CX0HO4p3ngUHM85IHROaCnPSH03ftUxICLcy1uZDiSFrxndt5/agi/CTh5d7BrmPe7k2y6I0cpjtoJ5KIwVE+WfrQX2zJeUPbYUD50C6VZ6tn60A4lKk+4rqKD0ppsjHZk/Og9pab7msfOgFJbSpKyjARlR591AwcNG/8AosiYpGVS5jrufhnb/I0CfFIhVstw24HrqMn50FB8b+Ldw1BcZNjsspUeyMktktnCpRHUqP4fAfWgqhLqFoClrGcnOTQekvx/d7VH1oFbcmMu6Q0IWklT6Bgd/MUE40q/Pd1PMeskd2TPRd2VMobSSdwXkfLlzPTFBssYzQfaD4Ug0Hktg0HJOgofSAoA4oEmbc2hSFBIymg7BGR4UB6unwFAdgMYxQfeyAoPvZjwoOG/rTGsc+QeWyOsg/lOKDm0TE9V0pbWiMK7BK1D4q9o/c0Eb45+xol1Y5FO9WfyKoMLXOYtcgoSojJ50DtpV2yt3JEa9tKLLiNwUXNoSru7qCwzYtLpSHRYt6e5RcVg0DpZGLA2pBhacjmSk5TtSpxWR3gAZoJYzP1La4i7pFs78COwk7n0RlNhIJAOenU4oLd4WNX5y1Lul9nOvLlY7BpSwQhA7+XeTQTOgKAoCgMUBQBNB5KhQeVLxQeC8PGgYNev7tLS2EKwt8oZT5qUBQPDD7TLDbSeSUJCQPIUEF47PpXoCXtPMIX/AMaqDEEKJ61eGGzzDjqUn5mgdtYWfsddXC17doRNLSR/t3YH2IoNtcJI8EaFh5YaWpTjm8qQDkhZT/8AIHyoGXQMBpnXcxaW0J7N2SeQxjc4cUFhX6CzdrJNtr2OzlMLaPwyCM0Ef4SSnH9HMMP8n4i1MOJ8Ck4P3zQS+gKAoCgKD4TQeCaBJSjQIuKOKDmdWRmgjWq5ILlujLVgLlpWfygn+lApIuhT0NBDeJkp656VlwWRudcQpKE56kpOKDLFlaXF1LEalsONrTIRuQpJB94UFkcQrC5L4pNXyCkPQpbzbjuDzbUnGcjw9kUF0cH7tIhaLjRriksSO2fcKFHmAt1Sh9jQPWmJDaNU3N9KgQrmkj44JoJi1OCse1QR3SaxbtYX63g7WpCkzGh/F733B+tBMkvg99AvQFAUBQfCM0HhQoE1JoEHE8qDleFAyXiM247HU4kK2r5ZHwoOGZCQQcHFBFtSQ1tsb0LT73fQRI2pl2UlxaGyvPvFOT9aDzcowadKxjkcCgerWVhhHtc8UDlZXltzXSCcnrQS2DLcOBk0CUx0s6qtUtPvPJcjr+IxuH6UEtZcVtoP/9k=
+
+
+
+
+
+
+
Technical Training
True
@@ -21,5 +57,71 @@
+
+
+ Standard
+
+
+
+ 1000.0
+ 50
+
+
+
+ VIP
+
+
+
+ 1500.0
+ 10
+
+
+
+
+ Standard
+
+
+
+ 1000.0
+ 60
+
+
+
+
+ Standard
+
+
+
+ 1000.0
+ 50
+
+
+
+ VIP
+
+
+
+ 1500.0
+ 5
+
+
+
+ Standard
+
+
+
+ 1000.0
+ 20
+
+
+
+ VIP
+
+
+
+ 1500.0
+ 5
+
+
diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py
index 8bacd37fc15..657c9427971 100644
--- a/addons/event_sale/event_sale.py
+++ b/addons/event_sale/event_sale.py
@@ -22,21 +22,35 @@
from openerp.osv import fields, osv
from openerp.tools.translate import _
-class product(osv.osv):
- _inherit = 'product.product'
+class product_template(osv.osv):
+ _inherit = 'product.template'
_columns = {
'event_ok': fields.boolean('Event Subscription', help='Determine if a product needs to create automatically an event registration at the confirmation of a sales order line.'),
'event_type_id': fields.many2one('event.type', 'Type of Event', help='Select event types so when we use this product in sales order lines, it will filter events of this type only.'),
}
- def onchange_event_ok(self, cr, uid, ids, event_ok, context=None):
- return {'value': {'type': event_ok and 'service' or False}}
+ def onchange_event_ok(self, cr, uid, ids, type, event_ok, context=None):
+ if event_ok:
+ return {'value': {'type': 'service'}}
+ return {}
+
+class product(osv.osv):
+ _inherit = 'product.product'
+
+ def onchange_event_ok(self, cr, uid, ids, type, event_ok, context=None):
+ # cannot directly forward to product.template as the ids are theoretically different
+ if event_ok:
+ return {'value': {'type': 'service'}}
+ return {}
class sale_order_line(osv.osv):
_inherit = 'sale.order.line'
_columns = {
- 'event_id': fields.many2one('event.event', 'Event', help="Choose an event and it will automatically create a registration for this event."),
+ 'event_id': fields.many2one('event.event', 'Event',
+ help="Choose an event and it will automatically create a registration for this event."),
+ 'event_ticket_id': fields.many2one('event.event.ticket', 'Event Ticket',
+ help="Choose an event ticket and it will automatically create a registration for this event ticket."),
#those 2 fields are used for dynamic domains and filled by onchange
'event_type_id': fields.related('product_id','event_type_id', type='many2one', relation="event.type", string="Event Type"),
'event_ok': fields.related('product_id', 'event_ok', string='event_ok', type='boolean'),
@@ -44,7 +58,8 @@ class sale_order_line(osv.osv):
def product_id_change(self, cr, uid, ids,
pricelist,
- product, qty=0,
+ product,
+ qty=0,
uom=False,
qty_uos=0,
uos=False,
@@ -73,9 +88,8 @@ class sale_order_line(osv.osv):
if context is None:
context = {}
registration_obj = self.pool.get('event.registration')
- sale_obj = self.pool.get('sale.order')
for order_line in self.browse(cr, uid, ids, context=context):
- if order_line.event_id.id:
+ if order_line.event_id:
dic = {
'name': order_line.order_id.partner_invoice_id.name,
'partner_id': order_line.order_id.partner_id.id,
@@ -84,9 +98,128 @@ class sale_order_line(osv.osv):
'phone': order_line.order_id.partner_id.phone,
'origin': order_line.order_id.name,
'event_id': order_line.event_id.id,
+ 'event_ticket_id': order_line.event_ticket_id and order_line.event_ticket_id.id or None,
}
- message = _("The registration has been created for event %s from the Sale Order %s. ") % (order_line.event_id.name, order_line.order_id.name)
+
+ if order_line.event_ticket_id:
+ message = _("The registration has been created for event %s with the ticket %s from the Sale Order %s. ") % (order_line.event_id.name, order_line.event_ticket_id.name, order_line.order_id.name)
+ else:
+ message = _("The registration has been created for event %s from the Sale Order %s. ") % (order_line.event_id.name, order_line.order_id.name)
+
context.update({'mail_create_nolog': True})
registration_id = registration_obj.create(cr, uid, dic, context=context)
registration_obj.message_post(cr, uid, [registration_id], body=message, context=context)
return super(sale_order_line, self).button_confirm(cr, uid, ids, context=context)
+
+ def onchange_event_ticket_id(self, cr, uid, ids, event_ticket_id=False, context=None):
+ price = event_ticket_id and self.pool.get("event.event.ticket").browse(cr, uid, event_ticket_id, context=context).price or False
+ return {'value': {'price_unit': price}}
+
+
+class event_event(osv.osv):
+ _inherit = 'event.event'
+
+ def _get_seats_max(self, cr, uid, ids, field_name, arg, context=None):
+ result = dict.fromkeys(ids, 0)
+ for rec in self.browse(cr, uid, ids, context=context):
+ result[rec.id] = sum([ticket.seats_max for ticket in rec.event_ticket_ids])
+ return result
+
+ def _get_tickets(self, cr, uid, context={}):
+ try:
+ product = self.pool.get('ir.model.data').get_object(cr, uid, 'event_sale', 'product_product_event')
+ return [{
+ 'name': _('Subscription'),
+ 'product_id': product.id,
+ 'price': 0,
+ }]
+ except ValueError:
+ pass
+ return []
+
+ _columns = {
+ 'event_ticket_ids': fields.one2many('event.event.ticket', "event_id", "Event Ticket"),
+ 'seats_max': fields.function(_get_seats_max,
+ string='Maximum Avalaible Seats',
+ help="The maximum registration level is equal to the sum of the maximum registration of event ticket." +
+ "If you have too much registrations you are not able to confirm your event. (0 to ignore this rule )",
+ type='integer',
+ readonly=True)
+ }
+ _defaults = {
+ 'event_ticket_ids': _get_tickets
+ }
+
+class event_ticket(osv.osv):
+ _name = 'event.event.ticket'
+
+ def _get_seats(self, cr, uid, ids, fields, args, context=None):
+ """Get reserved, available, reserved but unconfirmed and used seats for each event tickets.
+ @return: Dictionary of function field values.
+ """
+ res = dict([(id, {}) for id in ids])
+ for ticket in self.browse(cr, uid, ids, context=context):
+ res[ticket.id]['seats_reserved'] = sum(reg.nb_register for reg in ticket.registration_ids if reg.state == "open")
+ res[ticket.id]['seats_used'] = sum(reg.nb_register for reg in ticket.registration_ids if reg.state == "done")
+ res[ticket.id]['seats_unconfirmed'] = sum(reg.nb_register for reg in ticket.registration_ids if reg.state == "draft")
+ res[ticket.id]['seats_available'] = ticket.seats_max - \
+ (res[ticket.id]['seats_reserved'] + res[ticket.id]['seats_used']) \
+ if ticket.seats_max > 0 else None
+ return res
+
+ _columns = {
+ 'name': fields.char('Name', size=64, required=True),
+ 'event_id': fields.many2one('event.event', "Event", required=True, ondelete='cascade'),
+ 'product_id': fields.many2one('product.product', 'Product', required=True, domain=[("event_type_id", "!=", False)]),
+ 'registration_ids': fields.one2many('event.registration', 'event_ticket_id', 'Registrations'),
+ 'deadline': fields.date("Sales End"),
+ 'price': fields.float('Price'),
+ 'seats_max': fields.integer('Maximum Avalaible Seats', oldname='register_max', help="You can for each event define a maximum registration level. If you have too much registrations you are not able to confirm your event. (put 0 to ignore this rule )"),
+ 'seats_reserved': fields.function(_get_seats, string='Reserved Seats', type='integer', multi='seats_reserved'),
+ 'seats_available': fields.function(_get_seats, string='Available Seats', type='integer', multi='seats_reserved'),
+ 'seats_unconfirmed': fields.function(_get_seats, string='Unconfirmed Seat Reservations', type='integer', multi='seats_reserved'),
+ 'seats_used': fields.function(_get_seats, string='Number of Participations', type='integer', multi='seats_reserved'),
+ }
+
+ def _default_product_id(self, cr, uid, context={}):
+ imd = self.pool.get('ir.model.data')
+ try:
+ product = imd.get_object(cr, uid, 'event_sale', 'product_product_event')
+ except ValueError:
+ return False
+ return product.id
+
+ _defaults = {
+ 'product_id': _default_product_id
+ }
+
+ def _check_seats_limit(self, cr, uid, ids, context=None):
+ for ticket in self.browse(cr, uid, ids, context=context):
+ if ticket.seats_max and ticket.seats_available < 0:
+ return False
+ return True
+
+ _constraints = [
+ (_check_seats_limit, 'No more available tickets.', ['registration_ids','seats_max']),
+ ]
+
+ def onchange_product_id(self, cr, uid, ids, product_id=False, context=None):
+ return {'value': {'price': self.pool.get("product.product").browse(cr, uid, product_id).list_price or 0}}
+
+
+class event_registration(osv.osv):
+ """Event Registration"""
+ _inherit= 'event.registration'
+ _columns = {
+ 'event_ticket_id': fields.many2one('event.event.ticket', 'Event Ticket'),
+ }
+
+ def _check_ticket_seats_limit(self, cr, uid, ids, context=None):
+ for registration in self.browse(cr, uid, ids, context=context):
+ if registration.event_ticket_id.seats_max and registration.event_ticket_id.seats_available < 0:
+ return False
+ return True
+
+ _constraints = [
+ (_check_ticket_seats_limit, 'No more available tickets.', ['event_ticket_id','nb_register','state']),
+ ]
\ No newline at end of file
diff --git a/addons/event_sale/event_sale_data.xml b/addons/event_sale/event_sale_data.xml
new file mode 100644
index 00000000000..9c5dae6042b
--- /dev/null
+++ b/addons/event_sale/event_sale_data.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ Generic Events
+
+
+
+ 10.0
+
+ 30.0
+
+
+ Event Subscription
+
+ service
+
+
+
+
+
+
+
+
diff --git a/addons/event_sale/event_sale_view.xml b/addons/event_sale/event_sale_view.xml
index cc00365c980..bee105068f3 100644
--- a/addons/event_sale/event_sale_view.xml
+++ b/addons/event_sale/event_sale_view.xml
@@ -1,21 +1,36 @@
-
- event.product
+
product.product
-
+
-
+
+
+ product.template
+
+
+
+
+
+
+
+
+
+
+
+
event.sale.order
sale.order
@@ -23,6 +38,8 @@
+
@@ -34,5 +51,33 @@
+
+ view_event_form
+ event.event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/google_account/google_account.py b/addons/google_account/google_account.py
index 0ecade3554e..d42b0b67e59 100644
--- a/addons/google_account/google_account.py
+++ b/addons/google_account/google_account.py
@@ -24,7 +24,7 @@ from openerp import SUPERUSER_ID
from openerp.tools.translate import _
from openerp.addons.web.http import request
-import urllib
+import werkzeug.urls
import urllib2
import simplejson
@@ -43,7 +43,7 @@ class google_service(osv.osv_memory):
#Get the Refresh Token From Google And store it in ir.config_parameter
headers = {"Content-type": "application/x-www-form-urlencoded"}
data = dict(code=authorization_code, client_id=client_id, client_secret=client_secret, redirect_uri=redirect_uri, grant_type="authorization_code")
- data = urllib.urlencode(data)
+ data = werkzeug.url_encode(data)
try:
req = urllib2.Request("https://accounts.google.com/o/oauth2/token", data, headers)
content = urllib2.urlopen(req).read()
@@ -62,7 +62,7 @@ class google_service(osv.osv_memory):
'response_type': 'code',
'client_id': ir_config.get_param(cr, SUPERUSER_ID, 'google_%s_client_id' % service),
}
- uri = 'https://accounts.google.com/o/oauth2/auth?%s' % urllib.urlencode(params)
+ uri = 'https://accounts.google.com/o/oauth2/auth?%s' % werkzeug.url_encode(params)
return uri
#If no scope is passed, we use service by default to get a default scope
@@ -83,7 +83,7 @@ class google_service(osv.osv_memory):
'access_type':'offline'
}
- uri = self.get_uri_oauth(a='auth') + "?%s" % urllib.urlencode(params)
+ uri = self.get_uri_oauth(a='auth') + "?%s" % werkzeug.url_encode(params)
return uri
def _get_google_token_json(self, cr, uid, authorize_code, service, context=None):
@@ -103,7 +103,7 @@ class google_service(osv.osv_memory):
headers = {"content-type": "application/x-www-form-urlencoded"}
try:
- data = urllib.urlencode(params)
+ data = werkzeug.url_encode(params)
req = urllib2.Request(self.get_uri_oauth(a='token'), data, headers)
content = urllib2.urlopen(req).read()
@@ -128,7 +128,7 @@ class google_service(osv.osv_memory):
headers = {"content-type": "application/x-www-form-urlencoded"}
try:
- data = urllib.urlencode(params)
+ data = werkzeug.url_encode(params)
req = urllib2.Request(self.get_uri_oauth(a='token'), data, headers)
content = urllib2.urlopen(req).read()
res = simplejson.loads(content)
@@ -139,12 +139,12 @@ class google_service(osv.osv_memory):
def _do_request(self,cr,uid,uri,params={},headers={},type='POST', context=None):
- _logger.debug("Uri: %s - Type : %s - Headers: %s - Params : %s !" % (uri,type,headers,urllib.urlencode(params) if type =='GET' else params))
+ _logger.debug("Uri: %s - Type : %s - Headers: %s - Params : %s !" % (uri,type,headers,werkzeug.url_encode(params) if type =='GET' else params))
res = False
try:
if type.upper() == 'GET' or type.upper() == 'DELETE':
- data = urllib.urlencode(params)
+ data = werkzeug.url_encode(params)
req = urllib2.Request(self.get_uri_api() + uri + "?" + data)
elif type.upper() == 'POST' or type.upper() == 'PATCH' or type.upper() == 'PUT':
req = urllib2.Request(self.get_uri_api() + uri, params, headers)
diff --git a/addons/google_calendar/res_config.py b/addons/google_calendar/res_config.py
index 4e62b0b6a81..78b2a4b6803 100644
--- a/addons/google_calendar/res_config.py
+++ b/addons/google_calendar/res_config.py
@@ -13,8 +13,8 @@ class calendar_config_settings(osv.TransientModel):
def set_calset(self,cr,uid,ids,context=None) :
params = self.pool['ir.config_parameter']
myself = self.browse(cr,uid,ids[0],context=context)
- params.set_param(cr, uid, 'google_calendar_client_id', myself.cal_client_id, context=None)
- params.set_param(cr, uid, 'google_calendar_client_secret', myself.cal_client_secret, context=None)
+ params.set_param(cr, uid, 'google_calendar_client_id', myself.cal_client_id or '', context=None)
+ params.set_param(cr, uid, 'google_calendar_client_secret', myself.cal_client_secret or '', context=None)
def get_default_all(self,cr,uid,ids,context=None):
diff --git a/addons/google_drive/google_drive.py b/addons/google_drive/google_drive.py
index f3607094040..81e1a49b785 100644
--- a/addons/google_drive/google_drive.py
+++ b/addons/google_drive/google_drive.py
@@ -23,7 +23,7 @@ from openerp import SUPERUSER_ID
from openerp.osv import fields, osv
from openerp.tools.translate import _
-import urllib
+import werkzeug.urls
import urllib2
import json
import re
@@ -70,7 +70,7 @@ class config(osv.Model):
google_drive_client_secret = ir_config.get_param(cr, SUPERUSER_ID, 'google_drive_client_secret')
#For Getting New Access Token With help of old Refresh Token
- data = urllib.urlencode(dict(client_id=google_drive_client_id,
+ data = werkzeug.url_encode(dict(client_id=google_drive_client_id,
refresh_token=google_drive_refresh_token,
client_secret=google_drive_client_secret,
grant_type="refresh_token",
diff --git a/addons/google_spreadsheet/google_spreadsheet.py b/addons/google_spreadsheet/google_spreadsheet.py
index 81ec536b6f2..4c24a46a404 100644
--- a/addons/google_spreadsheet/google_spreadsheet.py
+++ b/addons/google_spreadsheet/google_spreadsheet.py
@@ -23,7 +23,7 @@ import simplejson
import logging
from lxml import etree
import re
-import urllib
+import werkzeug.urls
import urllib2
from openerp.osv import osv
@@ -89,7 +89,7 @@ class config(osv.osv):
try:
req = urllib2.Request(
- 'https://spreadsheets.google.com/feeds/cells/%s/od6/private/full/batch?%s' % (spreadsheet_key, urllib.urlencode({'v': 3, 'access_token': access_token})),
+ 'https://spreadsheets.google.com/feeds/cells/%s/od6/private/full/batch?%s' % (spreadsheet_key, werkzeug.url_encode({'v': 3, 'access_token': access_token})),
data=request,
headers={'content-type': 'application/atom+xml', 'If-Match': '*'})
urllib2.urlopen(req)
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index 4b50a8ac84f..6d466204ed8 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -97,24 +97,20 @@ class hr_job(osv.osv):
_inherit = ['mail.thread']
_columns = {
'name': fields.char('Job Name', size=128, required=True, select=True),
- # TO CLEAN: when doing a cleaning, we should change like this:
- # no_of_recruitment: a function field
- # expected_employees: float
- # This would allow a clean update when creating new employees.
'expected_employees': fields.function(_no_of_employee, string='Total Forecasted Employees',
help='Expected number of employees for this job position after new recruitment.',
store = {
'hr.job': (lambda self,cr,uid,ids,c=None: ids, ['no_of_recruitment'], 10),
'hr.employee': (_get_job_position, ['job_id'], 10),
- },
+ }, type='integer',
multi='no_of_employee'),
'no_of_employee': fields.function(_no_of_employee, string="Current Number of Employees",
help='Number of employees currently occupying this job position.',
store = {
'hr.employee': (_get_job_position, ['job_id'], 10),
- },
+ }, type='integer',
multi='no_of_employee'),
- 'no_of_recruitment': fields.float('Expected in Recruitment', help='Number of new employees you expect to recruit.'),
+ 'no_of_recruitment': fields.integer('Expected in Recruitment', help='Number of new employees you expect to recruit.'),
'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees', groups='base.group_user'),
'description': fields.text('Job Description'),
'requirements': fields.text('Requirements'),
@@ -122,9 +118,11 @@ class hr_job(osv.osv):
'company_id': fields.many2one('res.company', 'Company'),
'state': fields.selection([('open', 'No Recruitment'), ('recruit', 'Recruitement in Progress')], 'Status', readonly=True, required=True,
help="By default 'In position', set it to 'In Recruitment' if recruitment process is going on for this job position."),
+ 'write_date': fields.datetime('Update Date', readonly=True),
}
_defaults = {
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'hr.job', context=c),
+ 'no_of_recruitment': 0,
'state': 'open',
}
diff --git a/addons/hr/hr_demo.xml b/addons/hr/hr_demo.xml
index b5dff795676..ce1b6c92e35 100644
--- a/addons/hr/hr_demo.xml
+++ b/addons/hr/hr_demo.xml
@@ -31,26 +31,67 @@
Chief Executive Officer
+ Demonstration of different openerp services for each client and convincing the client about functionality of the application.
+The candidate should have excellent communication skills.
+Relationship building and influencing skills
+Expertise in New Client Acquisition (NCAs) and Relationship Management.
+Gathering market and customer information.
+Coordinating with the sales and support team for adopting different strategies
+Reviewing progress and identifying opportunities and new areas for development.
+Building strong relationships with clients / customers for business growth profitability.
+Keep regular interaction with key clients for better extraction and expansion.
+ MBA in Marketing is must.
+Good Communication skills.
+Only Fresher's can apply.
+Candidate should be ready to work in young and dynamic environment..
+Candidate should be able to work in “start- up” fast paced environment,hands on attitude.
+Honest,approachable and fun team player.
+Result driven.
+Excellent analytical skills, ability to think logically and "out of the box"
Chief Technical Officer
+ You will take part in the consulting services we provide to our partners and customers : design, analysis, development, testing, project management, support/coaching. You will work autonomously as well as coordinate and supervise small distributed development teams for some projects. Optionally, you will deliver OpenERP training sessions to partners and customers (8-10 people/session). You will report to the Head of Professional Services and work closely with all developers and consultants.
+
+The job is located in Grand-Rosière (1367), Belgium (between Louvain-La-Neuve and Namur).
+ Bachelor, master or engineering degree in Computer Science or equivalent by experience
+Preferably at least 1 years of experience
+Interest for enterprise application development
+Customer-minded
+Willing to travel abroad occasionally for short term missions.
+Passion for the Internet and its culture
+Quick and autonomous learner, problem-solving personality, enthusiastic when faced with technical challenges
+Team spirit and good communication
+Required skills:
+Good knowledge of object oriented programming, object modeling, relational databases, Unix/Linux platform
+Fluent in English, especially read and written
+Nice-to-have skills:
+Good knowledge of Python
+Good knowledge of HTML and Javascript
+Knowledge of UML-like modeling
+Good language skills, other than English (Dutch and French preferred, others welcome)
+
Consultant
+ 5
- Developer
+ Experienced Developer
+ 5
Human Resources Manager
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
@@ -60,6 +101,24 @@
Trainee
+ You participate to the update of our tutorial tools and pre-sales tools after the launch of a new version of OpenERP. Indeed, any new version of the software brings significant improvements in terms of functionalities, ergonomics and configuration.
+You will have to become familiar with the existing tools (books, class supports, OpenERP presentation’s slides, commercial tools),
+to participate to the update of those tools in order to make them appropriate for the new version of the software and, for sure,
+to suggest improvements in order to cover the new domains of the software.
+You join the Implementation Assistance department. This team of 3 people go with OpenERP’s clients in the set up of the software. Your role will be
+to animate webinars in order to show the different functionalities of the software.
+to be involved in the support of the customers and
+to answer to their questions.
+You help the support manager to set up new support services by
+being involved in the treatment of new cases,
+contributing to the set up of a new politic,
+being involved into satisfaction surveys in order to have a better knowledge of how the support given is seen by the customers.
+ You speak fluently English and French (one other European language is a +)
+At the time of your traineeship at OpenERP, you will be in the last year of a Master or Bachelor Degree (ideally in the following sector: Business Management, IT Management, Computer Sciences)
+You have a software and new technology awareness
+You are ready to join a young and dynamic company, you are able to work in a “start up” fast paced environment, hands on attitude
+You are approachable, honest and a fun team player
+If you have development competencies, we can propose you specific traineeships
diff --git a/addons/hr_holidays/tests/test_holidays_flow.py b/addons/hr_holidays/tests/test_holidays_flow.py
index 345c2f3546d..ce7da7647d0 100644
--- a/addons/hr_holidays/tests/test_holidays_flow.py
+++ b/addons/hr_holidays/tests/test_holidays_flow.py
@@ -23,7 +23,7 @@ from datetime import datetime
from dateutil.relativedelta import relativedelta
from openerp.addons.hr_holidays.tests.common import TestHrHolidaysBase
-from openerp.exceptions import Warning
+from openerp.exceptions import AccessError
from openerp.osv.orm import except_orm
from openerp.tools import mute_logger
@@ -46,7 +46,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'hr_holidays: wrong type days computation')
# HrUser creates some holiday statuses -> crash because only HrManagers should do this
- with self.assertRaises(except_orm):
+ with self.assertRaises(AccessError):
self.holidays_status_dummy = self.hr_holidays_status.create(cr, self.user_hruser_id, {
'name': 'UserCheats',
'limit': True,
@@ -204,5 +204,5 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'date_to': (datetime.today() + relativedelta(days=7)),
'number_of_days_temp': 4,
})
- with self.assertRaises(Warning):
+ with self.assertRaises(except_orm):
self.hr_holidays.signal_confirm(cr, self.user_hrmanager_id, [hol2_id])
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 3f364f81736..89dd592e032 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -495,6 +495,13 @@ class hr_job(osv.osv):
'alias_id': fields.many2one('mail.alias', 'Alias', ondelete="restrict", required=True,
help="Email alias for this job position. New emails will automatically "
"create new applicants for this job position."),
+ 'address_id': fields.many2one('res.partner', 'Job Location', help="Address where employees are working"),
+ }
+ def _address_get(self, cr, uid, context=None):
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ return user.company_id.partner_id.id
+ _defaults = {
+ 'address_id': _address_get
}
def _auto_init(self, cr, context=None):
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 18b9caa23ac..eb823364e96 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -313,7 +313,14 @@
hr.job
-
+
+
+
+
+ (empty = remote work)
+
+
+
diff --git a/addons/hr_recruitment/static/description/index.html b/addons/hr_recruitment/static/description/index.html
new file mode 100644
index 00000000000..e5196e488f8
--- /dev/null
+++ b/addons/hr_recruitment/static/description/index.html
@@ -0,0 +1,115 @@
+
+
+
+
Manage Recruitment and Job applications
+ Organize your vacancies and applications
+
+
+
+
+ Organize your job board, promote your job announces and keep
+ track of application submissions easily. Follow every applicant
+ and build up a database of skills and profiles with indexed
+ documents.
+
+
+
+
+
+
+
+
+
Post Your Jobs on Best Job Boards
+
LinkedIn, Monster, Craigslist, Careerbuilder,...
+
+
+
+
+
+ Connect automatically to most famous job board websites;
+ linkedIn, Monster, Craigslist, ... Every job position has a new
+ email address automatically assigned to route applications
+ automatically to the right job position.
+
+ Whether applicants contact you by email or using an online
+ form, you get all the data indexed automatically (resumes,
+ motivation letter) and you can answer in just a click, reusing
+ templates of answers.
+
+
+
+
+
+
+
+
Customize Your Recruitment Process
+
Define your own stages and interviewers
+
+
+ Use the kanban view and customize the steps of your recruitments
+ process; pre-qualification, first interview, second interview,
+ negociaiton, ...
+
+ Get accurate statistics on your recruitment pipeline. Get reports
+ to compare the performance of your different investments on
+ external job boards.
+
+
+
+
+
+
+
+
+
+
+
+
Streamline Your Recruitment Process
+
Index resumes, track applicants, search profiles
+
+
+
+
+
+ Follow applicants in your recruitment process with the smart
+ kanban view. Save time by automating some communications with
+ email templates.
+
+ Documents like resumes and motivation letters are indexed
+ automatically, allowing you to easily find for specific skills
+ and build up a database of profiles.
+
+
+
+
+
+
+
+
+
Integrated Surveys
+
Define your own online or offline surveys
+
+
+
+
+
+
+
+ Create your own interview canvas based on our best practices.
+ Use the survey designer to adapt questions to your own process.
+ Ask the applicant to fill in the survey online, or the
+ interviewer to use it during real interviews.
+
+
+
+
+
diff --git a/addons/hr_timesheet/hr_timesheet_data.xml b/addons/hr_timesheet/hr_timesheet_data.xml
index 1cdc23d301f..db324ab0ffd 100644
--- a/addons/hr_timesheet/hr_timesheet_data.xml
+++ b/addons/hr_timesheet/hr_timesheet_data.xml
@@ -12,5 +12,9 @@
+
+ True
+
+
diff --git a/addons/hw_escpos/controllers/main.py b/addons/hw_escpos/controllers/main.py
index cf449fd5434..c668a1ffdd7 100644
--- a/addons/hw_escpos/controllers/main.py
+++ b/addons/hw_escpos/controllers/main.py
@@ -19,15 +19,19 @@ try:
except ImportError:
usb = None
-from openerp.tools.translate import _
-from .. import escpos
-from ..escpos import printer
-from ..escpos import supported_devices
+try:
+ from .. import escpos
+ from ..escpos import printer
+ from ..escpos import supported_devices
+except ImportError:
+ escpos = printer = None
+
from PIL import Image
from openerp import http
from openerp.http import request
from openerp.addons.web.controllers.main import manifest_list, module_boot, html_template
+from openerp.tools.translate import _
_logger = logging.getLogger(__name__)
@@ -163,7 +167,7 @@ class EscposDriver(Thread):
if check(receipt['shop']['name']):
eprint.text(receipt['shop']['name'] + '\n')
if check(receipt['company']['contact_address']):
- eprint.text(receipt['company']['contact address'] + '\n')
+ eprint.text(receipt['company']['contact_address'] + '\n')
if check(receipt['company']['phone']):
eprint.text('Tel:' + receipt['company']['phone'] + '\n')
if check(receipt['company']['vat']):
diff --git a/addons/im/static/src/css/im.css b/addons/im/static/src/css/im.css
index 03a20bb0510..b869bdddb44 100644
--- a/addons/im/static/src/css/im.css
+++ b/addons/im/static/src/css/im.css
@@ -17,6 +17,10 @@
.openerp .oe_topbar_imbutton {
cursor: pointer;
}
+.openerp .oe_topbar_item.oe_topbar_imbutton .oe_e {
+ position: relative;
+ top: -8px;
+}
/* search stuff */
.openerp .oe_im_frame_header {
diff --git a/addons/im_livechat/__openerp__.py b/addons/im_livechat/__openerp__.py
index 8b9ea3924d5..cf3462ed42a 100644
--- a/addons/im_livechat/__openerp__.py
+++ b/addons/im_livechat/__openerp__.py
@@ -22,7 +22,7 @@ chat operators.
'demo': [
"im_livechat_demo.xml",
],
- 'depends' : ["im", "mail", "portal_anonymous"],
+ 'depends' : ["im", "mail"],
'installable': True,
'auto_install': False,
'application': True,
diff --git a/addons/im_livechat/im_livechat.py b/addons/im_livechat/im_livechat.py
index 71270bb0bfb..cfc6bb9ce8e 100644
--- a/addons/im_livechat/im_livechat.py
+++ b/addons/im_livechat/im_livechat.py
@@ -40,10 +40,10 @@ class LiveChatController(http.Controller):
def _auth(self, db):
reg = openerp.modules.registry.RegistryManager.get(db)
- uid = openerp.netsvc.dispatch_rpc('common', 'authenticate', [db, "anonymous", "anonymous", None])
+ uid = request.uid
return reg, uid
- @http.route('/im_livechat/loader', auth="none")
+ @http.route('/im_livechat/loader', auth="public")
def loader(self, **kwargs):
p = json.loads(kwargs["p"])
db = p["db"]
@@ -59,7 +59,7 @@ class LiveChatController(http.Controller):
return request.make_response(env.get_template("loader.js").render(info),
headers=[('Content-Type', "text/javascript")])
- @http.route('/im_livechat/web_page', auth="none")
+ @http.route('/im_livechat/web_page', auth="public")
def web_page(self, **kwargs):
p = json.loads(kwargs["p"])
db = p["db"]
@@ -72,7 +72,7 @@ class LiveChatController(http.Controller):
return request.make_response(env.get_template("web_page.html").render(info),
headers=[('Content-Type', "text/html")])
- @http.route('/im_livechat/available', type='json', auth="none")
+ @http.route('/im_livechat/available', type='json', auth="public")
def available(self, db, channel):
reg, uid = self._auth(db)
with reg.cursor() as cr:
diff --git a/addons/im_livechat/im_livechat_view.xml b/addons/im_livechat/im_livechat_view.xml
index bafe946203d..249021e25e8 100644
--- a/addons/im_livechat/im_livechat_view.xml
+++ b/addons/im_livechat/im_livechat_view.xml
@@ -133,7 +133,7 @@
im.message.tree
im.message
-
+
diff --git a/addons/im_livechat/loader.js b/addons/im_livechat/loader.js
index d2580ab272a..9257f996b96 100644
--- a/addons/im_livechat/loader.js
+++ b/addons/im_livechat/loader.js
@@ -35,7 +35,7 @@ require.config({
})(["livesupport", "jquery"], function(livesupport, jQuery) {
jQuery.noConflict();
console.log("loaded live support");
- livesupport.main({{url | json}}, {{db | json}}, "anonymous", "anonymous", {{channel | json}}, {
+ livesupport.main({{url | json}}, {{db | json}}, "public", "public", {{channel | json}}, {
buttonText: {{buttonText | json}},
inputPlaceholder: {{inputPlaceholder | json}},
defaultMessage: {{(defaultMessage or None) | json}},
diff --git a/addons/im_livechat/security/ir.model.access.csv b/addons/im_livechat/security/ir.model.access.csv
index 1ed578f43a6..d73e0931647 100644
--- a/addons/im_livechat/security/ir.model.access.csv
+++ b/addons/im_livechat/security/ir.model.access.csv
@@ -2,5 +2,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_ls_chann1,im_livechat.channel,model_im_livechat_channel,,1,0,0,0
access_ls_chann2,im_livechat.channel,model_im_livechat_channel,group_im_livechat,1,1,1,0
access_ls_chann3,im_livechat.channel,model_im_livechat_channel,group_im_livechat_manager,1,1,1,1
-access_im_user_portal,im_livechat.im.user.portal,im.model_im_user,portal.group_portal,1,0,0,0
-access_im_user,im_livechat.im.user,im.model_im_user,portal.group_anonymous,1,0,0,0
\ No newline at end of file
+access_im_user_portal,im_livechat.im.user.portal,im.model_im_user,base.group_portal,1,0,0,0
+access_im_user,im_livechat.im.user,im.model_im_user,base.group_public,1,0,0,0
\ No newline at end of file
diff --git a/addons/knowledge/res_config.py b/addons/knowledge/res_config.py
index c1e0bc1e1d3..5a3452836a5 100644
--- a/addons/knowledge/res_config.py
+++ b/addons/knowledge/res_config.py
@@ -25,8 +25,6 @@ class knowledge_config_settings(osv.osv_memory):
_name = 'knowledge.config.settings'
_inherit = 'res.config.settings'
_columns = {
- 'module_document_page': fields.boolean('Create static web pages',
- help="""This installs the module document_page."""),
'module_document': fields.boolean('Manage documents',
help='This is a complete document management system, with: user authentication, '
'full document search (but pptx and docx are not supported), and a document dashboard.\n'
diff --git a/addons/knowledge/res_config_view.xml b/addons/knowledge/res_config_view.xml
index 807397012f2..cbf9295b8ac 100644
--- a/addons/knowledge/res_config_view.xml
+++ b/addons/knowledge/res_config_view.xml
@@ -28,10 +28,6 @@
-
-
-
-
diff --git a/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_demo.xml b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_demo.xml
index 0cb05a218c3..6e9bed17ab2 100644
--- a/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_demo.xml
+++ b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_demo.xml
@@ -19,6 +19,22 @@
single
+
+ 54 Rue Jean Baptiste Colette BP
+ Attiches
+ 59551
+
+ onss@yourcompany.example.com
+
+
+ Shanghai Branch
+ Anshun Road 83, Room 1603 -
+ Shanghai
+ 200052
+
+ fiscal@yourcompany.example.com
+
+
diff --git a/addons/l10n_uk/demo/demo.xml b/addons/l10n_uk/demo/demo.xml
index ec262412c43..03f42b2c9ba 100644
--- a/addons/l10n_uk/demo/demo.xml
+++ b/addons/l10n_uk/demo/demo.xml
@@ -6,19 +6,24 @@
12, Hill Lane
HA4 7JW
Ruislip
-
+
+44 845 643 4548
08455274653
http://www.smartmode.co.uk
+ smartmode@yourcompany.example.com
Vadim Chobanu
- vadim@smartmode.co.uk
+ vadim@smartmode.example.com
1
default
+ 88 Wood Street, 10th floor
+ EC2V 7RS
+ London
+
diff --git a/addons/l10n_ve/__openerp__.py b/addons/l10n_ve/__openerp__.py
index 24a6407a338..ea4329a2d21 100644
--- a/addons/l10n_ve/__openerp__.py
+++ b/addons/l10n_ve/__openerp__.py
@@ -38,7 +38,7 @@ proposed in OpenERP should comply with some Accepted best practices in Venezuela
this plan comply with this practices.
This module has been tested as base for more of 1000 companies, because
-it is based in a mixtures of most common softwares in the Venezuelan
+it is based in a mixtures of most common software in the Venezuelan
market what will allow for sure to accountants feel them first steps with
OpenERP more confortable.
diff --git a/addons/lunch/lunch_demo.xml b/addons/lunch/lunch_demo.xml
index 7e5e2f3ac8f..546c21e0c22 100644
--- a/addons/lunch/lunch_demo.xml
+++ b/addons/lunch/lunch_demo.xml
@@ -18,10 +18,21 @@
Coin gourmand
+ Tirana
+
+ Rr. e Durrësit, Pall. M.C. Inerte
+ Kati.1, Laprakë, Tirana, Shqipëri
+ coin.gourmand@yourcompany.example.com
Pizza Inn
+ New Delhi TN
+
+ #8, 1 st Floor,iscore complex
+ Gandhi Gramam,Gandhi Nagar
+ 607308
+ pizza.inn@yourcompany.example.com
diff --git a/addons/mail/__init__.py b/addons/mail/__init__.py
index 26578e19af1..08a7a926cee 100644
--- a/addons/mail/__init__.py
+++ b/addons/mail/__init__.py
@@ -19,6 +19,7 @@
#
##############################################################################
+import ir_attachment
import mail_message_subtype
import mail_alias
import mail_followers
diff --git a/addons/mail/controllers/main.py b/addons/mail/controllers/main.py
index c2e15c4a12f..a913d3c067d 100644
--- a/addons/mail/controllers/main.py
+++ b/addons/mail/controllers/main.py
@@ -4,6 +4,7 @@ import psycopg2
import openerp
from openerp import SUPERUSER_ID
from openerp import http
+from openerp.http import request
from openerp.addons.web.controllers.main import content_disposition
@@ -11,18 +12,19 @@ class MailController(http.Controller):
_cp_path = '/mail'
@http.route('/mail/download_attachment', type='http', auth='user')
- def download_attachment(self, req, model, id, method, attachment_id, **kw):
+ def download_attachment(self, model, id, method, attachment_id, **kw):
# FIXME use /web/binary/saveas directly
- Model = req.session.model(model)
- res = getattr(Model, method)(int(id), int(attachment_id))
+ Model = request.registry.get(model)
+ res = getattr(Model, method)(request.cr, request.uid, int(id), int(attachment_id))
if res:
filecontent = base64.b64decode(res.get('base64'))
filename = res.get('filename')
if filecontent and filename:
- return req.make_response(filecontent,
+ return request.make_response(
+ filecontent,
headers=[('Content-Type', 'application/octet-stream'),
- ('Content-Disposition', content_disposition(filename))])
- return req.not_found()
+ ('Content-Disposition', content_disposition(filename))])
+ return request.not_found()
@http.route('/mail/receive', type='json', auth='none')
def receive(self, req):
diff --git a/addons/mail/ir_attachment.py b/addons/mail/ir_attachment.py
new file mode 100644
index 00000000000..99c5a9e054e
--- /dev/null
+++ b/addons/mail/ir_attachment.py
@@ -0,0 +1,197 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2014-TODAY OpenERP SA (http://www.openerp.com)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+from openerp.osv import fields, osv
+
+import os.path
+
+
+class IrAttachment(osv.Model):
+ """ Update partner to add a field about notification preferences """
+ _name = "ir.attachment"
+ _inherit = 'ir.attachment'
+
+ _fileext_to_type = {
+ '7z': 'archive',
+ 'aac': 'audio',
+ 'ace': 'archive',
+ 'ai': 'vector',
+ 'aiff': 'audio',
+ 'apk': 'archive',
+ 'app': 'binary',
+ 'as': 'script',
+ 'asf': 'video',
+ 'ass': 'text',
+ 'avi': 'video',
+ 'bat': 'script',
+ 'bin': 'binary',
+ 'bmp': 'image',
+ 'bzip2': 'archive',
+ 'c': 'script',
+ 'cab': 'archive',
+ 'cc': 'script',
+ 'ccd': 'disk',
+ 'cdi': 'disk',
+ 'cdr': 'vector',
+ 'cer': 'certificate',
+ 'cgm': 'vector',
+ 'cmd': 'script',
+ 'coffee': 'script',
+ 'com': 'binary',
+ 'cpp': 'script',
+ 'crl': 'certificate',
+ 'crt': 'certificate',
+ 'cs': 'script',
+ 'csr': 'certificate',
+ 'css': 'html',
+ 'csv': 'spreadsheet',
+ 'cue': 'disk',
+ 'd': 'script',
+ 'dds': 'image',
+ 'deb': 'archive',
+ 'der': 'certificate',
+ 'djvu': 'image',
+ 'dmg': 'archive',
+ 'dng': 'image',
+ 'doc': 'document',
+ 'docx': 'document',
+ 'dvi': 'print',
+ 'eot': 'font',
+ 'eps': 'vector',
+ 'exe': 'binary',
+ 'exr': 'image',
+ 'flac': 'audio',
+ 'flv': 'video',
+ 'gif': 'webimage',
+ 'gz': 'archive',
+ 'gzip': 'archive',
+ 'h': 'script',
+ 'htm': 'html',
+ 'html': 'html',
+ 'ico': 'image',
+ 'icon': 'image',
+ 'img': 'disk',
+ 'iso': 'disk',
+ 'jar': 'archive',
+ 'java': 'script',
+ 'jp2': 'image',
+ 'jpe': 'webimage',
+ 'jpeg': 'webimage',
+ 'jpg': 'webimage',
+ 'jpx': 'image',
+ 'js': 'script',
+ 'key': 'presentation',
+ 'keynote': 'presentation',
+ 'lisp': 'script',
+ 'lz': 'archive',
+ 'lzip': 'archive',
+ 'm': 'script',
+ 'm4a': 'audio',
+ 'm4v': 'video',
+ 'mds': 'disk',
+ 'mdx': 'disk',
+ 'mid': 'audio',
+ 'midi': 'audio',
+ 'mkv': 'video',
+ 'mng': 'image',
+ 'mp2': 'audio',
+ 'mp3': 'audio',
+ 'mp4': 'video',
+ 'mpe': 'video',
+ 'mpeg': 'video',
+ 'mpg': 'video',
+ 'nrg': 'disk',
+ 'numbers': 'spreadsheet',
+ 'odg': 'vector',
+ 'odm': 'document',
+ 'odp': 'presentation',
+ 'ods': 'spreadsheet',
+ 'odt': 'document',
+ 'ogg': 'audio',
+ 'ogm': 'video',
+ 'otf': 'font',
+ 'p12': 'certificate',
+ 'pak': 'archive',
+ 'pbm': 'image',
+ 'pdf': 'print',
+ 'pem': 'certificate',
+ 'pfx': 'certificate',
+ 'pgf': 'image',
+ 'pgm': 'image',
+ 'pk3': 'archive',
+ 'pk4': 'archive',
+ 'pl': 'script',
+ 'png': 'webimage',
+ 'pnm': 'image',
+ 'ppm': 'image',
+ 'pps': 'presentation',
+ 'ppt': 'presentation',
+ 'ps': 'print',
+ 'psd': 'image',
+ 'psp': 'image',
+ 'py': 'script',
+ 'r': 'script',
+ 'ra': 'audio',
+ 'rar': 'archive',
+ 'rb': 'script',
+ 'rpm': 'archive',
+ 'rtf': 'text',
+ 'sh': 'script',
+ 'sub': 'disk',
+ 'svg': 'vector',
+ 'sxc': 'spreadsheet',
+ 'sxd': 'vector',
+ 'tar': 'archive',
+ 'tga': 'image',
+ 'tif': 'image',
+ 'tiff': 'image',
+ 'ttf': 'font',
+ 'txt': 'text',
+ 'vbs': 'script',
+ 'vc': 'spreadsheet',
+ 'vml': 'vector',
+ 'wav': 'audio',
+ 'webp': 'image',
+ 'wma': 'audio',
+ 'wmv': 'video',
+ 'woff': 'font',
+ 'xar': 'vector',
+ 'xbm': 'image',
+ 'xcf': 'image',
+ 'xhtml': 'html',
+ 'xls': 'spreadsheet',
+ 'xlsx': 'spreadsheet',
+ 'xml': 'html',
+ 'zip': 'archive'
+ }
+
+ def get_attachment_type(self, cr, uid, ids, name, args, context=None):
+ result = {}
+ for attachment in self.browse(cr, uid, ids, context=context):
+ fileext = os.path.splitext(attachment.datas_fname)[1].lower()
+ if not fileext or not fileext[1:] in self._fileext_to_type:
+ return 'unknown'
+ result[attachment.id] = self._fileext_to_type[fileext[1:]]
+ return result
+
+ _columns = {
+ 'file_type': fields.function(get_attachment_type, type='char', string='File Type'),
+ }
diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py
index 4d8d00ec7b9..40a51df91d2 100644
--- a/addons/mail/mail_message.py
+++ b/addons/mail/mail_message.py
@@ -351,8 +351,13 @@ class mail_message(osv.Model):
partner_tree = dict((partner[0], partner) for partner in partners)
# 2. Attachments as SUPERUSER, because could receive msg and attachments for doc uid cannot see
- attachments = ir_attachment_obj.read(cr, SUPERUSER_ID, list(attachment_ids), ['id', 'datas_fname', 'name'], context=context)
- attachments_tree = dict((attachment['id'], {'id': attachment['id'], 'filename': attachment['datas_fname'], 'name': attachment['name']}) for attachment in attachments)
+ attachments = ir_attachment_obj.read(cr, SUPERUSER_ID, list(attachment_ids), ['id', 'datas_fname', 'name', 'file_type'], context=context)
+ attachments_tree = dict((attachment['id'], {
+ 'id': attachment['id'],
+ 'filename': attachment['datas_fname'],
+ 'name': attachment['name'],
+ 'file_type': attachment['file_type'],
+ }) for attachment in attachments)
# 3. Update message dictionaries
for message_dict in messages:
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index 16df41b239a..ee4dcac5414 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -114,10 +114,9 @@ class mail_thread(osv.AbstractModel):
object_id.alias_id.alias_force_thread_id == 0:
alias = object_id.alias_id
elif catchall_domain and model: # no specific res_id given -> generic help message, take an example alias (i.e. alias of some section_id)
- model_id = self.pool.get('ir.model').search(cr, uid, [("model", "=", self._name)], context=context)[0]
alias_obj = self.pool.get('mail.alias')
- alias_ids = alias_obj.search(cr, uid, [("alias_model_id", "=", model_id), ("alias_name", "!=", False), ('alias_force_thread_id', '=', 0)], context=context, order='id ASC')
- if alias_ids and len(alias_ids) == 1: # if several aliases -> incoherent to propose one guessed from nowhere, therefore avoid if several aliases
+ alias_ids = alias_obj.search(cr, uid, [("alias_parent_model_id.model", "=", model), ("alias_name", "!=", False), ('alias_force_thread_id', '=', False)], context=context, order='id ASC')
+ if alias_ids and len(alias_ids) == 1:
alias = alias_obj.browse(cr, uid, alias_ids[0], context=context)
if alias:
@@ -165,7 +164,7 @@ class mail_thread(osv.AbstractModel):
def read_followers_data(self, cr, uid, follower_ids, context=None):
result = []
- technical_group = self.pool.get('ir.model.data').get_object(cr, uid, 'base', 'group_no_one')
+ technical_group = self.pool.get('ir.model.data').get_object(cr, uid, 'base', 'group_no_one', context=context)
for follower in self.pool.get('res.partner').browse(cr, uid, follower_ids, context=context):
is_editable = uid in map(lambda x: x.id, technical_group.users)
is_uid = uid in map(lambda x: x.id, follower.user_ids)
@@ -500,10 +499,9 @@ class mail_thread(osv.AbstractModel):
posted = False
for subtype in subtypes:
- try:
- subtype_rec = self.pool.get('ir.model.data').get_object(cr, uid, subtype.split('.')[0], subtype.split('.')[1], context=context)
- except ValueError, e:
- _logger.debug('subtype %s not found, giving error "%s"' % (subtype, e))
+ subtype_rec = self.pool.get('ir.model.data').xmlid_to_object(cr, uid, subtype, context=context)
+ if not (subtype_rec and subtype_rec.exists()):
+ _logger.debug('subtype %s not found' % subtype)
continue
message = format_message(subtype_rec.description if subtype_rec.description else subtype_rec.name, tracked_values)
self.message_post(cr, uid, browse_record.id, body=message, subtype=subtype, context=context)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 43feb52784a..58d44bab50e 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -114,57 +114,6 @@ openerp.mail = function (session) {
}
return out;
},
-
- // returns the file type of a file based on its extension
- // As it only looks at the extension it is quite approximative.
- filetype: function(url){
- var url = url && url.filename || url;
- var tokens = typeof url == 'string' ? url.split('.') : [];
- if(tokens.length <= 1){
- return 'unknown';
- }
- var extension = tokens[tokens.length -1];
- if(extension.length === 0){
- return 'unknown';
- }else{
- extension = extension.toLowerCase();
- }
- var filetypes = {
- 'webimage': ['png','jpg','jpeg','jpe','gif'], // those have browser preview
- 'image': ['tif','tiff','tga',
- 'bmp','xcf','psd','ppm','pbm','pgm','pnm','mng',
- 'xbm','ico','icon','exr','webp','psp','pgf','xcf',
- 'jp2','jpx','dng','djvu','dds'],
- 'vector': ['ai','svg','eps','vml','cdr','xar','cgm','odg','sxd'],
- 'print': ['dvi','pdf','ps'],
- 'document': ['doc','docx','odm','odt'],
- 'presentation': ['key','keynote','odp','pps','ppt'],
- 'font': ['otf','ttf','woff','eot'],
- 'archive': ['zip','7z','ace','apk','bzip2','cab','deb','dmg','gzip','jar',
- 'rar','tar','gz','pak','pk3','pk4','lzip','lz','rpm'],
- 'certificate': ['cer','key','pfx','p12','pem','crl','der','crt','csr'],
- 'audio': ['aiff','wav','mp3','ogg','flac','wma','mp2','aac',
- 'm4a','ra','mid','midi'],
- 'video': ['asf','avi','flv','mkv','m4v','mpeg','mpg','mpe','wmv','mp4','ogm'],
- 'text': ['txt','rtf','ass'],
- 'html': ['html','xhtml','xml','htm','css'],
- 'disk': ['iso','nrg','img','ccd','sub','cdi','cue','mds','mdx'],
- 'script': ['py','js','c','cc','cpp','cs','h','java','bat','sh',
- 'd','rb','pl','as','cmd','coffee','m','r','vbs','lisp'],
- 'spreadsheet': ['123','csv','ods','numbers','sxc','xls','vc','xlsx'],
- 'binary': ['exe','com','bin','app'],
- };
- for(filetype in filetypes){
- var ext_list = filetypes[filetype];
- for(var i = 0, len = ext_list.length; i < len; i++){
- if(extension === ext_list[i]){
- return filetype;
- }
- }
- }
- return 'unknown';
- },
-
};
@@ -304,7 +253,6 @@ openerp.mail = function (session) {
var attach = this.attachment_ids[l];
if (!attach.formating) {
attach.url = mail.ChatterUtils.get_attachment_url(this.session, this.id, attach.id);
- attach.filetype = mail.ChatterUtils.filetype(attach.filename || attach.name);
attach.name = mail.ChatterUtils.breakword(attach.name || attach.filename);
attach.formating = true;
}
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index 31539e24ab3..3a7a5469ee1 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -88,10 +88,10 @@
-->
-
+
-
+
[
@@ -100,7 +100,7 @@
-
+
diff --git a/addons/mail/tests/test_mail_group.py b/addons/mail/tests/test_mail_group.py
index c1512441b13..34c7f0c00e0 100644
--- a/addons/mail/tests/test_mail_group.py
+++ b/addons/mail/tests/test_mail_group.py
@@ -20,6 +20,7 @@
##############################################################################
from openerp.addons.mail.tests.common import TestMail
+from openerp.exceptions import AccessError
from openerp.osv.orm import except_orm
from openerp.tools import mute_logger
@@ -40,7 +41,7 @@ class TestMailGroup(TestMail):
self.mail_group.read(cr, user_employee_id, [self.group_pigs_id])
# Do: Bert creates a group -> ko, no access rights
- with self.assertRaises(except_orm):
+ with self.assertRaises(AccessError):
self.mail_group.create(cr, user_noone_id, {'name': 'Test'})
# Do: Raoul creates a restricted group -> ok
new_group_id = self.mail_group.create(cr, user_employee_id, {'name': 'Test'})
@@ -58,7 +59,7 @@ class TestMailGroup(TestMail):
# Do: Raoul write on Jobs -> ok
self.mail_group.write(cr, user_employee_id, [self.group_priv_id], {'name': 'modified'})
# Do: Bert cannot write on Private -> ko (read but no write)
- with self.assertRaises(except_orm):
+ with self.assertRaises(AccessError):
self.mail_group.write(cr, user_noone_id, [self.group_priv_id], {'name': 're-modified'})
# Test: Bert cannot unlink the group
with self.assertRaises(except_orm):
diff --git a/addons/mail/tests/test_mail_message.py b/addons/mail/tests/test_mail_message.py
index 5dc5e9e247d..180661a0707 100644
--- a/addons/mail/tests/test_mail_message.py
+++ b/addons/mail/tests/test_mail_message.py
@@ -20,6 +20,7 @@
##############################################################################
from openerp.addons.mail.tests.common import TestMail
+from openerp.exceptions import AccessError
from openerp.osv.orm import except_orm
from openerp.tools import mute_logger
@@ -258,13 +259,13 @@ class TestMailMessage(TestMail):
# ----------------------------------------
# Do: Bert creates a message on Pigs -> ko, no creation rights
- self.assertRaises(except_orm, self.mail_message.create,
+ self.assertRaises(AccessError, self.mail_message.create,
cr, user_bert_id, {'model': 'mail.group', 'res_id': self.group_pigs_id, 'body': 'Test'})
# Do: Bert create a message on Jobs -> ko, no creation rights
- self.assertRaises(except_orm, self.mail_message.create,
+ self.assertRaises(AccessError, self.mail_message.create,
cr, user_bert_id, {'model': 'mail.group', 'res_id': self.group_jobs_id, 'body': 'Test'})
# Do: Bert create a private message -> ko, no creation rights
- self.assertRaises(except_orm, self.mail_message.create,
+ self.assertRaises(AccessError, self.mail_message.create,
cr, user_bert_id, {'body': 'Test'})
# Do: Raoul creates a message on Jobs -> ok, write access to the related document
@@ -410,15 +411,15 @@ class TestMailMessage(TestMail):
for message in bert_jobs.message_ids:
trigger_read = message.subject
for partner in bert_jobs.message_follower_ids:
- with self.assertRaises(except_orm):
+ with self.assertRaises(AccessError):
trigger_read = partner.name
# Do: Bert comments Jobs, ko because no creation right
- self.assertRaises(except_orm,
+ self.assertRaises(AccessError,
self.mail_group.message_post,
cr, user_bert_id, self.group_jobs_id, body='I love Pigs')
# Do: Bert writes on its own profile, ko because no message create access
- with self.assertRaises(except_orm):
+ with self.assertRaises(AccessError):
self.res_users.message_post(cr, user_bert_id, user_bert_id, body='I love Bert')
self.res_partner.message_post(cr, user_bert_id, partner_bert_id, body='I love Bert')
diff --git a/addons/mail/update.py b/addons/mail/update.py
index bcf9bb8c7c9..6969b1479b1 100644
--- a/addons/mail/update.py
+++ b/addons/mail/update.py
@@ -2,7 +2,7 @@
import datetime
import logging
import sys
-import urllib
+import werkzeug.urls
import urllib2
import openerp
@@ -59,7 +59,7 @@ def get_sys_logs(self, cr, uid):
add_arg = {"timeout":30} if sys.version_info >= (2,6) else {}
arguments = {'arg0': msg, "action": "update",}
- arguments_raw = urllib.urlencode(arguments)
+ arguments_raw = werkzeug.url_encode(arguments)
url = config.get("publisher_warranty_url")
@@ -94,13 +94,11 @@ class publisher_warranty_contract(osv.osv):
# old behavior based on res.log; now on mail.message, that is not necessarily installed
IMD = self.pool['ir.model.data']
user = self.pool['res.users'].browse(cr, SUPERUSER_ID, SUPERUSER_ID)
- try:
- poster = IMD.get_object(cr, SUPERUSER_ID, 'mail', 'group_all_employees')
- except ValueError:
- # Cannot found group, post the message on the wall of the admin
+ poster = IMD.xmlid_to_object(cr, SUPERUSER_ID, 'mail.group_all_employees', context=context)
+ if not (poster and poster.exists()):
+ if not user.exists():
+ return True
poster = user
- if not poster.exists():
- return True
for message in result["messages"]:
try:
poster.message_post(body=message, subtype='mt_comment', partner_ids=[user.partner_id.id])
diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py
index ac1531d7192..046084621c7 100644
--- a/addons/mass_mailing/controllers/main.py
+++ b/addons/mass_mailing/controllers/main.py
@@ -1,11 +1,11 @@
-from openerp import http
+from openerp import http, SUPERUSER_ID
from openerp.http import request
class MassMailController(http.Controller):
- @http.route('/mail/track//blank.gif', type='http', auth='admin')
+ @http.route('/mail/track//blank.gif', type='http', auth='none')
def track_mail_open(self, mail_id):
""" Email tracking. """
mail_mail_stats = request.registry.get('mail.mail.statistics')
- mail_mail_stats.set_opened(request.cr, request.uid, mail_mail_ids=[mail_id])
+ mail_mail_stats.set_opened(request.cr, SUPERUSER_ID, mail_mail_ids=[mail_id])
return "data:image/gif;base64,R0lGODlhAQABAIAAANvf7wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="
diff --git a/addons/membership/__openerp__.py b/addons/membership/__openerp__.py
index 4a0a80694b3..ba619564ee2 100644
--- a/addons/membership/__openerp__.py
+++ b/addons/membership/__openerp__.py
@@ -47,7 +47,10 @@ invoice and send propositions for membership renewal.
'report/report_membership_view.xml',
'process/membership_process.xml',
],
- 'demo': ['membership_demo.xml'],
+ 'demo': [
+ 'membership_demo.xml',
+ 'membership_demo.yml'
+ ],
'test': ['test/test_membership.yml'],
'installable': True,
'auto_install': False,
diff --git a/addons/membership/membership_demo.xml b/addons/membership/membership_demo.xml
index 96a98571865..379eaf0c1e3 100644
--- a/addons/membership/membership_demo.xml
+++ b/addons/membership/membership_demo.xml
@@ -7,7 +7,7 @@
True
- Golden Membership
+ Gold Membership
180
service
@@ -34,21 +34,51 @@
-
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+
+
+ True
+
+
+ True
+
+
True
-
-
+
+
-
+
+
+
+
+
+
+
+
+
diff --git a/addons/membership/membership_demo.yml b/addons/membership/membership_demo.yml
new file mode 100644
index 00000000000..e21d70f0fd5
--- /dev/null
+++ b/addons/membership/membership_demo.yml
@@ -0,0 +1,15 @@
+-
+ create invoice and state is 'open' and pay some invoice
+-
+ !python {model: res.partner}: |
+ invoice_ids = self.create_membership_invoice(cr, uid, [ref("base.res_partner_1"),ref("base.res_partner_14"),ref("base.res_partner_24"),ref("base.res_partner_19"),ref("base.res_partner_8"),ref("base.res_partner_5"),ref("base.res_partner_21"),ref("base.res_partner_6"),ref("base.res_partner_16"),ref("base.res_partner_10")], product_id=ref("membership_1"), datas={"amount":80.00})
+ invoice_pool = self.pool.get('account.invoice')
+ invoice_pool.signal_invoice_open(cr, uid, invoice_ids)
+
+ for id in invoice_ids[-4:]:
+ pay = invoice_pool.pay_and_reconcile(cr, uid, [id],
+ 9050.0, ref('account.cash'), ref('account.period_10'),
+ ref('account.bank_journal'), ref('account.cash'),
+ ref('account.period_10'), ref('account.bank_journal'),
+ name='Payment for test customer invoice')
+ assert (pay == True), "Incorrect Payment"
diff --git a/addons/mrp/report/price.py b/addons/mrp/report/price.py
index ff3d5ff5c56..388d73713bd 100644
--- a/addons/mrp/report/price.py
+++ b/addons/mrp/report/price.py
@@ -34,7 +34,6 @@ class report_custom(report_rml):
registry = openerp.registry(cr.dbname)
product_pool = registry.get('product.product')
product_uom_pool = registry.get('product.uom')
- supplier_info_pool = registry.get('product.supplierinfo')
workcenter_pool = registry.get('mrp.workcenter')
user_pool = registry.get('res.users')
bom_pool = registry.get('mrp.bom')
diff --git a/addons/multi_company/multi_company_demo.xml b/addons/multi_company/multi_company_demo.xml
index c772a8fd67d..44a021c1434 100644
--- a/addons/multi_company/multi_company_demo.xml
+++ b/addons/multi_company/multi_company_demo.xml
@@ -4,18 +4,49 @@
OpenERP Editor
+ Plot No 61- Sector 8
+ Faridabad (Delhi- NCR)
+ 121006
+
+ openerp.editor@yourcompany.example.com
+
OpenERP US
+ 2035 N. Evergreen Terrace
+ Arlington Heights
+
+ openerp.us@yourcompany.example.com
+
OpenERP IN
+ Top Floor, Mehta Mahal,15
+ Matthew Road, Opera House
+ Mumbai 27
+ 400004
+
+ openerp.in@yourcompany.example.com
+
OpenERP BE
+ Avenue de l'Artisanat 2
+ Braine-l'Alleud
+ 1420
+
+ openerp.be@yourcompany.example.com
+
Odoo
+ RM#25-502, 126, Yijiang Road
+ Pudong
+ Shanghai
+ 201
+
+ odoo@yourcompany.example.com
+
@@ -63,87 +94,6 @@
Resource: product.product
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Odoo Offers
diff --git a/addons/pad/py_etherpad/__init__.py b/addons/pad/py_etherpad/__init__.py
index 0db607fe16f..fce51d36890 100644
--- a/addons/pad/py_etherpad/__init__.py
+++ b/addons/pad/py_etherpad/__init__.py
@@ -1,7 +1,7 @@
"""Module to talk to EtherpadLite API."""
import json
-import urllib
+import werkzeug.urls
import urllib2
@@ -32,7 +32,7 @@ class EtherpadLiteClient:
params = arguments or {}
params.update({'apikey': self.apiKey})
- data = urllib.urlencode(params, True)
+ data = werkzeug.url_encode(params, True)
try:
opener = urllib2.build_opener()
diff --git a/addons/portal_hr_employees/__init__.py b/addons/payment/__init__.py
similarity index 91%
rename from addons/portal_hr_employees/__init__.py
rename to addons/payment/__init__.py
index f0abe52049a..d95d47860af 100644
--- a/addons/portal_hr_employees/__init__.py
+++ b/addons/payment/__init__.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
+# Copyright (C) 2013-Today OpenERP SA ().
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,4 +19,4 @@
#
##############################################################################
-import hr_employee
+import models
diff --git a/addons/payment/__openerp__.py b/addons/payment/__openerp__.py
new file mode 100644
index 00000000000..bc5d3896ac2
--- /dev/null
+++ b/addons/payment/__openerp__.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+
+{
+ 'name': 'Payment Acquirer',
+ 'category': 'Hidden',
+ 'summary': 'Payment Acquirer Base Module',
+ 'version': '1.0',
+ 'description': """Payment Acquirer Base Module""",
+ 'author': 'OpenERP SA',
+ 'depends': ['mail', 'account'],
+ 'data': [
+ 'views/payment_acquirer.xml',
+ 'views/res_config_view.xml',
+ 'security/ir.model.access.csv',
+ ],
+ 'installable': True,
+}
diff --git a/addons/payment/models/__init__.py b/addons/payment/models/__init__.py
new file mode 100644
index 00000000000..cd7858767fc
--- /dev/null
+++ b/addons/payment/models/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+
+import payment_acquirer
+import res_config
diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py
new file mode 100644
index 00000000000..1a60bc13700
--- /dev/null
+++ b/addons/payment/models/payment_acquirer.py
@@ -0,0 +1,507 @@
+# -*- coding: utf-'8' "-*-"
+
+import logging
+
+from openerp.osv import osv, fields
+from openerp.tools import float_round, float_repr
+from openerp.tools.translate import _
+
+_logger = logging.getLogger(__name__)
+
+
+def _partner_format_address(address1=False, address2=False):
+ return ' '.join((address1 or '', address2 or '')).strip()
+
+
+def _partner_split_name(partner_name):
+ return [' '.join(partner_name.split()[-1:]), ' '.join(partner_name.split()[:-1])]
+
+
+class ValidationError(ValueError):
+ """ Used for value error when validating transaction data coming from acquirers. """
+ pass
+
+
+class PaymentAcquirer(osv.Model):
+ """ Acquirer Model. Each specific acquirer can extend the model by adding
+ its own fields, using the acquirer_name as a prefix for the new fields.
+ Using the required_if_provider='' attribute on fields it is possible
+ to have required fields that depend on a specific acquirer.
+
+ Each acquirer has a link to an ir.ui.view record that is a template of
+ a button used to display the payment form. See examples in ``payment_ogone``
+ and ``payment_paypal`` modules.
+
+ Methods that should be added in an acquirer-specific implementation:
+
+ - ``_form_generate_values(self, cr, uid, id, reference, amount, currency,
+ partner_id=False, partner_values=None, tx_custom_values=None, context=None)``:
+ method that generates the values used to render the form button template.
+ - ``_get_form_action_url(self, cr, uid, id, context=None):``: method
+ that returns the url of the button form. It is used for example in
+ ecommerce application, if you want to post some data to the acquirer.
+ - ``_compute_fees(self, cr, uid, id, amount, currency_id, country_id,
+ context=None)``: computed the fees of the acquirer, using generic fields
+ defined on the acquirer model (see fields definition).
+
+ Each acquirer should also define controllers to handle communication between
+ OpenERP and the acquirer. It generally consists in return urls given to the
+ button form and that the acquirer uses to send the customer back after the
+ transaction, with transaction details given as a POST request.
+ """
+ _name = 'payment.acquirer'
+ _description = 'Payment Acquirer'
+
+ _columns = {
+ 'name': fields.char('Name', required=True),
+ 'company_id': fields.many2one('res.company', 'Company', required=True),
+ 'pre_msg': fields.html('Message', help='Message displayed to explain and help the payment process.'),
+ 'post_msg': fields.html('Thanks Message', help='Message displayed after having done the payment process.'),
+ 'validation': fields.selection(
+ [('manual', 'Manual'), ('automatic', 'Automatic')],
+ string='Process Method',
+ help='Static payments are payments like transfer, that require manual steps.'),
+ 'view_template_id': fields.many2one('ir.ui.view', 'Form Button Template', required=True),
+ 'env': fields.selection(
+ [('test', 'Test'), ('prod', 'Production')],
+ string='Environment'),
+ 'website_published': fields.boolean(
+ 'Visible in Portal / Website',
+ help="Make this payment acquirer available (Customer invoices, etc.)"),
+ # Fees
+ 'fees_active': fields.boolean('Compute fees'),
+ 'fees_dom_fixed': fields.float('Fixed domestic fees'),
+ 'fees_dom_var': fields.float('Variable domestic fees (in percents)'),
+ 'fees_int_fixed': fields.float('Fixed international fees'),
+ 'fees_int_var': fields.float('Variable international fees (in percents)'),
+ }
+
+ _defaults = {
+ 'company_id': lambda self, cr, uid, obj, ctx=None: self.pool['res.users'].browse(cr, uid, uid).company_id.id,
+ 'env': 'test',
+ 'validation': 'automatic',
+ 'website_published': True,
+ }
+
+ def _check_required_if_provider(self, cr, uid, ids, context=None):
+ """ If the field has 'required_if_provider=""' attribute, then it
+ required if record.name is . """
+ for acquirer in self.browse(cr, uid, ids, context=context):
+ if any(c for c, f in self._all_columns.items() if getattr(f.column, 'required_if_provider', None) == acquirer.name and not acquirer[c]):
+ return False
+ return True
+
+ _constraints = [
+ (_check_required_if_provider, 'Required fields not filled', ['required for this provider']),
+ ]
+
+ def get_form_action_url(self, cr, uid, id, context=None):
+ """ Returns the form action URL, for form-based acquirer implementations. """
+ acquirer = self.browse(cr, uid, id, context=context)
+ if hasattr(self, '%s_get_form_action_url' % acquirer.name):
+ return getattr(self, '%s_get_form_action_url' % acquirer.name)(cr, uid, id, context=context)
+ return False
+
+ def form_preprocess_values(self, cr, uid, id, reference, amount, currency_id, tx_id, partner_id, partner_values, tx_values, context=None):
+ """ Pre process values before giving them to the acquirer-specific render
+ methods. Those methods will receive:
+
+ - partner_values: will contain name, lang, email, zip, address, city,
+ country_id (int or False), country (browse or False), phone, reference
+ - tx_values: will contain refernece, amount, currency_id (int or False),
+ currency (browse or False), partner (browse or False)
+ """
+ acquirer = self.browse(cr, uid, id, context=context)
+
+ if tx_id:
+ tx = self.pool.get('payment.transaction').browse(cr, uid, tx_id, context=context)
+ tx_data = {
+ 'reference': tx.reference,
+ 'amount': tx.amount,
+ 'currency_id': tx.currency_id.id,
+ 'currency': tx.currency_id,
+ 'partner': tx.partner_id,
+ }
+ partner_data = {
+ 'name': tx.partner_name,
+ 'lang': tx.partner_lang,
+ 'email': tx.partner_email,
+ 'zip': tx.partner_zip,
+ 'address': tx.partner_address,
+ 'city': tx.partner_city,
+ 'country_id': tx.partner_country_id.id,
+ 'country': tx.partner_country_id,
+ 'phone': tx.partner_phone,
+ 'reference': tx.partner_reference,
+ }
+ else:
+ if partner_id:
+ partner = self.pool['res.partner'].browse(cr, uid, partner_id, context=context)
+ partner_data = {
+ 'name': partner.name,
+ 'lang': partner.lang,
+ 'email': partner.email,
+ 'zip': partner.zip,
+ 'city': partner.city,
+ 'address': _partner_format_address(partner.street, partner.street2),
+ 'country_id': partner.country_id.id,
+ 'country': partner.country_id,
+ 'phone': partner.phone,
+ }
+ else:
+ partner, partner_data = False, {}
+ partner_data.update(partner_values)
+
+ if currency_id:
+ currency = self.pool['res.currency'].browse(cr, uid, currency_id, context=context)
+ else:
+ currency = self.pool['res.users'].browse(cr, uid, uid, context=context).company_id.currency_id
+ tx_data = {
+ 'reference': reference,
+ 'amount': amount,
+ 'currency_id': currency.id,
+ 'currency': currency,
+ 'partner': partner,
+ }
+
+ # update tx values
+ tx_data.update(tx_values)
+
+ # update partner values
+ if not partner_data.get('address'):
+ partner_data['address'] = _partner_format_address(partner_data.get('street', ''), partner_data.get('street2', ''))
+ if not partner_data.get('country') and partner_data.get('country_id'):
+ partner_data['country'] = self.pool['res.country'].browse(cr, uid, partner_data.get('country_id'), context=context)
+ partner_data.update({
+ 'first_name': _partner_split_name(partner_data['name'])[0],
+ 'last_name': _partner_split_name(partner_data['name'])[1],
+ })
+
+ # compute fees
+ fees_method_name = '%s_compute_fees' % acquirer.name
+ if hasattr(self, fees_method_name):
+ fees = getattr(self, fees_method_name)(
+ cr, uid, id, tx_data['amount'], tx_data['currency_id'], partner_data['country_id'], context=None)
+ tx_data['fees'] = float_round(fees, 2)
+
+ return (partner_data, tx_data)
+
+ def render(self, cr, uid, id, reference, amount, currency_id, tx_id=None, partner_id=False, partner_values=None, tx_values=None, context=None):
+ """ Renders the form template of the given acquirer as a qWeb template.
+ All templates will receive:
+
+ - acquirer: the payment.acquirer browse record
+ - user: the current user browse record
+ - currency_id: id of the transaction currency
+ - amount: amount of the transaction
+ - reference: reference of the transaction
+ - partner: the current partner browse record, if any (not necessarily set)
+ - partner_values: a dictionary of partner-related values
+ - tx_values: a dictionary of transaction related values that depends on
+ the acquirer. Some specific keys should be managed in each
+ provider, depending on the features it offers:
+
+ - 'feedback_url': feedback URL, controler that manage answer of the acquirer
+ (without base url) -> FIXME
+ - 'return_url': URL for coming back after payment validation (wihout
+ base url) -> FIXME
+ - 'cancel_url': URL if the client cancels the payment -> FIXME
+ - 'error_url': URL if there is an issue with the payment -> FIXME
+
+ - context: OpenERP context dictionary
+
+ :param string reference: the transaction reference
+ :param float amount: the amount the buyer has to pay
+ :param res.currency browse record currency: currency
+ :param int tx_id: id of a transaction; if set, bypasses all other given
+ values and only render the already-stored transaction
+ :param res.partner browse record partner_id: the buyer
+ :param dict partner_values: a dictionary of values for the buyer (see above)
+ :param dict tx_custom_values: a dictionary of values for the transction
+ that is given to the acquirer-specific method
+ generating the form values
+ :param dict context: OpenERP context
+ """
+ if context is None:
+ context = {}
+ if tx_values is None:
+ tx_values = {}
+ if partner_values is None:
+ partner_values = {}
+ acquirer = self.browse(cr, uid, id, context=context)
+
+ # pre-process values
+ amount = float_round(amount, 2)
+ partner_values, tx_values = self.form_preprocess_values(
+ cr, uid, id, reference, amount, currency_id, tx_id, partner_id,
+ partner_values, tx_values, context=context)
+
+ # call _form_generate_values to update the tx dict with acqurier specific values
+ cust_method_name = '%s_form_generate_values' % (acquirer.name)
+ if hasattr(self, cust_method_name):
+ method = getattr(self, cust_method_name)
+ partner_values, tx_values = method(cr, uid, id, partner_values, tx_values, context=context)
+
+ qweb_context = {
+ 'tx_url': context.get('tx_url', self.get_form_action_url(cr, uid, id, context=context)),
+ 'submit_class': context.get('submit_class', 'btn btn-link'),
+ 'submit_txt': context.get('submit_txt'),
+ 'acquirer': acquirer,
+ 'user': self.pool.get("res.users").browse(cr, uid, uid, context=context),
+ 'reference': tx_values['reference'],
+ 'amount': tx_values['amount'],
+ 'currency': tx_values['currency'],
+ 'partner': tx_values.get('partner'),
+ 'partner_values': partner_values,
+ 'tx_values': tx_values,
+ 'context': context,
+ }
+
+ # because render accepts view ids but not qweb -> need to use the xml_id
+ return self.pool['ir.ui.view'].render(cr, uid, acquirer.view_template_id.xml_id, qweb_context, engine='ir.qweb', context=context)
+
+ def _wrap_payment_block(self, cr, uid, html_block, amount, currency_id, context=None):
+ payment_header = _('Pay safely online')
+ amount_str = float_repr(amount, self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
+ currency = self.pool['res.currency'].browse(cr, uid, currency_id, context=context)
+ currency_str = currency.symbol or currency.name
+ amount = u"%s %s" % ((currency_str, amount_str) if currency.position == 'before' else (amount_str, currency_str))
+ result = u"""
+
+ %%s
+
""" % (amount, payment_header)
+ return result % html_block.decode("utf-8")
+
+ def render_payment_block(self, cr, uid, reference, amount, currency_id, tx_id=None, partner_id=False, partner_values=None, tx_values=None, context=None):
+ html_forms = []
+ acquirer_ids = self.search(cr, uid, [('website_published', '=', True), ('validation', '=', 'automatic')], context=context)
+ for acquirer_id in acquirer_ids:
+ button = self.render(
+ cr, uid, acquirer_id,
+ reference, amount, currency_id,
+ tx_id, partner_id, partner_values, tx_values,
+ context)
+ html_forms.append(button)
+ if not html_forms:
+ return ''
+ html_block = '\n'.join(filter(None, html_forms))
+ return self._wrap_payment_block(cr, uid, html_block, amount, currency_id, context=context)
+
+
+class PaymentTransaction(osv.Model):
+ """ Transaction Model. Each specific acquirer can extend the model by adding
+ its own fields.
+
+ Methods that can be added in an acquirer-specific implementation:
+
+ - ``_create``: method receiving values used when creating a new
+ transaction and that returns a dictionary that will update those values.
+ This method can be used to tweak some transaction values.
+
+ Methods defined for convention, depending on your controllers:
+
+ - ``_form_feedback(self, cr, uid, data, context=None)``: method that
+ handles the data coming from the acquirer after the transaction. It will
+ generally receives data posted by the acquirer after the transaction.
+ """
+ _name = 'payment.transaction'
+ _description = 'Payment Transaction'
+ _inherit = ['mail.thread']
+ _order = 'id desc'
+ _rec_name = 'reference'
+
+ _columns = {
+ 'date_create': fields.datetime('Creation Date', readonly=True, required=True),
+ 'date_validate': fields.datetime('Validation Date'),
+ 'acquirer_id': fields.many2one(
+ 'payment.acquirer', 'Acquirer',
+ required=True,
+ ),
+ 'type': fields.selection(
+ [('server2server', 'Server To Server'), ('form', 'Form')],
+ string='Type', required=True),
+ 'state': fields.selection(
+ [('draft', 'Draft'), ('pending', 'Pending'),
+ ('done', 'Done'), ('error', 'Error'),
+ ('cancel', 'Canceled')
+ ], 'Status', required=True,
+ track_visiblity='onchange'),
+ 'state_message': fields.text('Message',
+ help='Field used to store error and/or validation messages for information'),
+ # payment
+ 'amount': fields.float('Amount', required=True,
+ digits=(16, 2),
+ track_visibility='always',
+ help='Amount in cents'),
+ 'fees': fields.float('Fees',
+ digits=(16, 2),
+ track_visibility='always',
+ help='Fees amount; set by the system because depends on the acquirer'),
+ 'currency_id': fields.many2one('res.currency', 'Currency', required=True),
+ 'reference': fields.char('Order Reference', required=True),
+ 'acquirer_reference': fields.char('Acquirer Order Reference',
+ help='Reference of the TX as stored in the acquirer database'),
+ # duplicate partner / transaction data to store the values at transaction time
+ 'partner_id': fields.many2one('res.partner', 'Partner', track_visibility='onchange',),
+ 'partner_name': fields.char('Partner Name'),
+ 'partner_lang': fields.char('Lang'),
+ 'partner_email': fields.char('Email'),
+ 'partner_zip': fields.char('Zip'),
+ 'partner_address': fields.char('Address'),
+ 'partner_city': fields.char('City'),
+ 'partner_country_id': fields.many2one('res.country', 'Country', required=True),
+ 'partner_phone': fields.char('Phone'),
+ 'partner_reference': fields.char('Partner Reference',
+ help='Reference of the customer in the acquirer database'),
+ }
+
+ _sql_constraints = [
+ ('reference_uniq', 'UNIQUE(reference)', 'The payment transaction reference must be unique!'),
+ ]
+
+ _defaults = {
+ 'date_create': fields.datetime.now,
+ 'type': 'form',
+ 'state': 'draft',
+ 'partner_lang': 'en_US',
+ }
+
+ def create(self, cr, uid, values, context=None):
+ Acquirer = self.pool['payment.acquirer']
+
+ if values.get('partner_id'): # @TDENOTE: not sure
+ values.update(self.on_change_partner_id(cr, uid, None, values.get('partner_id'), context=context)['values'])
+
+ # call custom create method if defined (i.e. ogone_create for ogone)
+ if values.get('acquirer_id'):
+ acquirer = self.pool['payment.acquirer'].browse(cr, uid, values.get('acquirer_id'), context=context)
+
+ # compute fees
+ custom_method_name = '%s_compute_fees' % acquirer.name
+ if hasattr(Acquirer, custom_method_name):
+ fees = getattr(Acquirer, custom_method_name)(
+ cr, uid, acquirer.id, values.get('amount', 0.0), values.get('currency_id'), values.get('country_id'), context=None)
+ values['fees'] = float_round(fees, 2)
+
+ # custom create
+ custom_method_name = '%s_create' % acquirer.name
+ if hasattr(self, custom_method_name):
+ values.update(getattr(self, custom_method_name)(cr, uid, values, context=context))
+
+ return super(PaymentTransaction, self).create(cr, uid, values, context=context)
+
+ def on_change_partner_id(self, cr, uid, ids, partner_id, context=None):
+ partner = None
+ if partner_id:
+ partner = self.pool['res.partner'].browse(cr, uid, partner_id, context=context)
+ return {'values': {
+ 'partner_name': partner and partner.name or False,
+ 'partner_lang': partner and partner.lang or 'en_US',
+ 'partner_email': partner and partner.email or False,
+ 'partner_zip': partner and partner.zip or False,
+ 'partner_address': _partner_format_address(partner and partner.street or '', partner and partner.street2 or ''),
+ 'partner_city': partner and partner.city or False,
+ 'partner_country_id': partner and partner.country_id.id or False,
+ 'partner_phone': partner and partner.phone or False,
+ }}
+
+ # --------------------------------------------------
+ # FORM RELATED METHODS
+ # --------------------------------------------------
+
+ def form_feedback(self, cr, uid, data, acquirer_name, context=None):
+ invalid_parameters, tx = None, None
+
+ tx_find_method_name = '_%s_form_get_tx_from_data' % acquirer_name
+ if hasattr(self, tx_find_method_name):
+ tx = getattr(self, tx_find_method_name)(cr, uid, data, context=context)
+
+ invalid_param_method_name = '_%s_form_get_invalid_parameters' % acquirer_name
+ if hasattr(self, invalid_param_method_name):
+ invalid_parameters = getattr(self, invalid_param_method_name)(cr, uid, tx, data, context=context)
+
+ if invalid_parameters:
+ _error_message = '%s: incorrect tx data:\n' % (acquirer_name)
+ for item in invalid_parameters:
+ _error_message += '\t%s: received %s instead of %s\n' % (item[0], item[1], item[2])
+ _logger.error(_error_message)
+ return False
+
+ feedback_method_name = '_%s_form_validate' % acquirer_name
+ if hasattr(self, feedback_method_name):
+ return getattr(self, feedback_method_name)(cr, uid, tx, data, context=context)
+
+ return True
+
+ # --------------------------------------------------
+ # SERVER2SERVER RELATED METHODS
+ # --------------------------------------------------
+
+ def s2s_create(self, cr, uid, values, cc_values, context=None):
+ tx_id, tx_result = self.s2s_send(cr, uid, values, cc_values, context=context)
+ self.s2s_feedback(cr, uid, tx_id, tx_result, context=context)
+ return tx_id
+
+ def s2s_send(self, cr, uid, values, cc_values, context=None):
+ """ Create and send server-to-server transaction.
+
+ :param dict values: transaction values
+ :param dict cc_values: credit card values that are not stored into the
+ payment.transaction object. Acquirers should
+ handle receiving void or incorrect cc values.
+ Should contain :
+
+ - holder_name
+ - number
+ - cvc
+ - expiry_date
+ - brand
+ - expiry_date_yy
+ - expiry_date_mm
+ """
+ tx_id, result = None, None
+
+ if values.get('acquirer_id'):
+ acquirer = self.pool['payment.acquirer'].browse(cr, uid, values.get('acquirer_id'), context=context)
+ custom_method_name = '_%s_s2s_send' % acquirer.name
+ if hasattr(self, custom_method_name):
+ tx_id, result = getattr(self, custom_method_name)(cr, uid, values, cc_values, context=context)
+
+ if tx_id is None and result is None:
+ tx_id = super(PaymentTransaction, self).create(cr, uid, values, context=context)
+ return (tx_id, result)
+
+ def s2s_feedback(self, cr, uid, tx_id, data, context=None):
+ """ Handle the feedback of a server-to-server transaction. """
+ tx = self.browse(cr, uid, tx_id, context=context)
+ invalid_parameters = None
+
+ invalid_param_method_name = '_%s_s2s_get_invalid_parameters' % tx.acquirer_id.name
+ if hasattr(self, invalid_param_method_name):
+ invalid_parameters = getattr(self, invalid_param_method_name)(cr, uid, tx, data, context=context)
+
+ if invalid_parameters:
+ _error_message = '%s: incorrect tx data:\n' % (tx.acquirer_id.name)
+ for item in invalid_parameters:
+ _error_message += '\t%s: received %s instead of %s\n' % (item[0], item[1], item[2])
+ _logger.error(_error_message)
+ return False
+
+ feedback_method_name = '_%s_s2s_validate' % tx.acquirer_id.name
+ if hasattr(self, feedback_method_name):
+ return getattr(self, feedback_method_name)(cr, uid, tx, data, context=context)
+
+ return True
+
+ def s2s_get_tx_status(self, cr, uid, tx_id, context=None):
+ """ Get the tx status. """
+ tx = self.browse(cr, uid, tx_id, context=context)
+
+ invalid_param_method_name = '_%s_s2s_get_tx_status' % tx.acquirer_id.name
+ if hasattr(self, invalid_param_method_name):
+ return getattr(self, invalid_param_method_name)(cr, uid, tx, context=context)
+
+ return True
diff --git a/addons/payment/models/res_config.py b/addons/payment/models/res_config.py
new file mode 100644
index 00000000000..a0e9b1f7a11
--- /dev/null
+++ b/addons/payment/models/res_config.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+
+from openerp.osv import fields, osv
+
+
+class AccountPaymentConfig(osv.TransientModel):
+ _inherit = 'account.config.settings'
+
+ _columns = {
+ 'module_payment_paypal': fields.boolean(
+ 'Manage Payments Using Paypal',
+ help='Blahblahblah\n'
+ '-It installs the module payment_paypal.'),
+ 'module_payment_ogone': fields.boolean(
+ 'Manage Payments Using Ogone',
+ help='Blahblahblah\n'
+ '-It installs the module payment_ogone.'),
+ 'module_payment_adyen': fields.boolean(
+ 'Manage Payments Using Adyen',
+ help='Blahblahblah\n'
+ '-It installs the module payment_adyen.'),
+ }
diff --git a/addons/payment/security/ir.model.access.csv b/addons/payment/security/ir.model.access.csv
new file mode 100644
index 00000000000..18f98939472
--- /dev/null
+++ b/addons/payment/security/ir.model.access.csv
@@ -0,0 +1,7 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+payment_acquirer_all,payment.acquirer.all,model_payment_acquirer,,1,0,0,0
+payment_acquirer_user,payment.acquirer.user,model_payment_acquirer,base.group_user,1,1,1,0
+payment_acquirer_system,payment.acquirer.system,model_payment_acquirer,base.group_system,1,1,1,1
+payment_transaction_all,payment.transaction.all,model_payment_transaction,,1,1,1,0
+payment_transaction_user,payment.transaction.user,model_payment_transaction,base.group_user,1,1,1,0
+payment_transaction_system,payment.transaction.system,model_payment_transaction,base.group_system,1,1,1,1
\ No newline at end of file
diff --git a/addons/payment/static/description/icon.png b/addons/payment/static/description/icon.png
new file mode 100644
index 00000000000..51e33ac6ddf
Binary files /dev/null and b/addons/payment/static/description/icon.png differ
diff --git a/addons/payment/tests/__init__.py b/addons/payment/tests/__init__.py
new file mode 100644
index 00000000000..5c193a07c8d
--- /dev/null
+++ b/addons/payment/tests/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import common
diff --git a/addons/payment/tests/common.py b/addons/payment/tests/common.py
new file mode 100644
index 00000000000..93a1820a447
--- /dev/null
+++ b/addons/payment/tests/common.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+
+from openerp.tests import common
+
+
+class PaymentAcquirerCommon(common.TransactionCase):
+
+ def setUp(self):
+ super(PaymentAcquirerCommon, self).setUp()
+ self.payment_acquirer = self.registry('payment.acquirer')
+ self.payment_transaction = self.registry('payment.transaction')
+
+ self.currency_euro_id = self.registry('res.currency').search(
+ self.cr, self.uid, [('name', '=', 'EUR')], limit=1)[0]
+ self.currency_euro = self.registry('res.currency').browse(
+ self.cr, self.uid, self.currency_euro_id)
+ self.country_belgium_id = self.registry('res.country').search(
+ self.cr, self.uid, [('code', 'like', 'BE')], limit=1)[0]
+ self.country_france_id = self.registry('res.country').search(
+ self.cr, self.uid, [('code', 'like', 'FR')], limit=1)[0]
+
+ # dict partner values
+ self.buyer_values = {
+ 'name': 'Norbert Buyer',
+ 'lang': 'en_US',
+ 'email': 'norbert.buyer@example.com',
+ 'street': 'Huge Street',
+ 'street2': '2/543',
+ 'phone': '0032 12 34 56 78',
+ 'city': 'Sin City',
+ 'zip': '1000',
+ 'country_id': self.country_belgium_id,
+ 'country_name': 'Belgium',
+ }
+
+ # test partner
+ self.buyer_id = self.registry('res.partner').create(
+ self.cr, self.uid, {
+ 'name': 'Norbert Buyer',
+ 'lang': 'en_US',
+ 'email': 'norbert.buyer@example.com',
+ 'street': 'Huge Street',
+ 'street2': '2/543',
+ 'phone': '0032 12 34 56 78',
+ 'city': 'Sin City',
+ 'zip': '1000',
+ 'country_id': self.country_belgium_id,
+ }
+ )
diff --git a/addons/payment/views/payment_acquirer.xml b/addons/payment/views/payment_acquirer.xml
new file mode 100644
index 00000000000..5dbd748bda7
--- /dev/null
+++ b/addons/payment/views/payment_acquirer.xml
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+ acquirer.form
+ payment.acquirer
+
+
+
+
+
+
+ payment.acquirer
+
+
+
+
+
+
+
+
+
+
+ payment.acquirer
+
+
+
+
+
+
+
+
+ Payment Acquirers
+ payment.acquirer
+ form
+ tree,form
+
+
+
+
+
+ payment.transaction
+
+
+
+
+
+
+ payment.transaction
+
+
+
+
+
+
+
+
+
+
+
+
+ payment.transaction
+
+
+
+
+
+
+
+
+
+
+
+ Payment Transactions
+ payment.transaction
+ form
+ tree,form
+
+
+
+
+
+
diff --git a/addons/payment/views/res_config_view.xml b/addons/payment/views/res_config_view.xml
new file mode 100644
index 00000000000..101acb7c9ee
--- /dev/null
+++ b/addons/payment/views/res_config_view.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+ account.config.settings
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_adyen/__init__.py b/addons/payment_adyen/__init__.py
new file mode 100644
index 00000000000..dde6f25c728
--- /dev/null
+++ b/addons/payment_adyen/__init__.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2013-Today OpenERP SA ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+import models
+import controllers
diff --git a/addons/payment_adyen/__openerp__.py b/addons/payment_adyen/__openerp__.py
new file mode 100644
index 00000000000..14a9f5d50e2
--- /dev/null
+++ b/addons/payment_adyen/__openerp__.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+
+{
+ 'name': 'Adyen Payment Acquirer',
+ 'category': 'Hidden',
+ 'summary': 'Payment Acquirer: Adyen Implementation',
+ 'version': '1.0',
+ 'description': """Adyen Payment Acquirer""",
+ 'author': 'OpenERP SA',
+ 'depends': ['payment'],
+ 'data': [
+ 'views/adyen.xml',
+ 'views/payment_acquirer.xml',
+ 'data/adyen.xml',
+ ],
+ 'installable': True,
+}
diff --git a/addons/payment_adyen/controllers/__init__.py b/addons/payment_adyen/controllers/__init__.py
new file mode 100644
index 00000000000..bbd183e955b
--- /dev/null
+++ b/addons/payment_adyen/controllers/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import main
diff --git a/addons/payment_adyen/controllers/main.py b/addons/payment_adyen/controllers/main.py
new file mode 100644
index 00000000000..e6e74eba9a7
--- /dev/null
+++ b/addons/payment_adyen/controllers/main.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+
+try:
+ import simplejson as json
+except ImportError:
+ import json
+import logging
+import pprint
+import werkzeug
+
+from openerp import http, SUPERUSER_ID
+from openerp.http import request
+
+_logger = logging.getLogger(__name__)
+
+
+class AdyenController(http.Controller):
+ _return_url = '/payment/adyen/return/'
+
+ @http.route([
+ '/payment/adyen/return/',
+ ], type='http', auth='none')
+ def adyen_return(self, pspReference, **post):
+ """ Paypal IPN."""
+ post["pspReference"] = pspReference
+ _logger.info('Beginning Adyen form_feedback with post data %s', pprint.pformat(post)) # debug
+ request.registry['payment.transaction'].form_feedback(request.cr, SUPERUSER_ID, post, 'adyen', context=request.context)
+ return_url = post.pop('return_url', '')
+ if not return_url:
+ custom = json.loads(post.pop('merchantReturnData', '{}'))
+ return_url = custom.pop('return_url', '/')
+ return werkzeug.utils.redirect(return_url)
diff --git a/addons/payment_adyen/data/adyen.xml b/addons/payment_adyen/data/adyen.xml
new file mode 100644
index 00000000000..8f6e7e218e4
--- /dev/null
+++ b/addons/payment_adyen/data/adyen.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ adyen
+
+
+ test
+ You will be redirected to the Adyen website after cliking on the payment button.]]>
+ dummy
+ dummy
+ dummy
+
+
+
+
diff --git a/addons/payment_adyen/models/__init__.py b/addons/payment_adyen/models/__init__.py
new file mode 100644
index 00000000000..fdc540ef04d
--- /dev/null
+++ b/addons/payment_adyen/models/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import adyen
diff --git a/addons/payment_adyen/models/adyen.py b/addons/payment_adyen/models/adyen.py
new file mode 100644
index 00000000000..80103f50dae
--- /dev/null
+++ b/addons/payment_adyen/models/adyen.py
@@ -0,0 +1,180 @@
+# -*- coding: utf-'8' "-*-"
+
+import base64
+try:
+ import simplejson as json
+except ImportError:
+ import json
+from hashlib import sha1
+import hmac
+import logging
+import urlparse
+
+from openerp.addons.payment.models.payment_acquirer import ValidationError
+from openerp.addons.payment_adyen.controllers.main import AdyenController
+from openerp.osv import osv, fields
+from openerp.tools import float_round
+
+_logger = logging.getLogger(__name__)
+
+
+class AcquirerAdyen(osv.Model):
+ _inherit = 'payment.acquirer'
+
+ def _get_adyen_urls(self, cr, uid, env, context=None):
+ """ Adyen URLs
+
+ - yhpp: hosted payment page: pay.shtml for single, select.shtml for multiple
+ """
+ if env == 'prod':
+ return {
+ 'adyen_form_url': 'https://prod.adyen.com/hpp/pay.shtml',
+ }
+ else:
+ return {
+ 'adyen_form_url': 'https://test.adyen.com/hpp/pay.shtml',
+ }
+
+ _columns = {
+ 'adyen_merchant_account': fields.char('Merchant Account', required_if_provider='adyen'),
+ 'adyen_skin_code': fields.char('Skin Code', required_if_provider='adyen'),
+ 'adyen_skin_hmac_key': fields.char('Skin HMAC Key', required_if_provider='adyen'),
+ }
+
+ def _adyen_generate_merchant_sig(self, acquirer, inout, values):
+ """ Generate the shasign for incoming or outgoing communications.
+
+ :param browse acquirer: the payment.acquirer browse record. It should
+ have a shakey in shaky out
+ :param string inout: 'in' (openerp contacting ogone) or 'out' (adyen
+ contacting openerp). In this last case only some
+ fields should be contained (see e-Commerce basic)
+ :param dict values: transaction values
+
+ :return string: shasign
+ """
+ assert inout in ('in', 'out')
+ assert acquirer.name == 'adyen'
+
+ if inout == 'in':
+ keys = "paymentAmount currencyCode shipBeforeDate merchantReference skinCode merchantAccount sessionValidity shopperEmail shopperReference recurringContract allowedMethods blockedMethods shopperStatement merchantReturnData billingAddressType deliveryAddressType offset".split()
+ else:
+ keys = "authResult pspReference merchantReference skinCode paymentMethod shopperLocale merchantReturnData".split()
+
+ def get_value(key):
+ if values.get(key):
+ return values[key]
+ return ''
+
+ sign = ''.join('%s' % get_value(k) for k in keys).encode('ascii')
+ key = acquirer.adyen_skin_hmac_key.encode('ascii')
+ return base64.b64encode(hmac.new(key, sign, sha1).digest())
+
+ def adyen_form_generate_values(self, cr, uid, id, partner_values, tx_values, context=None):
+ base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url')
+ acquirer = self.browse(cr, uid, id, context=context)
+ # tmp
+ import datetime
+ from dateutil import relativedelta
+ tmp_date = datetime.date.today() + relativedelta.relativedelta(days=1)
+
+ adyen_tx_values = dict(tx_values)
+ adyen_tx_values.update({
+ 'merchantReference': tx_values['reference'],
+ 'paymentAmount': '%d' % int(float_round(tx_values['amount'], 2) * 100),
+ 'currencyCode': tx_values['currency'] and tx_values['currency'].name or '',
+ 'shipBeforeDate': tmp_date,
+ 'skinCode': acquirer.adyen_skin_code,
+ 'merchantAccount': acquirer.adyen_merchant_account,
+ 'shopperLocale': partner_values['lang'],
+ 'sessionValidity': tmp_date,
+ 'resURL': '%s' % urlparse.urljoin(base_url, AdyenController._return_url),
+ })
+ if adyen_tx_values.get('return_url'):
+ adyen_tx_values['merchantReturnData'] = json.dumps({'return_url': '%s' % adyen_tx_values.pop('return_url')})
+ adyen_tx_values['merchantSig'] = self._adyen_generate_merchant_sig(acquirer, 'in', adyen_tx_values)
+ return partner_values, adyen_tx_values
+
+ def adyen_get_form_action_url(self, cr, uid, id, context=None):
+ acquirer = self.browse(cr, uid, id, context=context)
+ return self._get_adyen_urls(cr, uid, acquirer.env, context=context)['adyen_form_url']
+
+
+class TxAdyen(osv.Model):
+ _inherit = 'payment.transaction'
+
+ _columns = {
+ 'adyen_psp_reference': fields.char('Adyen PSP Reference'),
+ }
+
+ # --------------------------------------------------
+ # FORM RELATED METHODS
+ # --------------------------------------------------
+
+ def _adyen_form_get_tx_from_data(self, cr, uid, data, context=None):
+ reference, pspReference = data.get('merchantReference'), data.get('pspReference')
+ if not reference or not pspReference:
+ error_msg = 'Adyen: received data with missing reference (%s) or missing pspReference (%s)' % (reference, pspReference)
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+
+ # find tx -> @TDENOTE use pspReference ?
+ tx_ids = self.pool['payment.transaction'].search(cr, uid, [('reference', '=', reference)], context=context)
+ if not tx_ids or len(tx_ids) > 1:
+ error_msg = 'Adyen: received data for reference %s' % (reference)
+ if not tx_ids:
+ error_msg += '; no order found'
+ else:
+ error_msg += '; multiple order found'
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+ tx = self.pool['payment.transaction'].browse(cr, uid, tx_ids[0], context=context)
+
+ # verify shasign
+ shasign_check = self.pool['payment.acquirer']._adyen_generate_merchant_sig(tx.acquirer_id, 'out', data)
+ if shasign_check != data.get('merchantSig'):
+ error_msg = 'Adyen: invalid merchantSig, received %s, computed %s' % (data.get('merchantSig'), shasign_check)
+ _logger.warning(error_msg)
+ # raise ValidationError(error_msg)
+
+ return tx
+
+ def _adyen_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ invalid_parameters = []
+
+ # reference at acquirer: pspReference
+ if tx.acquirer_reference and data.get('pspReference') != tx.acquirer_reference:
+ invalid_parameters.append(('pspReference', data.get('pspReference'), tx.acquirer_reference))
+ # seller
+ if data.get('skinCode') != tx.acquirer_id.adyen_skin_code:
+ invalid_parameters.append(('skinCode', data.get('skinCode'), tx.acquirer_id.adyen_skin_code))
+ # result
+ if not data.get('authResult'):
+ invalid_parameters.append(('authResult', data.get('authResult'), 'something'))
+
+ return invalid_parameters
+
+ def _adyen_form_validate(self, cr, uid, tx, data, context=None):
+ status = data.get('authResult', 'PENDING')
+ if status == 'AUTHORISED':
+ tx.write({
+ 'state': 'done',
+ 'adyen_psp_reference': data.get('pspReference'),
+ # 'date_validate': data.get('payment_date', fields.datetime.now()),
+ # 'paypal_txn_type': data.get('express_checkout')
+ })
+ return True
+ elif status == 'PENDING':
+ tx.write({
+ 'state': 'pending',
+ 'adyen_psp_reference': data.get('pspReference'),
+ })
+ return True
+ else:
+ error = 'Paypal: feedback error'
+ _logger.info(error)
+ tx.write({
+ 'state': 'error',
+ 'state_message': error
+ })
+ return False
diff --git a/addons/payment_adyen/static/description/icon.png b/addons/payment_adyen/static/description/icon.png
new file mode 100644
index 00000000000..e1889808855
Binary files /dev/null and b/addons/payment_adyen/static/description/icon.png differ
diff --git a/addons/payment_adyen/static/src/img/adyen_icon.png b/addons/payment_adyen/static/src/img/adyen_icon.png
new file mode 100644
index 00000000000..90d492c3fe9
Binary files /dev/null and b/addons/payment_adyen/static/src/img/adyen_icon.png differ
diff --git a/addons/payment_adyen/static/src/img/logo.png b/addons/payment_adyen/static/src/img/logo.png
new file mode 100644
index 00000000000..e1889808855
Binary files /dev/null and b/addons/payment_adyen/static/src/img/logo.png differ
diff --git a/addons/payment_adyen/tests/__init__.py b/addons/payment_adyen/tests/__init__.py
new file mode 100644
index 00000000000..8c8e8249184
--- /dev/null
+++ b/addons/payment_adyen/tests/__init__.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+
+# from . import test_adyen
+
+checks = [
+ # test_adyen,
+]
diff --git a/addons/payment_adyen/tests/test_adyen.py b/addons/payment_adyen/tests/test_adyen.py
new file mode 100644
index 00000000000..c071e682a3d
--- /dev/null
+++ b/addons/payment_adyen/tests/test_adyen.py
@@ -0,0 +1,101 @@
+# -*- coding: utf-8 -*-
+
+from lxml import objectify
+import urlparse
+
+from openerp.addons.payment.models.payment_acquirer import ValidationError
+from openerp.addons.payment.tests.common import PaymentAcquirerCommon
+from openerp.addons.payment_adyen.controllers.main import AdyenController
+from openerp.osv.orm import except_orm
+from openerp.tools import mute_logger
+
+
+class AdyenCommon(PaymentAcquirerCommon):
+
+ def setUp(self):
+ super(AdyenCommon, self).setUp()
+ cr, uid = self.cr, self.uid
+ self.base_url = self.registry('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+
+ # get the adyen account
+ model, self.adyen_id = self.registry('ir.model.data').get_object_reference(cr, uid, 'payment_adyen', 'payment_acquirer_adyen')
+
+ # some CC (always use expiration date 06 / 2016, cvc 737, cid 7373 (amex))
+ self.amex = (('370000000000002', '7373'))
+ self.dinersclub = (('36006666333344', '737'))
+ self.discover = (('6011601160116611', '737'), ('644564456445644', '737'))
+ self.jcb = (('3530111333300000', '737'))
+ self.mastercard = (('5555444433331111', '737'), ('5555555555554444', '737'))
+ self.visa = (('4111 1111 1111 1111', '737'), ('4444333322221111', '737'))
+ self.mcdebit = (('5500000000000004', '737'))
+ self.visadebit = (('4400000000000008', '737'))
+ self.maestro = (('6731012345678906', '737'))
+ self.laser = (('630495060000000000', '737'))
+ self.hipercard = (('6062828888666688', '737'))
+ self.dsmastercard = (('521234567890 1234', '737', 'user', 'password'))
+ self.dsvisa = (('4212345678901237', '737', 'user', 'password'))
+ self.mistercash = (('6703444444444449', None, 'user', 'password'))
+
+
+class AdyenServer2Server(AdyenCommon):
+
+ def test_00_tx_management(self):
+ cr, uid, context = self.cr, self.uid, {}
+
+
+class AdyenForm(AdyenCommon):
+
+ def test_10_adyen_form_render(self):
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid things
+ adyen = self.payment_acquirer.browse(self.cr, self.uid, self.adyen_id, None)
+ self.assertEqual(adyen.env, 'test', 'test without test env')
+
+ # ----------------------------------------
+ # Test: button direct rendering
+ # ----------------------------------------
+
+ form_values = {
+ 'merchantAccount': 'OpenERPCOM',
+ 'merchantReference': 'test_ref0',
+ 'skinCode': 'cbqYWvVL',
+ 'paymentAmount': '1',
+ 'currencyCode': 'EUR',
+ 'resURL': '%s' % urlparse.urljoin(self.base_url, AdyenController._return_url),
+ }
+
+ # render the button
+ res = self.payment_acquirer.render(
+ cr, uid, self.adyen_id,
+ 'test_ref0', 0.01, self.currency_euro_id,
+ partner_id=None,
+ partner_values=self.buyer_values,
+ context=context)
+
+ # check form result
+ tree = objectify.fromstring(res)
+ self.assertEqual(tree.get('action'), 'https://test.adyen.com/hpp/pay.shtml', 'adyen: wrong form POST url')
+ for form_input in tree.input:
+ if form_input.get('name') in ['submit', 'shipBeforeDate', 'sessionValidity', 'shopperLocale', 'merchantSig']:
+ continue
+ self.assertEqual(
+ form_input.get('value'),
+ form_values[form_input.get('name')],
+ 'adyen: wrong value for input %s: received %s instead of %s' % (form_input.get('name'), form_input.get('value'), form_values[form_input.get('name')])
+ )
+
+ # @mute_logger('openerp.addons.payment_adyen.models.adyen', 'ValidationError')
+ # def test_20_paypal_form_management(self):
+ # cr, uid, context = self.cr, self.uid, {}
+ # # be sure not to do stupid things
+ # adyen = self.payment_acquirer.browse(self.cr, self.uid, self.adyen_id, None)
+ # self.assertEqual(adyen.env, 'test', 'test without test env')
+
+# {'authResult': u'AUTHORISED',
+# 'merchantReference': u'SO014',
+# 'merchantReturnData': u'return_url=/shop/payment/validate',
+# 'merchantSig': u'GaLRO8aMHFaQX3gQ5BVP/YETzeA=',
+# 'paymentMethod': u'visa',
+# 'pspReference': u'8813859935907337',
+# 'shopperLocale': u'en_US',
+# 'skinCode': u'cbqYWvVL'}
\ No newline at end of file
diff --git a/addons/payment_adyen/views/adyen.xml b/addons/payment_adyen/views/adyen.xml
new file mode 100644
index 00000000000..75e166f92fe
--- /dev/null
+++ b/addons/payment_adyen/views/adyen.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_adyen/views/payment_acquirer.xml b/addons/payment_adyen/views/payment_acquirer.xml
new file mode 100644
index 00000000000..1510a110c43
--- /dev/null
+++ b/addons/payment_adyen/views/payment_acquirer.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+ acquirer.form.adyen
+ payment.acquirer
+
+
+
+
+
+
+
+
+
+
+
+
+
+ acquirer.transaction.form.adyen
+ payment.transaction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_ogone/__init__.py b/addons/payment_ogone/__init__.py
new file mode 100644
index 00000000000..dde6f25c728
--- /dev/null
+++ b/addons/payment_ogone/__init__.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2013-Today OpenERP SA ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+import models
+import controllers
diff --git a/addons/payment_ogone/__openerp__.py b/addons/payment_ogone/__openerp__.py
new file mode 100644
index 00000000000..6b4411da7f4
--- /dev/null
+++ b/addons/payment_ogone/__openerp__.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+
+{
+ 'name': 'Ogone Payment Acquirer',
+ 'category': 'Hidden',
+ 'summary': 'Payment Acquirer: Ogone Implementation',
+ 'version': '1.0',
+ 'description': """Ogone Payment Acquirer""",
+ 'author': 'OpenERP SA',
+ 'depends': ['payment'],
+ 'data': [
+ 'views/ogone.xml',
+ 'views/payment_acquirer.xml',
+ 'data/ogone.xml',
+ ],
+ 'installable': True,
+}
diff --git a/addons/payment_ogone/controllers/__init__.py b/addons/payment_ogone/controllers/__init__.py
new file mode 100644
index 00000000000..bbd183e955b
--- /dev/null
+++ b/addons/payment_ogone/controllers/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import main
diff --git a/addons/payment_ogone/controllers/main.py b/addons/payment_ogone/controllers/main.py
new file mode 100644
index 00000000000..f93c913ed1d
--- /dev/null
+++ b/addons/payment_ogone/controllers/main.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+import logging
+import pprint
+import werkzeug
+
+from openerp import http, SUPERUSER_ID
+from openerp.http import request
+
+_logger = logging.getLogger(__name__)
+
+
+class OgoneController(http.Controller):
+ _accept_url = '/payment/ogone/test/accept'
+ _decline_url = '/payment/ogone/test/decline'
+ _exception_url = '/payment/ogone/test/exception'
+ _cancel_url = '/payment/ogone/test/cancel'
+
+ @http.route([
+ '/payment/ogone/accept', '/payment/ogone/test/accept',
+ '/payment/ogone/decline', '/payment/ogone/test/decline',
+ '/payment/ogone/exception', '/payment/ogone/test/exception',
+ '/payment/ogone/cancel', '/payment/ogone/test/cancel',
+ ], type='http', auth='none')
+ def ogone_form_feedback(self, **post):
+ """ Ogone contacts using GET, at least for accept """
+ _logger.info('Ogone: entering form_feedback with post data %s', pprint.pformat(post)) # debug
+ cr, uid, context = request.cr, SUPERUSER_ID, request.context
+ request.registry['payment.transaction'].form_feedback(cr, uid, post, 'ogone', context=context)
+ return werkzeug.utils.redirect(post.pop('return_url', '/'))
diff --git a/addons/payment_ogone/data/__init__.py b/addons/payment_ogone/data/__init__.py
new file mode 100644
index 00000000000..349d8f668e8
--- /dev/null
+++ b/addons/payment_ogone/data/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import ogone
diff --git a/addons/payment_ogone/data/ogone.py b/addons/payment_ogone/data/ogone.py
new file mode 100644
index 00000000000..3a2500ee24b
--- /dev/null
+++ b/addons/payment_ogone/data/ogone.py
@@ -0,0 +1,497 @@
+# -*- coding: utf-8 -*-
+
+OGONE_ERROR_MAP = {
+ '0020001001': "Authorization failed, please retry",
+ '0020001002': "Authorization failed, please retry",
+ '0020001003': "Authorization failed, please retry",
+ '0020001004': "Authorization failed, please retry",
+ '0020001005': "Authorization failed, please retry",
+ '0020001006': "Authorization failed, please retry",
+ '0020001007': "Authorization failed, please retry",
+ '0020001008': "Authorization failed, please retry",
+ '0020001009': "Authorization failed, please retry",
+ '0020001010': "Authorization failed, please retry",
+ '0030001999': "Our payment system is currently under maintenance, please try later",
+ '0050001005': "Expiry date error",
+ '0050001007': "Requested Operation code not allowed",
+ '0050001008': "Invalid delay value",
+ '0050001010': "Input date in invalid format",
+ '0050001013': "Unable to parse socket input stream",
+ '0050001014': "Error in parsing stream content",
+ '0050001015': "Currency error",
+ '0050001016': "Transaction still posted at end of wait",
+ '0050001017': "Sync value not compatible with delay value",
+ '0050001019': "Transaction duplicate of a pre-existing transaction",
+ '0050001020': "Acceptation code empty while required for the transaction",
+ '0050001024': "Maintenance acquirer differs from original transaction acquirer",
+ '0050001025': "Maintenance merchant differs from original transaction merchant",
+ '0050001028': "Maintenance operation not accurate for the original transaction",
+ '0050001031': "Host application unknown for the transaction",
+ '0050001032': "Unable to perform requested operation with requested currency",
+ '0050001033': "Maintenance card number differs from original transaction card number",
+ '0050001034': "Operation code not allowed",
+ '0050001035': "Exception occurred in socket input stream treatment",
+ '0050001036': "Card length does not correspond to an acceptable value for the brand",
+ '0050001036': "Card length does not correspond to an acceptable value for the brand",
+ '0050001068': "A technical problem occurred, please contact helpdesk",
+ '0050001069': "Invalid check for CardID and Brand",
+ '0050001070': "A technical problem occurred, please contact helpdesk",
+ '0050001116': "Unknown origin IP",
+ '0050001117': "No origin IP detected",
+ '0050001118': "Merchant configuration problem, please contact support",
+ '10001001': "Communication failure",
+ '10001002': "Communication failure",
+ '10001003': "Communication failure",
+ '10001004': "Communication failure",
+ '10001005': "Communication failure",
+ '20001001': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001002': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001003': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001004': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001005': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001006': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001007': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001008': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001009': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001010': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001101': "A technical problem occurred, please contact helpdesk",
+ '20001105': "We received an unknown status for the transaction. We will contact your acquirer and update the status of the transaction within one working day. Please check the status later.",
+ '20001111': "A technical problem occurred, please contact helpdesk",
+ '20002001': "Origin for the response of the bank can not be checked",
+ '20002002': "Beneficiary account number has been modified during processing",
+ '20002003': "Amount has been modified during processing",
+ '20002004': "Currency has been modified during processing",
+ '20002005': "No feedback from the bank server has been detected",
+ '30001001': "Payment refused by the acquirer",
+ '30001002': "Duplicate request",
+ '30001010': "A technical problem occurred, please contact helpdesk",
+ '30001011': "A technical problem occurred, please contact helpdesk",
+ '30001012': "Card black listed - Contact acquirer",
+ '30001015': "Your merchant's acquirer is temporarily unavailable, please try later or choose another payment method.",
+ '30001051': "A technical problem occurred, please contact helpdesk",
+ '30001054': "A technical problem occurred, please contact helpdesk",
+ '30001057': "Your merchant's acquirer is temporarily unavailable, please try later or choose another payment method.",
+ '30001058': "Your merchant's acquirer is temporarily unavailable, please try later or choose another payment method.",
+ '30001060': "Aquirer indicates that a failure occured during payment processing",
+ '30001070': "RATEPAY Invalid Response Type (Failure)",
+ '30001071': "RATEPAY Missing Mandatory status code field (failure)",
+ '30001072': "RATEPAY Missing Mandatory Result code field (failure)",
+ '30001073': "RATEPAY Response parsing Failed",
+ '30001090': "CVC check required by front end and returned invalid by acquirer",
+ '30001091': "ZIP check required by front end and returned invalid by acquirer",
+ '30001092': "Address check required by front end and returned as invalid by acquirer.",
+ '30001100': "Unauthorized buyer's country",
+ '30001101': "IP country <> card country",
+ '30001102': "Number of different countries too high",
+ '30001103': "unauthorized card country",
+ '30001104': "unauthorized ip address country",
+ '30001105': "Anonymous proxy",
+ '30001110': "If the problem persists, please contact Support, or go to paysafecard's card balance page (https://customer.cc.at.paysafecard.com/psccustomer/GetWelcomePanelServlet?language=en) to see when the amount reserved on your card will be available again.",
+ '30001120': "IP address in merchant's black list",
+ '30001130': "BIN in merchant's black list",
+ '30001131': "Wrong BIN for 3xCB",
+ '30001140': "Card in merchant's card blacklist",
+ '30001141': "Email in blacklist",
+ '30001142': "Passenger name in blacklist",
+ '30001143': "Card holder name in blacklist",
+ '30001144': "Passenger name different from owner name",
+ '30001145': "Time to departure too short",
+ '30001149': "Card Configured in Card Supplier Limit for another relation (CSL)",
+ '30001150': "Card not configured in the system for this customer (CSL)",
+ '30001151': "REF1 not allowed for this relationship (Contract number",
+ '30001152': "Card/Supplier Amount limit reached (CSL)",
+ '30001153': "Card not allowed for this supplier (Date out of contract bounds)",
+ '30001154': "You have reached the usage limit allowed",
+ '30001155': "You have reached the usage limit allowed",
+ '30001156': "You have reached the usage limit allowed",
+ '30001157': "Unauthorized IP country for itinerary",
+ '30001158': "email usage limit reached",
+ '30001159': "Unauthorized card country/IP country combination",
+ '30001160': "Postcode in highrisk group",
+ '30001161': "generic blacklist match",
+ '30001162': "Billing Address is a PO Box",
+ '30001180': "maximum scoring reached",
+ '30001997': "Authorization canceled by simulation",
+ '30001998': "A technical problem occurred, please try again.",
+ '30001999': "Your merchant's acquirer is temporarily unavailable, please try later or choose another payment method.",
+ '30002001': "Payment refused by the financial institution",
+ '30002001': "Payment refused by the financial institution",
+ '30021001': "Call acquirer support call number.",
+ '30022001': "Payment must be approved by the acquirer before execution.",
+ '30031001': "Invalid merchant number.",
+ '30041001': "Retain card.",
+ '30051001': "Authorization declined",
+ '30071001': "Retain card - special conditions.",
+ '30121001': "Invalid transaction",
+ '30131001': "Invalid amount",
+ '30131002': "You have reached the total amount allowed",
+ '30141001': "Invalid card number",
+ '30151001': "Unknown acquiring institution.",
+ '30171001': "Payment method cancelled by the buyer",
+ '30171002': "The maximum time allowed is elapsed.",
+ '30191001': "Try again later.",
+ '30201001': "A technical problem occurred, please contact helpdesk",
+ '30301001': "Invalid format",
+ '30311001': "Unknown acquirer ID.",
+ '30331001': "Card expired.",
+ '30341001': "Suspicion of fraud.",
+ '30341002': "Suspicion of fraud (3rdMan)",
+ '30341003': "Suspicion of fraud (Perseuss)",
+ '30341004': "Suspicion of fraud (ETHOCA)",
+ '30381001': "A technical problem occurred, please contact helpdesk",
+ '30401001': "Invalid function.",
+ '30411001': "Lost card.",
+ '30431001': "Stolen card, pick up",
+ '30511001': "Insufficient funds.",
+ '30521001': "No Authorization. Contact the issuer of your card.",
+ '30541001': "Card expired.",
+ '30551001': "Invalid PIN.",
+ '30561001': "Card not in authorizer's database.",
+ '30571001': "Transaction not permitted on card.",
+ '30581001': "Transaction not allowed on this terminal",
+ '30591001': "Suspicion of fraud.",
+ '30601001': "The merchant must contact the acquirer.",
+ '30611001': "Amount exceeds card ceiling.",
+ '30621001': "Restricted card.",
+ '30631001': "Security policy not respected.",
+ '30641001': "Amount changed from ref. trn.",
+ '30681001': "Tardy response.",
+ '30751001': "PIN entered incorrectly too often",
+ '30761001': "Card holder already contesting.",
+ '30771001': "PIN entry required.",
+ '30811001': "Message flow error.",
+ '30821001': "Authorization center unavailable",
+ '30831001': "Authorization center unavailable",
+ '30901001': "Temporary system shutdown.",
+ '30911001': "Acquirer unavailable.",
+ '30921001': "Invalid card type for acquirer.",
+ '30941001': "Duplicate transaction",
+ '30961001': "Processing temporarily not possible",
+ '30971001': "A technical problem occurred, please contact helpdesk",
+ '30981001': "A technical problem occurred, please contact helpdesk",
+ '31011001': "Unknown acceptance code",
+ '31021001': "Invalid currency",
+ '31031001': "Acceptance code missing",
+ '31041001': "Inactive card",
+ '31051001': "Merchant not active",
+ '31061001': "Invalid expiration date",
+ '31071001': "Interrupted host communication",
+ '31081001': "Card refused",
+ '31091001': "Invalid password",
+ '31101001': "Plafond transaction (majoré du bonus) dépassé",
+ '31111001': "Plafond mensuel (majoré du bonus) dépassé",
+ '31121001': "Plafond centre de facturation dépassé",
+ '31131001': "Plafond entreprise dépassé",
+ '31141001': "Code MCC du fournisseur non autorisé pour la carte",
+ '31151001': "Numéro SIRET du fournisseur non autorisé pour la carte",
+ '31161001': "This is not a valid online banking account",
+ '32001004': "A technical problem occurred, please try again.",
+ '34011001': "Bezahlung mit RatePAY nicht möglich.",
+ '39991001': "A technical problem occurred, please contact the helpdesk of your acquirer",
+ '40001001': "A technical problem occurred, please try again.",
+ '40001002': "A technical problem occurred, please try again.",
+ '40001003': "A technical problem occurred, please try again.",
+ '40001004': "A technical problem occurred, please try again.",
+ '40001005': "A technical problem occurred, please try again.",
+ '40001006': "A technical problem occurred, please try again.",
+ '40001007': "A technical problem occurred, please try again.",
+ '40001008': "A technical problem occurred, please try again.",
+ '40001009': "A technical problem occurred, please try again.",
+ '40001010': "A technical problem occurred, please try again.",
+ '40001011': "A technical problem occurred, please contact helpdesk",
+ '40001012': "Your merchant's acquirer is temporarily unavailable, please try later or choose another payment method.",
+ '40001013': "A technical problem occurred, please contact helpdesk",
+ '40001016': "A technical problem occurred, please contact helpdesk",
+ '40001018': "A technical problem occurred, please try again.",
+ '40001019': "Sorry, an error occurred during processing. Please retry the operation (use back button of the browser). If problem persists, contact your merchant's helpdesk.",
+ '40001020': "Sorry, an error occurred during processing. Please retry the operation (use back button of the browser). If problem persists, contact your merchant's helpdesk.",
+ '40001050': "A technical problem occurred, please contact helpdesk",
+ '40001133': "Authentication failed, the signature of your bank access control server is incorrect",
+ '40001134': "Authentication failed, please retry or cancel.",
+ '40001135': "Authentication temporary unavailable, please retry or cancel.",
+ '40001136': "Technical problem with your browser, please retry or cancel",
+ '40001137': "Your bank access control server is temporary unavailable, please retry or cancel",
+ '40001998': "Temporary technical problem. Please retry a little bit later.",
+ '50001001': "Unknown card type",
+ '50001002': "Card number format check failed for given card number.",
+ '50001003': "Merchant data error",
+ '50001004': "Merchant identification missing",
+ '50001005': "Expiry date error",
+ '50001006': "Amount is not a number",
+ '50001007': "A technical problem occurred, please contact helpdesk",
+ '50001008': "A technical problem occurred, please contact helpdesk",
+ '50001009': "A technical problem occurred, please contact helpdesk",
+ '50001010': "A technical problem occurred, please contact helpdesk",
+ '50001011': "Brand not supported for that merchant",
+ '50001012': "A technical problem occurred, please contact helpdesk",
+ '50001013': "A technical problem occurred, please contact helpdesk",
+ '50001014': "A technical problem occurred, please contact helpdesk",
+ '50001015': "Invalid currency code",
+ '50001016': "A technical problem occurred, please contact helpdesk",
+ '50001017': "A technical problem occurred, please contact helpdesk",
+ '50001018': "A technical problem occurred, please contact helpdesk",
+ '50001019': "A technical problem occurred, please contact helpdesk",
+ '50001020': "A technical problem occurred, please contact helpdesk",
+ '50001021': "A technical problem occurred, please contact helpdesk",
+ '50001022': "A technical problem occurred, please contact helpdesk",
+ '50001023': "A technical problem occurred, please contact helpdesk",
+ '50001024': "A technical problem occurred, please contact helpdesk",
+ '50001025': "A technical problem occurred, please contact helpdesk",
+ '50001026': "A technical problem occurred, please contact helpdesk",
+ '50001027': "A technical problem occurred, please contact helpdesk",
+ '50001028': "A technical problem occurred, please contact helpdesk",
+ '50001029': "A technical problem occurred, please contact helpdesk",
+ '50001030': "A technical problem occurred, please contact helpdesk",
+ '50001031': "A technical problem occurred, please contact helpdesk",
+ '50001032': "A technical problem occurred, please contact helpdesk",
+ '50001033': "A technical problem occurred, please contact helpdesk",
+ '50001034': "A technical problem occurred, please contact helpdesk",
+ '50001035': "A technical problem occurred, please contact helpdesk",
+ '50001036': "Card length does not correspond to an acceptable value for the brand",
+ '50001037': "Purchasing card number for a regular merchant",
+ '50001038': "Non Purchasing card for a Purchasing card merchant",
+ '50001039': "Details sent for a non-Purchasing card merchant, please contact helpdesk",
+ '50001040': "Details not sent for a Purchasing card transaction, please contact helpdesk",
+ '50001041': "Payment detail validation failed",
+ '50001042': "Given transactions amounts (tax,discount,shipping,net,etc…) do not compute correctly together",
+ '50001043': "A technical problem occurred, please contact helpdesk",
+ '50001044': "No acquirer configured for this operation",
+ '50001045': "No UID configured for this operation",
+ '50001046': "Operation not allowed for the merchant",
+ '50001047': "A technical problem occurred, please contact helpdesk",
+ '50001048': "A technical problem occurred, please contact helpdesk",
+ '50001049': "A technical problem occurred, please contact helpdesk",
+ '50001050': "A technical problem occurred, please contact helpdesk",
+ '50001051': "A technical problem occurred, please contact helpdesk",
+ '50001052': "A technical problem occurred, please contact helpdesk",
+ '50001053': "A technical problem occurred, please contact helpdesk",
+ '50001054': "Card number incorrect or incompatible",
+ '50001055': "A technical problem occurred, please contact helpdesk",
+ '50001056': "A technical problem occurred, please contact helpdesk",
+ '50001057': "A technical problem occurred, please contact helpdesk",
+ '50001058': "A technical problem occurred, please contact helpdesk",
+ '50001059': "A technical problem occurred, please contact helpdesk",
+ '50001060': "A technical problem occurred, please contact helpdesk",
+ '50001061': "A technical problem occurred, please contact helpdesk",
+ '50001062': "A technical problem occurred, please contact helpdesk",
+ '50001063': "Card Issue Number does not correspond to range or not present",
+ '50001064': "Start Date not valid or not present",
+ '50001066': "Format of CVC code invalid",
+ '50001067': "The merchant is not enrolled for 3D-Secure",
+ '50001068': "The card number or account number (PAN) is invalid",
+ '50001069': "Invalid check for CardID and Brand",
+ '50001070': "The ECI value given is either not supported, or in conflict with other data in the transaction",
+ '50001071': "Incomplete TRN demat",
+ '50001072': "Incomplete PAY demat",
+ '50001073': "No demat APP",
+ '50001074': "Authorisation too old",
+ '50001075': "VERRes was an error message",
+ '50001076': "DCP amount greater than authorisation amount",
+ '50001077': "Details negative amount",
+ '50001078': "Details negative quantity",
+ '50001079': "Could not decode/decompress received PARes (3D-Secure)",
+ '50001080': "Received PARes was an erereor message from ACS (3D-Secure)",
+ '50001081': "Received PARes format was invalid according to the 3DS specifications (3D-Secure)",
+ '50001082': "PAReq/PARes reconciliation failure (3D-Secure)",
+ '50001084': "Maximum amount reached",
+ '50001087': "The transaction type requires authentication, please check with your bank.",
+ '50001090': "CVC missing at input, but CVC check asked",
+ '50001091': "ZIP missing at input, but ZIP check asked",
+ '50001092': "Address missing at input, but Address check asked",
+ '50001095': "Invalid date of birth",
+ '50001096': "Invalid commodity code",
+ '50001097': "The requested currency and brand are incompatible.",
+ '50001111': "Data validation error",
+ '50001113': "This order has already been processed",
+ '50001114': "Error pre-payment check page access",
+ '50001115': "Request not received in secure mode",
+ '50001116': "Unknown IP address origin",
+ '50001117': "NO IP address origin",
+ '50001118': "Pspid not found or not correct",
+ '50001119': "Password incorrect or disabled due to numbers of errors",
+ '50001120': "Invalid currency",
+ '50001121': "Invalid number of decimals for the currency",
+ '50001122': "Currency not accepted by the merchant",
+ '50001123': "Card type not active",
+ '50001124': "Number of lines don't match with number of payments",
+ '50001125': "Format validation error",
+ '50001126': "Overflow in data capture requests for the original order",
+ '50001127': "The original order is not in a correct status",
+ '50001128': "missing authorization code for unauthorized order",
+ '50001129': "Overflow in refunds requests",
+ '50001130': "Error access to original order",
+ '50001131': "Error access to original history item",
+ '50001132': "The Selected Catalog is empty",
+ '50001133': "Duplicate request",
+ '50001134': "Authentication failed, please retry or cancel.",
+ '50001135': "Authentication temporary unavailable, please retry or cancel.",
+ '50001136': "Technical problem with your browser, please retry or cancel",
+ '50001137': "Your bank access control server is temporary unavailable, please retry or cancel",
+ '50001150': "Fraud Detection, Technical error (IP not valid)",
+ '50001151': "Fraud detection : technical error (IPCTY unknown or error)",
+ '50001152': "Fraud detection : technical error (CCCTY unknown or error)",
+ '50001153': "Overflow in redo-authorisation requests",
+ '50001170': "Dynamic BIN check failed",
+ '50001171': "Dynamic country check failed",
+ '50001172': "Error in Amadeus signature",
+ '50001174': "Card Holder Name is too long",
+ '50001175': "Name contains invalid characters",
+ '50001176': "Card number is too long",
+ '50001177': "Card number contains non-numeric info",
+ '50001178': "Card Number Empty",
+ '50001179': "CVC too long",
+ '50001180': "CVC contains non-numeric info",
+ '50001181': "Expiration date contains non-numeric info",
+ '50001182': "Invalid expiration month",
+ '50001183': "Expiration date must be in the future",
+ '50001184': "SHA Mismatch",
+ '50001205': "Missing mandatory fields for billing address.",
+ '50001206': "Missing mandatory field date of birth.",
+ '50001207': "Missing required shopping basket details.",
+ '50001208': "Missing social security number",
+ '50001209': "Invalid country code",
+ '50001210': "Missing yearly salary",
+ '50001211': "Missing gender",
+ '50001212': "Missing email",
+ '50001213': "Missing IP address",
+ '50001214': "Missing part payment campaign ID",
+ '50001215': "Missing invoice number",
+ '50001216': "The alias must be different than the card number",
+ '60000001': "account number unknown",
+ '60000003': "not credited dd-mm-yy",
+ '60000005': "name/number do not correspond",
+ '60000007': "account number blocked",
+ '60000008': "specific direct debit block",
+ '60000009': "account number WKA",
+ '60000010': "administrative reason",
+ '60000011': "account number expired",
+ '60000012': "no direct debit authorisation given",
+ '60000013': "debit not approved",
+ '60000014': "double payment",
+ '60000018': "name/address/city not entered",
+ '60001001': "no original direct debit for revocation",
+ '60001002': "payer’s account number format error",
+ '60001004': "payer’s account at different bank",
+ '60001005': "payee’s account at different bank",
+ '60001006': "payee’s account number format error",
+ '60001007': "payer’s account number blocked",
+ '60001008': "payer’s account number expired",
+ '60001009': "payee’s account number expired",
+ '60001010': "direct debit not possible",
+ '60001011': "creditor payment not possible",
+ '60001012': "payer’s account number unknown WKA-number",
+ '60001013': "payee’s account number unknown WKA-number",
+ '60001014': "impermissible WKA transaction",
+ '60001015': "period for revocation expired",
+ '60001017': "reason for revocation not correct",
+ '60001018': "original run number not numeric",
+ '60001019': "payment ID incorrect",
+ '60001020': "amount not numeric",
+ '60001021': "amount zero not permitted",
+ '60001022': "negative amount not permitted",
+ '60001023': "payer and payee giro account number",
+ '60001025': "processing code (verwerkingscode) incorrect",
+ '60001028': "revocation not permitted",
+ '60001029': "guaranteed direct debit on giro account number",
+ '60001030': "NBC transaction type incorrect",
+ '60001031': "description too large",
+ '60001032': "book account number not issued",
+ '60001034': "book account number incorrect",
+ '60001035': "payer’s account number not numeric",
+ '60001036': "payer’s account number not eleven-proof",
+ '60001037': "payer’s account number not issued",
+ '60001039': "payer’s account number of DNB/BGC/BLA",
+ '60001040': "payee’s account number not numeric",
+ '60001041': "payee’s account number not eleven-proof",
+ '60001042': "payee’s account number not issued",
+ '60001044': "payee’s account number unknown",
+ '60001050': "payee’s name missing",
+ '60001051': "indicate payee’s bank account number instead of 3102",
+ '60001052': "no direct debit contract",
+ '60001053': "amount beyond bounds",
+ '60001054': "selective direct debit block",
+ '60001055': "original run number unknown",
+ '60001057': "payer’s name missing",
+ '60001058': "payee’s account number missing",
+ '60001059': "restore not permitted",
+ '60001060': "bank’s reference (navraaggegeven) missing",
+ '60001061': "BEC/GBK number incorrect",
+ '60001062': "BEC/GBK code incorrect",
+ '60001087': "book account number not numeric",
+ '60001090': "cancelled on request",
+ '60001091': "cancellation order executed",
+ '60001092': "cancelled instead of bended",
+ '60001093': "book account number is a shortened account number",
+ '60001094': "instructing party account number not identical with payer",
+ '60001095': "payee unknown GBK acceptor",
+ '60001097': "instructing party account number not identical with payee",
+ '60001099': "clearing not permitted",
+ '60001101': "payer’s account number not spaces",
+ '60001102': "PAN length not numeric",
+ '60001103': "PAN length outside limits",
+ '60001104': "track number not numeric",
+ '60001105': "track number not valid",
+ '60001106': "PAN sequence number not numeric",
+ '60001107': "domestic PAN not numeric",
+ '60001108': "domestic PAN not eleven-proof",
+ '60001109': "domestic PAN not issued",
+ '60001110': "foreign PAN not numeric",
+ '60001111': "card valid date not numeric",
+ '60001112': "book period number (boekperiodenr) not numeric",
+ '60001113': "transaction number not numeric",
+ '60001114': "transaction time not numeric",
+ '60001115': "transaction no valid time",
+ '60001116': "transaction date not numeric",
+ '60001117': "transaction no valid date",
+ '60001118': "STAN not numeric",
+ '60001119': "instructing party’s name missing",
+ '60001120': "foreign amount (bedrag-vv) not numeric",
+ '60001122': "rate (verrekenkoers) not numeric",
+ '60001125': "number of decimals (aantaldecimalen) incorrect",
+ '60001126': "tariff (tarifering) not B/O/S",
+ '60001127': "domestic costs (kostenbinnenland) not numeric",
+ '60001128': "domestic costs (kostenbinnenland) not higher than zero",
+ '60001129': "foreign costs (kostenbuitenland) not numeric",
+ '60001130': "foreign costs (kostenbuitenland) not higher than zero",
+ '60001131': "domestic costs (kostenbinnenland) not zero",
+ '60001132': "foreign costs (kostenbuitenland) not zero",
+ '60001134': "Euro record not fully filled in",
+ '60001135': "Client currency incorrect",
+ '60001136': "Amount NLG not numeric",
+ '60001137': "Amount NLG not higher than zero",
+ '60001138': "Amount NLG not equal to Amount",
+ '60001139': "Amount NLG incorrectly converted",
+ '60001140': "Amount EUR not numeric",
+ '60001141': "Amount EUR not greater than zero",
+ '60001142': "Amount EUR not equal to Amount",
+ '60001143': "Amount EUR incorrectly converted",
+ '60001144': "Client currency not NLG",
+ '60001145': "rate euro-vv (Koerseuro-vv) not numeric",
+ '60001146': "comma rate euro-vv (Kommakoerseuro-vv) incorrect",
+ '60001147': "acceptgiro distributor not valid",
+ '60001148': "Original run number and/or BRN are missing",
+ '60001149': "Amount/Account number/ BRN different",
+ '60001150': "Direct debit already revoked/restored",
+ '60001151': "Direct debit already reversed/revoked/restored",
+ '60001153': "Payer’s account number not known",
+}
+
+DATA_VALIDATION_ERROR = '50001111'
+
+
+def retryable(error):
+ return error in [
+ '0020001001', '0020001002', '0020001003', '0020001004', '0020001005',
+ '0020001006', '0020001007', '0020001008', '0020001009', '0020001010',
+ '30001010', '30001011', '30001015',
+ '30001057', '30001058',
+ '30001998', '30001999',
+ #'30611001', # amount exceeds card limit
+ '30961001',
+ '40001001', '40001002', '40001003', '40001004', '40001005',
+ '40001006', '40001007', '40001008', '40001009', '40001010',
+ '40001012',
+ '40001018', '40001019', '40001020',
+ '40001134', '40001135', '40001136', '40001137',
+ #'50001174', # cardholder name too long
+ ]
diff --git a/addons/payment_ogone/data/ogone.xml b/addons/payment_ogone/data/ogone.xml
new file mode 100644
index 00000000000..e94276ba3e1
--- /dev/null
+++ b/addons/payment_ogone/data/ogone.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ ogone
+
+
+ test
+ You will be redirected to the Ogone website after cliking on the payment button.]]>
+ dummy
+ dummy
+ dummy
+ dummy
+ dummy
+
+
+
+
diff --git a/addons/payment_ogone/models/__init__.py b/addons/payment_ogone/models/__init__.py
new file mode 100644
index 00000000000..349d8f668e8
--- /dev/null
+++ b/addons/payment_ogone/models/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import ogone
diff --git a/addons/payment_ogone/models/ogone.py b/addons/payment_ogone/models/ogone.py
new file mode 100644
index 00000000000..4018d3ec437
--- /dev/null
+++ b/addons/payment_ogone/models/ogone.py
@@ -0,0 +1,405 @@
+# -*- coding: utf-'8' "-*-"
+
+from hashlib import sha1
+import logging
+from lxml import etree, objectify
+from pprint import pformat
+import time
+from urllib import urlencode
+import urllib2
+import urlparse
+
+from openerp.addons.payment.models.payment_acquirer import ValidationError
+from openerp.addons.payment_ogone.controllers.main import OgoneController
+from openerp.addons.payment_ogone.data import ogone
+from openerp.osv import osv, fields
+from openerp.tools import float_round
+from openerp.tools.float_utils import float_compare
+
+_logger = logging.getLogger(__name__)
+
+
+class PaymentAcquirerOgone(osv.Model):
+ _inherit = 'payment.acquirer'
+
+ def _get_ogone_urls(self, cr, uid, env, context=None):
+ """ Ogone URLS:
+
+ - standard order: POST address for form-based
+
+ @TDETODO: complete me
+ """
+ return {
+ 'ogone_standard_order_url': 'https://secure.ogone.com/ncol/%s/orderstandard.asp' % env,
+ 'ogone_direct_order_url': 'https://secure.ogone.com/ncol/%s/orderdirect.asp' % env,
+ 'ogone_direct_query_url': 'https://secure.ogone.com/ncol/%s/querydirect.asp' % env,
+ 'ogone_afu_agree_url': 'https://secure.ogone.com/ncol/%s/AFU_agree.asp' % env,
+ }
+
+ _columns = {
+ 'ogone_pspid': fields.char('PSPID', required_if_provider='ogone'),
+ 'ogone_userid': fields.char('API User ID', required_if_provider='ogone'),
+ 'ogone_password': fields.char('API User Password', required_if_provider='ogone'),
+ 'ogone_shakey_in': fields.char('SHA Key IN', size=32, required_if_provider='ogone'),
+ 'ogone_shakey_out': fields.char('SHA Key OUT', size=32, required_if_provider='ogone'),
+ }
+
+ def _ogone_generate_shasign(self, acquirer, inout, values):
+ """ Generate the shasign for incoming or outgoing communications.
+
+ :param browse acquirer: the payment.acquirer browse record. It should
+ have a shakey in shaky out
+ :param string inout: 'in' (openerp contacting ogone) or 'out' (ogone
+ contacting openerp). In this last case only some
+ fields should be contained (see e-Commerce basic)
+ :param dict values: transaction values
+
+ :return string: shasign
+ """
+ assert inout in ('in', 'out')
+ assert acquirer.name == 'ogone'
+ key = getattr(acquirer, 'ogone_shakey_' + inout)
+
+ def filter_key(key):
+ if inout == 'in':
+ return True
+ else:
+ keys = "ORDERID CURRENCY AMOUNT PM ACCEPTANCE STATUS CARDNO ALIAS ED CN TRXDATE PAYID NCERROR BRAND ECI IP COMPLUS".split()
+ return key.upper() in keys
+
+ items = sorted((k.upper(), v) for k, v in values.items())
+ sign = ''.join('%s=%s%s' % (k, v, key) for k, v in items if v and filter_key(k))
+ sign = sign.encode("utf-8")
+ shasign = sha1(sign).hexdigest()
+ return shasign
+
+ def ogone_form_generate_values(self, cr, uid, id, partner_values, tx_values, context=None):
+ base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url')
+ acquirer = self.browse(cr, uid, id, context=context)
+
+ ogone_tx_values = dict(tx_values)
+ temp_ogone_tx_values = {
+ 'PSPID': acquirer.ogone_pspid,
+ 'ORDERID': tx_values['reference'],
+ 'AMOUNT': '%d' % int(float_round(tx_values['amount'], 2) * 100),
+ 'CURRENCY': tx_values['currency'] and tx_values['currency'].name or '',
+ 'LANGUAGE': partner_values['lang'],
+ 'CN': partner_values['name'],
+ 'EMAIL': partner_values['email'],
+ 'OWNERZIP': partner_values['zip'],
+ 'OWNERADDRESS': partner_values['address'],
+ 'OWNERTOWN': partner_values['city'],
+ 'OWNERCTY': partner_values['country'] and partner_values['country'].name or '',
+ 'OWNERTELNO': partner_values['phone'],
+ 'ACCEPTURL': '%s' % urlparse.urljoin(base_url, OgoneController._accept_url),
+ 'DECLINEURL': '%s' % urlparse.urljoin(base_url, OgoneController._decline_url),
+ 'EXCEPTIONURL': '%s' % urlparse.urljoin(base_url, OgoneController._exception_url),
+ 'CANCELURL': '%s' % urlparse.urljoin(base_url, OgoneController._cancel_url),
+ }
+ if ogone_tx_values.get('return_url'):
+ temp_ogone_tx_values['PARAMPLUS'] = 'return_url=%s' % ogone_tx_values.pop('return_url')
+ shasign = self._ogone_generate_shasign(acquirer, 'in', temp_ogone_tx_values)
+ temp_ogone_tx_values['SHASIGN'] = shasign
+ ogone_tx_values.update(temp_ogone_tx_values)
+ return partner_values, ogone_tx_values
+
+ def ogone_get_form_action_url(self, cr, uid, id, context=None):
+ acquirer = self.browse(cr, uid, id, context=context)
+ return self._get_ogone_urls(cr, uid, acquirer.env, context=context)['ogone_standard_order_url']
+
+
+class PaymentTxOgone(osv.Model):
+ _inherit = 'payment.transaction'
+ # ogone status
+ _ogone_valid_tx_status = [5, 9]
+ _ogone_wait_tx_status = [41, 50, 51, 52, 55, 56, 91, 92, 99]
+ _ogone_pending_tx_status = [46] # 3DS HTML response
+ _ogone_cancel_tx_status = [1]
+
+ _columns = {
+ 'ogone_3ds': fields.boolean('3DS Activated'),
+ 'ogone_3ds_html': fields.html('3DS HTML'),
+ 'ogone_complus': fields.char('Complus'),
+ 'ogone_payid': fields.char('PayID', help='Payment ID, generated by Ogone')
+ }
+
+ # --------------------------------------------------
+ # FORM RELATED METHODS
+ # --------------------------------------------------
+
+ def _ogone_form_get_tx_from_data(self, cr, uid, data, context=None):
+ """ Given a data dict coming from ogone, verify it and find the related
+ transaction record. """
+ reference, pay_id, shasign = data.get('orderID'), data.get('PAYID'), data.get('SHASIGN')
+ if not reference or not pay_id or not shasign:
+ error_msg = 'Ogone: received data with missing reference (%s) or pay_id (%s) or shashign (%s)' % (reference, pay_id, shasign)
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+
+ # find tx -> @TDENOTE use paytid ?
+ tx_ids = self.search(cr, uid, [('reference', '=', reference)], context=context)
+ if not tx_ids or len(tx_ids) > 1:
+ error_msg = 'Ogone: received data for reference %s' % (reference)
+ if not tx_ids:
+ error_msg += '; no order found'
+ else:
+ error_msg += '; multiple order found'
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+ tx = self.pool['payment.transaction'].browse(cr, uid, tx_ids[0], context=context)
+
+ # verify shasign
+ shasign_check = self.pool['payment.acquirer']._ogone_generate_shasign(tx.acquirer_id, 'out', data)
+ if shasign_check.upper() != shasign.upper():
+ error_msg = 'Ogone: invalid shasign, received %s, computed %s, for data %s' % (shasign, shasign_check, data)
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+
+ return tx
+
+ def _ogone_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ invalid_parameters = []
+
+ # TODO: txn_id: shoudl be false at draft, set afterwards, and verified with txn details
+ if tx.acquirer_reference and data.get('PAYID') != tx.acquirer_reference:
+ invalid_parameters.append(('PAYID', data.get('PAYID'), tx.acquirer_reference))
+ # check what is buyed
+ if float_compare(float(data.get('amount', '0.0')), tx.amount, 2) != 0:
+ invalid_parameters.append(('amount', data.get('amount'), '%.2f' % tx.amount))
+ if data.get('currency') != tx.currency_id.name:
+ invalid_parameters.append(('currency', data.get('currency'), tx.currency_id.name))
+
+ return invalid_parameters
+
+ def _ogone_form_validate(self, cr, uid, tx, data, context=None):
+ if tx.state == 'done':
+ _logger.warning('Ogone: trying to validate an already validated tx (ref %s)' % tx.reference)
+ return True
+
+ status = int(data.get('STATUS', '0'))
+ if status in self._ogone_valid_tx_status:
+ tx.write({
+ 'state': 'done',
+ 'date_validate': data['TRXDATE'],
+ 'acquirer_reference': data['PAYID'],
+ })
+ return True
+ elif status in self._ogone_cancel_tx_status:
+ tx.write({
+ 'state': 'cancel',
+ 'acquirer_reference': data.get('PAYID'),
+ })
+ elif status in self._ogone_pending_tx_status:
+ tx.write({
+ 'state': 'pending',
+ 'acquirer_reference': data.get('PAYID'),
+ })
+ else:
+ error = 'Ogone: feedback error: %(error_str)s\n\n%(error_code)s: %(error_msg)s' % {
+ 'error_str': data.get('NCERROR'),
+ 'error_code': data.get('NCERRORPLUS'),
+ 'error_msg': ogone.OGONE_ERROR_MAP.get(data.get('NCERRORPLUS')),
+ }
+ _logger.info(error)
+ tx.write({
+ 'state': 'error',
+ 'state_message': error,
+ 'acquirer_reference': data.get('PAYID'),
+ })
+ return False
+
+ # --------------------------------------------------
+ # S2S RELATED METHODS
+ # --------------------------------------------------
+
+ def ogone_s2s_create_alias(self, cr, uid, id, values, context=None):
+ """ Create an alias at Ogone via batch.
+
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ tx = self.browse(cr, uid, id, context=context)
+ assert tx.type == 'server2server', 'Calling s2s dedicated method for a %s acquirer' % tx.type
+ alias = 'OPENERP-%d-%d' % (tx.partner_id.id, tx.id)
+
+ expiry_date = '%s%s' % (values['expiry_date_mm'], values['expiry_date_yy'][2:])
+ line = 'ADDALIAS;%(alias)s;%(holder_name)s;%(number)s;%(expiry_date)s;%(brand)s;%(pspid)s'
+ line = line % dict(values, alias=alias, expiry_date=expiry_date, pspid=tx.acquirer_id.ogone_pspid)
+
+ tx_data = {
+ 'FILE_REFERENCE': 'OPENERP-NEW-ALIAS-%s' % time.time(), # something unique,
+ 'TRANSACTION_CODE': 'ATR',
+ 'OPERATION': 'SAL',
+ 'NB_PAYMENTS': 1, # even if we do not actually have any payment, ogone want it to not be 0
+ 'FILE': line,
+ 'REPLY_TYPE': 'XML',
+ 'PSPID': tx.acquirer_id.ogone_pspid,
+ 'USERID': tx.acquirer_id.ogone_userid,
+ 'PSWD': tx.acquirer_id.ogone_password,
+ 'PROCESS_MODE': 'CHECKANDPROCESS',
+ }
+
+ # TODO: fix URL computation
+ request = urllib2.Request(tx.acquirer_id.ogone_afu_agree_url, urlencode(tx_data))
+ result = urllib2.urlopen(request).read()
+
+ try:
+ tree = objectify.fromstring(result)
+ except etree.XMLSyntaxError:
+ _logger.exception('Invalid xml response from ogone')
+ return None
+
+ error_code = error_str = None
+ if hasattr(tree, 'PARAMS_ERROR'):
+ error_code = tree.NCERROR.text
+ error_str = 'PARAMS ERROR: %s' % (tree.PARAMS_ERROR.text or '',)
+ else:
+ node = tree.FORMAT_CHECK
+ error_node = getattr(node, 'FORMAT_CHECK_ERROR', None)
+ if error_node is not None:
+ error_code = error_node.NCERROR.text
+ error_str = 'CHECK ERROR: %s' % (error_node.ERROR.text or '',)
+
+ if error_code:
+ error_msg = ogone.OGONE_ERROR_MAP.get(error_code)
+ error = '%s\n\n%s: %s' % (error_str, error_code, error_msg)
+ _logger.error(error)
+ raise Exception(error) # TODO specific exception
+
+ tx.write({'partner_reference': alias})
+ return True
+
+ def ogone_s2s_generate_values(self, cr, uid, id, custom_values, context=None):
+ """ Generate valid Ogone values for a s2s tx.
+
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ tx = self.browse(cr, uid, id, context=context)
+ tx_data = {
+ 'PSPID': tx.acquirer_id.ogone_pspid,
+ 'USERID': tx.acquirer_id.ogone_userid,
+ 'PSWD': tx.acquirer_id.ogone_password,
+ 'OrderID': tx.reference,
+ 'amount': '%d' % int(float_round(tx.amount, 2) * 100), # tde check amount or str * 100 ?
+ 'CURRENCY': tx.currency_id.name,
+ 'LANGUAGE': tx.partner_lang,
+ 'OPERATION': 'SAL',
+ 'ECI': 2, # Recurring (from MOTO)
+ 'ALIAS': tx.partner_reference,
+ 'RTIMEOUT': 30,
+ }
+ if custom_values.get('ogone_cvc'):
+ tx_data['CVC'] = custom_values.get('ogone_cvc')
+ if custom_values.pop('ogone_3ds', None):
+ tx_data.update({
+ 'FLAG3D': 'Y', # YEAH!!
+ })
+ if custom_values.get('ogone_complus'):
+ tx_data['COMPLUS'] = custom_values.get('ogone_complus')
+ if custom_values.get('ogone_accept_url'):
+ pass
+
+ shasign = self.pool['payment.acquirer']._ogone_generate_shasign(tx.acquirer_id, 'in', tx_data)
+ tx_data['SHASIGN'] = shasign
+ return tx_data
+
+ def ogone_s2s_feedback(self, cr, uid, data, context=None):
+ """
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ pass
+
+ def ogone_s2s_execute(self, cr, uid, id, values, context=None):
+ """
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ tx = self.browse(cr, uid, id, context=context)
+
+ tx_data = self.ogone_s2s_generate_values(cr, uid, id, values, context=context)
+ _logger.info('Generated Ogone s2s data %s', pformat(tx_data)) # debug
+
+ request = urllib2.Request(tx.acquirer_id.ogone_direct_order_url, urlencode(tx_data))
+ result = urllib2.urlopen(request).read()
+ _logger.info('Contacted Ogone direct order; result %s', result) # debug
+
+ tree = objectify.fromstring(result)
+ payid = tree.get('PAYID')
+
+ query_direct_data = dict(
+ PSPID=tx.acquirer_id.ogone_pspid,
+ USERID=tx.acquirer_id.ogone_userid,
+ PSWD=tx.acquirer_id.ogone_password,
+ ID=payid,
+ )
+ query_direct_url = 'https://secure.ogone.com/ncol/%s/querydirect.asp' % (tx.acquirer_id.env,)
+
+ tries = 2
+ tx_done = False
+ tx_status = False
+ while not tx_done or tries > 0:
+ try:
+ tree = objectify.fromstring(result)
+ except etree.XMLSyntaxError:
+ # invalid response from ogone
+ _logger.exception('Invalid xml response from ogone')
+ raise
+
+ # see https://secure.ogone.com/ncol/paymentinfos1.asp
+ VALID_TX = [5, 9]
+ WAIT_TX = [41, 50, 51, 52, 55, 56, 91, 92, 99]
+ PENDING_TX = [46] # 3DS HTML response
+ # other status are errors...
+
+ status = tree.get('STATUS')
+ if status == '':
+ status = None
+ else:
+ status = int(status)
+
+ if status in VALID_TX:
+ tx_status = True
+ tx_done = True
+
+ elif status in PENDING_TX:
+ html = str(tree.HTML_ANSWER)
+ tx_data.update(ogone_3ds_html=html.decode('base64'))
+ tx_status = False
+ tx_done = True
+
+ elif status in WAIT_TX:
+ time.sleep(1500)
+
+ request = urllib2.Request(query_direct_url, urlencode(query_direct_data))
+ result = urllib2.urlopen(request).read()
+ _logger.debug('Contacted Ogone query direct; result %s', result)
+
+ else:
+ error_code = tree.get('NCERROR')
+ if not ogone.retryable(error_code):
+ error_str = tree.get('NCERRORPLUS')
+ error_msg = ogone.OGONE_ERROR_MAP.get(error_code)
+ error = 'ERROR: %s\n\n%s: %s' % (error_str, error_code, error_msg)
+ _logger.info(error)
+ raise Exception(error)
+
+ tries = tries - 1
+
+ if not tx_done and tries == 0:
+ raise Exception('Cannot get transaction status...')
+
+ return tx_status
diff --git a/addons/payment_ogone/static/description/icon.png b/addons/payment_ogone/static/description/icon.png
new file mode 100644
index 00000000000..4151a633c79
Binary files /dev/null and b/addons/payment_ogone/static/description/icon.png differ
diff --git a/addons/payment_ogone/static/src/img/ogone_icon.png b/addons/payment_ogone/static/src/img/ogone_icon.png
new file mode 100644
index 00000000000..f8274724529
Binary files /dev/null and b/addons/payment_ogone/static/src/img/ogone_icon.png differ
diff --git a/addons/payment_ogone/tests/__init__.py b/addons/payment_ogone/tests/__init__.py
new file mode 100644
index 00000000000..5b920121911
--- /dev/null
+++ b/addons/payment_ogone/tests/__init__.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+
+# from . import test_ogone
+
+checks = [
+ # test_ogone,
+]
diff --git a/addons/payment_ogone/tests/test_ogone.py b/addons/payment_ogone/tests/test_ogone.py
new file mode 100644
index 00000000000..cc76dd4eed6
--- /dev/null
+++ b/addons/payment_ogone/tests/test_ogone.py
@@ -0,0 +1,225 @@
+# -*- coding: utf-8 -*-
+
+from lxml import objectify
+import time
+import urlparse
+
+from openerp.addons.payment.models.payment_acquirer import ValidationError
+from openerp.addons.payment.tests.common import PaymentAcquirerCommon
+from openerp.addons.payment_ogone.controllers.main import OgoneController
+from openerp.tools import mute_logger
+
+
+class OgonePayment(PaymentAcquirerCommon):
+
+ def setUp(self):
+ super(OgonePayment, self).setUp()
+ cr, uid = self.cr, self.uid
+ self.base_url = self.registry('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+
+ # get the adyen account
+ model, self.ogone_id = self.registry('ir.model.data').get_object_reference(cr, uid, 'payment_ogone', 'payment_acquirer_ogone')
+
+ def test_10_ogone_form_render(self):
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid thing
+ ogone = self.payment_acquirer.browse(self.cr, self.uid, self.ogone_id, None)
+ self.assertEqual(ogone.env, 'test', 'test without test env')
+
+ # ----------------------------------------
+ # Test: button direct rendering + shasign
+ # ----------------------------------------
+
+ form_values = {
+ 'PSPID': 'dummy',
+ 'ORDERID': 'test_ref0',
+ 'AMOUNT': '1',
+ 'CURRENCY': 'EUR',
+ 'LANGUAGE': 'en_US',
+ 'CN': 'Norbert Buyer',
+ 'EMAIL': 'norbert.buyer@example.com',
+ 'OWNERZIP': '1000',
+ 'OWNERADDRESS': 'Huge Street 2/543',
+ 'OWNERCTY': 'Belgium',
+ 'OWNERTOWN': 'Sin City',
+ 'OWNERTELNO': '0032 12 34 56 78',
+ 'SHASIGN': '815f67b8ff70d234ffcf437c13a9fa7f807044cc',
+ 'ACCEPTURL': '%s' % urlparse.urljoin(self.base_url, OgoneController._accept_url),
+ 'DECLINEURL': '%s' % urlparse.urljoin(self.base_url, OgoneController._decline_url),
+ 'EXCEPTIONURL': '%s' % urlparse.urljoin(self.base_url, OgoneController._exception_url),
+ 'CANCELURL': '%s' % urlparse.urljoin(self.base_url, OgoneController._cancel_url),
+ }
+
+ # render the button
+ res = self.payment_acquirer.render(
+ cr, uid, self.ogone_id,
+ 'test_ref0', 0.01, self.currency_euro_id,
+ partner_id=None,
+ partner_values=self.buyer_values,
+ context=context)
+
+ # check form result
+ tree = objectify.fromstring(res)
+ self.assertEqual(tree.get('action'), 'https://secure.ogone.com/ncol/test/orderstandard.asp', 'ogone: wrong form POST url')
+ for form_input in tree.input:
+ if form_input.get('name') in ['submit']:
+ continue
+ self.assertEqual(
+ form_input.get('value'),
+ form_values[form_input.get('name')],
+ 'ogone: wrong value for input %s: received %s instead of %s' % (form_input.get('name'), form_input.get('value'), form_values[form_input.get('name')])
+ )
+
+ # ----------------------------------------
+ # Test2: button using tx + validation
+ # ----------------------------------------
+
+ # create a new draft tx
+ tx_id = self.payment_transaction.create(
+ cr, uid, {
+ 'amount': 0.01,
+ 'acquirer_id': self.ogone_id,
+ 'currency_id': self.currency_euro_id,
+ 'reference': 'test_ref0',
+ 'partner_id': self.buyer_id,
+ }, context=context
+ )
+ # render the button
+ res = self.payment_acquirer.render(
+ cr, uid, self.ogone_id,
+ 'should_be_erased', 0.01, self.currency_euro,
+ tx_id=tx_id,
+ partner_id=None,
+ partner_values=self.buyer_values,
+ context=context)
+
+ # check form result
+ tree = objectify.fromstring(res)
+ self.assertEqual(tree.get('action'), 'https://secure.ogone.com/ncol/test/orderstandard.asp', 'ogone: wrong form POST url')
+ for form_input in tree.input:
+ if form_input.get('name') in ['submit']:
+ continue
+ self.assertEqual(
+ form_input.get('value'),
+ form_values[form_input.get('name')],
+ 'ogone: wrong value for form input %s: received %s instead of %s' % (form_input.get('name'), form_input.get('value'), form_values[form_input.get('name')])
+ )
+
+ @mute_logger('openerp.addons.payment_ogone.models.ogone', 'ValidationError')
+ def test_20_ogone_form_management(self):
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid thing
+ ogone = self.payment_acquirer.browse(self.cr, self.uid, self.ogone_id, None)
+ self.assertEqual(ogone.env, 'test', 'test without test env')
+
+ # typical data posted by ogone after client has successfully paid
+ ogone_post_data = {
+ 'orderID': u'test_ref_2',
+ 'STATUS': u'9',
+ 'CARDNO': u'XXXXXXXXXXXX0002',
+ 'PAYID': u'25381582',
+ 'CN': u'Norbert Buyer',
+ 'NCERROR': u'0',
+ 'TRXDATE': u'11/15/13',
+ 'IP': u'85.201.233.72',
+ 'BRAND': u'VISA',
+ 'ACCEPTANCE': u'test123',
+ 'currency': u'EUR',
+ 'amount': u'1.95',
+ 'SHASIGN': u'7B7B0ED9CBC4A85543A9073374589033A62A05A5',
+ 'ED': u'0315',
+ 'PM': u'CreditCard'
+ }
+
+ # should raise error about unknown tx
+ with self.assertRaises(ValidationError):
+ self.payment_transaction.ogone_form_feedback(cr, uid, ogone_post_data, context=context)
+
+ # create tx
+ tx_id = self.payment_transaction.create(
+ cr, uid, {
+ 'amount': 1.95,
+ 'acquirer_id': self.ogone_id,
+ 'currency_id': self.currency_euro_id,
+ 'reference': 'test_ref_2',
+ 'partner_name': 'Norbert Buyer',
+ 'partner_country_id': self.country_france_id,
+ }, context=context
+ )
+ # validate it
+ self.payment_transaction.ogone_form_feedback(cr, uid, ogone_post_data, context=context)
+ # check state
+ tx = self.payment_transaction.browse(cr, uid, tx_id, context=context)
+ self.assertEqual(tx.state, 'done', 'ogone: validation did not put tx into done state')
+ self.assertEqual(tx.ogone_payid, ogone_post_data.get('PAYID'), 'ogone: validation did not update tx payid')
+
+ # reset tx
+ tx.write({'state': 'draft', 'date_validate': False, 'ogone_payid': False})
+
+ # now ogone post is ok: try to modify the SHASIGN
+ ogone_post_data['SHASIGN'] = 'a4c16bae286317b82edb49188d3399249a784691'
+ with self.assertRaises(ValidationError):
+ self.payment_transaction.ogone_form_feedback(cr, uid, ogone_post_data, context=context)
+
+ # simulate an error
+ ogone_post_data['STATUS'] = 2
+ ogone_post_data['SHASIGN'] = 'a4c16bae286317b82edb49188d3399249a784691'
+ self.payment_transaction.ogone_form_feedback(cr, uid, ogone_post_data, context=context)
+ # check state
+ tx = self.payment_transaction.browse(cr, uid, tx_id, context=context)
+ self.assertEqual(tx.state, 'error', 'ogone: erroneous validation did not put tx into error state')
+
+ def test_30_ogone_s2s(self):
+ test_ref = 'test_ref_%.15f' % time.time()
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid thing
+ ogone = self.payment_acquirer.browse(self.cr, self.uid, self.ogone_id, None)
+ self.assertEqual(ogone.env, 'test', 'test without test env')
+
+ # create a new draft tx
+ tx_id = self.payment_transaction.create(
+ cr, uid, {
+ 'amount': 0.01,
+ 'acquirer_id': self.ogone_id,
+ 'currency_id': self.currency_euro_id,
+ 'reference': test_ref,
+ 'partner_id': self.buyer_id,
+ 'type': 'server2server',
+ }, context=context
+ )
+
+ # create an alias
+ res = self.payment_transaction.ogone_s2s_create_alias(
+ cr, uid, tx_id, {
+ 'expiry_date_mm': '01',
+ 'expiry_date_yy': '2015',
+ 'holder_name': 'Norbert Poilu',
+ 'number': '4000000000000002',
+ 'brand': 'VISA',
+ }, context=context)
+
+ # check an alias is set, containing at least OPENERP
+ tx = self.payment_transaction.browse(cr, uid, tx_id, context=context)
+ self.assertIn('OPENERP', tx.partner_reference, 'ogone: wrong partner reference after creating an alias')
+
+ res = self.payment_transaction.ogone_s2s_execute(cr, uid, tx_id, {}, context=context)
+ # print res
+
+
+# {
+# 'orderID': u'reference',
+# 'STATUS': u'9',
+# 'CARDNO': u'XXXXXXXXXXXX0002',
+# 'PAYID': u'24998692',
+# 'CN': u'Norbert Poilu',
+# 'NCERROR': u'0',
+# 'TRXDATE': u'11/05/13',
+# 'IP': u'85.201.233.72',
+# 'BRAND': u'VISA',
+# 'ACCEPTANCE': u'test123',
+# 'currency': u'EUR',
+# 'amount': u'1.95',
+# 'SHASIGN': u'EFDC56879EF7DE72CCF4B397076B5C9A844CB0FA',
+# 'ED': u'0314',
+# 'PM': u'CreditCard'
+# }
diff --git a/addons/payment_ogone/views/ogone.xml b/addons/payment_ogone/views/ogone.xml
new file mode 100644
index 00000000000..be89579c84a
--- /dev/null
+++ b/addons/payment_ogone/views/ogone.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_ogone/views/payment_acquirer.xml b/addons/payment_ogone/views/payment_acquirer.xml
new file mode 100644
index 00000000000..accce4d70d2
--- /dev/null
+++ b/addons/payment_ogone/views/payment_acquirer.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+ acquirer.form.ogone
+ payment.acquirer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ acquirer.transaction.form.ogone
+ payment.transaction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_paypal/__init__.py b/addons/payment_paypal/__init__.py
new file mode 100644
index 00000000000..dde6f25c728
--- /dev/null
+++ b/addons/payment_paypal/__init__.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2013-Today OpenERP SA ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+import models
+import controllers
diff --git a/addons/payment_paypal/__openerp__.py b/addons/payment_paypal/__openerp__.py
new file mode 100644
index 00000000000..d57ce377b2d
--- /dev/null
+++ b/addons/payment_paypal/__openerp__.py
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+
+{
+ 'name': 'Paypal Payment Acquirer',
+ 'category': 'Hidden',
+ 'summary': 'Payment Acquirer: Paypal Implementation',
+ 'version': '1.0',
+ 'description': """Paypal Payment Acquirer""",
+ 'author': 'OpenERP SA',
+ 'depends': ['payment'],
+ 'data': [
+ 'views/paypal.xml',
+ 'views/payment_acquirer.xml',
+ 'views/res_config_view.xml',
+ 'data/paypal.xml',
+ ],
+ 'installable': True,
+}
diff --git a/addons/payment_paypal/controllers/__init__.py b/addons/payment_paypal/controllers/__init__.py
new file mode 100644
index 00000000000..bbd183e955b
--- /dev/null
+++ b/addons/payment_paypal/controllers/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import main
diff --git a/addons/payment_paypal/controllers/main.py b/addons/payment_paypal/controllers/main.py
new file mode 100644
index 00000000000..967059e59ae
--- /dev/null
+++ b/addons/payment_paypal/controllers/main.py
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+
+try:
+ import simplejson as json
+except ImportError:
+ import json
+import logging
+import pprint
+import urllib2
+import werkzeug
+
+from openerp import http, SUPERUSER_ID
+from openerp.http import request
+
+_logger = logging.getLogger(__name__)
+
+
+class PaypalController(http.Controller):
+ _notify_url = '/payment/paypal/ipn/'
+ _return_url = '/payment/paypal/dpn/'
+ _cancel_url = '/payment/paypal/cancel/'
+
+ def _get_return_url(self, **post):
+ """ Extract the return URL from the data coming from paypal. """
+ return_url = post.pop('return_url', '')
+ if not return_url:
+ custom = json.loads(post.pop('custom', '{}'))
+ return_url = custom.get('return_url', '/')
+ return return_url
+
+ def paypal_validate_data(self, **post):
+ """ Paypal IPN: three steps validation to ensure data correctness
+
+ - step 1: return an empty HTTP 200 response -> will be done at the end
+ by returning ''
+ - step 2: POST the complete, unaltered message back to Paypal (preceded
+ by cmd=_notify-validate), with same encoding
+ - step 3: paypal send either VERIFIED or INVALID (single word)
+
+ Once data is validated, process it. """
+ res = False
+ new_post = dict(post, cmd='_notify-validate')
+ urequest = urllib2.Request("https://www.sandbox.paypal.com/cgi-bin/webscr", werkzeug.url_encode(new_post))
+ uopen = urllib2.urlopen(urequest)
+ resp = uopen.read()
+ if resp == 'VERIFIED':
+ _logger.info('Paypal: validated data')
+ cr, uid, context = request.cr, SUPERUSER_ID, request.context
+ res = request.registry['payment.transaction'].form_feedback(cr, uid, post, 'paypal', context=context)
+ elif resp == 'INVALID':
+ _logger.warning('Paypal: answered INVALID on data verification')
+ else:
+ _logger.warning('Paypal: unrecognized paypal answer, received %s instead of VERIFIED or INVALID' % resp.text)
+ return res
+
+ @http.route('/payment/paypal/ipn/', type='http', auth='none', methods=['POST'])
+ def paypal_ipn(self, **post):
+ """ Paypal IPN. """
+ _logger.info('Beginning Paypal IPN form_feedback with post data %s', pprint.pformat(post)) # debug
+ self.paypal_validate_data(**post)
+ return ''
+
+ @http.route('/payment/paypal/dpn', type='http', auth="none", methods=['POST'])
+ def paypal_dpn(self, **post):
+ """ Paypal DPN """
+ _logger.info('Beginning Paypal DPN form_feedback with post data %s', pprint.pformat(post)) # debug
+ return_url = self._get_return_url(**post)
+ self.paypal_validate_data(**post)
+ return werkzeug.utils.redirect(return_url)
+
+ @http.route('/payment/paypal/cancel', type='http', auth="none")
+ def paypal_cancel(self, **post):
+ """ When the user cancels its Paypal payment: GET on this route """
+ cr, uid, context = request.cr, SUPERUSER_ID, request.context
+ _logger.info('Beginning Paypal cancel with post data %s', pprint.pformat(post)) # debug
+ return_url = self._get_return_url(**post)
+ return werkzeug.utils.redirect(return_url)
diff --git a/addons/payment_paypal/data/paypal.xml b/addons/payment_paypal/data/paypal.xml
new file mode 100644
index 00000000000..fe28ed30331
--- /dev/null
+++ b/addons/payment_paypal/data/paypal.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ paypal
+
+
+ test
+ You will be redirected to the Paypal website after cliking on the payment button.]]>
+ dummy
+ dummy
+ dummy
+ dummy
+
+
+
+
+
diff --git a/addons/payment_paypal/models/__init__.py b/addons/payment_paypal/models/__init__.py
new file mode 100644
index 00000000000..7af8e269d79
--- /dev/null
+++ b/addons/payment_paypal/models/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+
+import paypal
+import res_company
diff --git a/addons/payment_paypal/models/paypal.py b/addons/payment_paypal/models/paypal.py
new file mode 100644
index 00000000000..13945bab6e8
--- /dev/null
+++ b/addons/payment_paypal/models/paypal.py
@@ -0,0 +1,403 @@
+# -*- coding: utf-'8' "-*-"
+
+import base64
+try:
+ import simplejson as json
+except ImportError:
+ import json
+import logging
+import urlparse
+import werkzeug.urls
+import urllib2
+
+from openerp.addons.payment.models.payment_acquirer import ValidationError
+from openerp.addons.payment_paypal.controllers.main import PaypalController
+from openerp.osv import osv, fields
+from openerp.tools.float_utils import float_compare
+
+_logger = logging.getLogger(__name__)
+
+
+class AcquirerPaypal(osv.Model):
+ _inherit = 'payment.acquirer'
+
+ def _get_paypal_urls(self, cr, uid, env, context=None):
+ """ Paypal URLS """
+ if env == 'prod':
+ return {
+ 'paypal_form_url': 'https://www.paypal.com/cgi-bin/webscr',
+ 'paypal_rest_url': 'https://api.paypal.com/v1/oauth2/token',
+ }
+ else:
+ return {
+ 'paypal_form_url': 'https://www.sandbox.paypal.com/cgi-bin/webscr',
+ 'paypal_rest_url': 'https://api.sandbox.paypal.com/v1/oauth2/token',
+ }
+
+ _columns = {
+ 'paypal_email_account': fields.char('Paypal Email ID', required_if_provider='paypal'),
+ 'paypal_seller_account': fields.char(
+ 'Paypal Seller ID',
+ help='The Seller ID is used to ensure communications coming from Paypal are valid and secured.'),
+ 'paypal_use_ipn': fields.boolean('Use IPN', help='Paypal Instant Payment Notification'),
+ # Server 2 server
+ 'paypal_api_enabled': fields.boolean('Use Rest API'),
+ 'paypal_api_username': fields.char('Rest API Username'),
+ 'paypal_api_password': fields.char('Rest API Password'),
+ 'paypal_api_access_token': fields.char('Access Token'),
+ 'paypal_api_access_token_validity': fields.datetime('Access Token Validity'),
+ }
+
+ _defaults = {
+ 'paypal_use_ipn': True,
+ 'fees_active': False,
+ 'fees_dom_fixed': 0.35,
+ 'fees_dom_var': 3.4,
+ 'fees_int_fixed': 0.35,
+ 'fees_int_var': 3.9,
+ 'paypal_api_enabled': False,
+ }
+
+ def _migrate_paypal_account(self, cr, uid, context=None):
+ """ COMPLETE ME """
+ cr.execute('SELECT id, paypal_account FROM res_company')
+ res = cr.fetchall()
+ for (company_id, company_paypal_account) in res:
+ if company_paypal_account:
+ company_paypal_ids = self.search(cr, uid, [('company_id', '=', company_id), ('name', '=', 'paypal')], limit=1, context=context)
+ if company_paypal_ids:
+ self.write(cr, uid, company_paypal_ids, {'paypal_email_account': company_paypal_account}, context=context)
+ else:
+ paypal_view = self.pool['ir.model.data'].get_object(cr, uid, 'payment_paypal', 'paypal_acquirer_button')
+ self.create(cr, uid, {
+ 'paypal_email_account': company_paypal_account,
+ 'view_template_id': paypal_view.id,
+ }, context=context)
+ return True
+
+ def paypal_compute_fees(self, cr, uid, id, amount, currency_id, country_id, context=None):
+ """ Compute paypal fees.
+
+ :param float amount: the amount to pay
+ :param integer country_id: an ID of a res.country, or None. This is
+ the customer's country, to be compared to
+ the acquirer company country.
+ :return float fees: computed fees
+ """
+ acquirer = self.browse(cr, uid, id, context=context)
+ if not acquirer.fees_active:
+ return 0.0
+ country = self.pool['res.country'].browse(cr, uid, country_id, context=context)
+ if country and acquirer.company_id.country_id.id == country.id:
+ fees = amount * (1 + acquirer.fees_dom_var / 100.0) + acquirer.fees_dom_fixed - amount
+ else:
+ fees = amount * (1 + acquirer.fees_int_var / 100.0) + acquirer.fees_int_fixed - amount
+ return fees
+
+ def paypal_form_generate_values(self, cr, uid, id, partner_values, tx_values, context=None):
+ base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url')
+ acquirer = self.browse(cr, uid, id, context=context)
+
+ paypal_tx_values = dict(tx_values)
+ paypal_tx_values.update({
+ 'cmd': '_xclick',
+ 'business': acquirer.paypal_email_account,
+ 'item_name': tx_values['reference'],
+ 'item_number': tx_values['reference'],
+ 'amount': tx_values['amount'],
+ 'currency_code': tx_values['currency'] and tx_values['currency'].name or '',
+ 'address1': partner_values['address'],
+ 'city': partner_values['city'],
+ 'country': partner_values['country'] and partner_values['country'].name or '',
+ 'email': partner_values['email'],
+ 'zip': partner_values['zip'],
+ 'first_name': partner_values['first_name'],
+ 'last_name': partner_values['last_name'],
+ 'return': '%s' % urlparse.urljoin(base_url, PaypalController._return_url),
+ 'notify_url': '%s' % urlparse.urljoin(base_url, PaypalController._notify_url),
+ 'cancel_return': '%s' % urlparse.urljoin(base_url, PaypalController._cancel_url),
+ })
+ if acquirer.fees_active:
+ paypal_tx_values['handling'] = '%.2f' % paypal_tx_values.pop('fees', 0.0)
+ if paypal_tx_values.get('return_url'):
+ paypal_tx_values['custom'] = json.dumps({'return_url': '%s' % paypal_tx_values.pop('return_url')})
+ return partner_values, paypal_tx_values
+
+ def paypal_get_form_action_url(self, cr, uid, id, context=None):
+ acquirer = self.browse(cr, uid, id, context=context)
+ return self._get_paypal_urls(cr, uid, acquirer.env, context=context)['paypal_form_url']
+
+ def _paypal_s2s_get_access_token(self, cr, uid, ids, context=None):
+ """
+ Note: see # see http://stackoverflow.com/questions/2407126/python-urllib2-basic-auth-problem
+ for explanation why we use Authorization header instead of urllib2
+ password manager
+ """
+ res = dict.fromkeys(ids, False)
+ parameters = werkzeug.url_encode({'grant_type': 'client_credentials'})
+
+ for acquirer in self.browse(cr, uid, ids, context=context):
+ tx_url = self._get_paypal_urls(cr, uid, acquirer.env)['paypal_rest_url']
+ request = urllib2.Request(tx_url, parameters)
+
+ # add other headers (https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/)
+ request.add_header('Accept', 'application/json')
+ request.add_header('Accept-Language', 'en_US')
+
+ # add authorization header
+ base64string = base64.encodestring('%s:%s' % (
+ acquirer.paypal_api_username,
+ acquirer.paypal_api_password)
+ ).replace('\n', '')
+ request.add_header("Authorization", "Basic %s" % base64string)
+
+ request = urllib2.urlopen(request)
+ result = request.read()
+ res[acquirer.id] = json.loads(result).get('access_token')
+ request.close()
+ return res
+
+
+class TxPaypal(osv.Model):
+ _inherit = 'payment.transaction'
+
+ _columns = {
+ 'paypal_txn_id': fields.char('Transaction ID'),
+ 'paypal_txn_type': fields.char('Transaction type'),
+ }
+
+ # --------------------------------------------------
+ # FORM RELATED METHODS
+ # --------------------------------------------------
+
+ def _paypal_form_get_tx_from_data(self, cr, uid, data, context=None):
+ reference, txn_id = data.get('item_number'), data.get('txn_id')
+ if not reference or not txn_id:
+ error_msg = 'Paypal: received data with missing reference (%s) or txn_id (%s)' % (reference, txn_id)
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+
+ # find tx -> @TDENOTE use txn_id ?
+ tx_ids = self.pool['payment.transaction'].search(cr, uid, [('reference', '=', reference)], context=context)
+ if not tx_ids or len(tx_ids) > 1:
+ error_msg = 'Paypal: received data for reference %s' % (reference)
+ if not tx_ids:
+ error_msg += '; no order found'
+ else:
+ error_msg += '; multiple order found'
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+ return self.browse(cr, uid, tx_ids[0], context=context)
+
+ def _paypal_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ invalid_parameters = []
+ if data.get('notify_version')[0] != '3.4':
+ _logger.warning(
+ 'Received a notification from Paypal with version %s instead of 2.6. This could lead to issues when managing it.' %
+ data.get('notify_version')
+ )
+ if data.get('test_ipn'):
+ _logger.warning(
+ 'Received a notification from Paypal using sandbox'
+ ),
+
+ # TODO: txn_id: shoudl be false at draft, set afterwards, and verified with txn details
+ if tx.acquirer_reference and data.get('txn_id') != tx.acquirer_reference:
+ invalid_parameters.append(('txn_id', data.get('txn_id'), tx.acquirer_reference))
+ # check what is buyed
+ if float_compare(float(data.get('mc_gross', '0.0')), (tx.amount + tx.fees), 2) != 0:
+ invalid_parameters.append(('mc_gross', data.get('mc_gross'), '%.2f' % tx.amount)) # mc_gross is amount + fees
+ if data.get('mc_currency') != tx.currency_id.name:
+ invalid_parameters.append(('mc_currency', data.get('mc_currency'), tx.currency_id.name))
+ if 'handling_amount' in data and float_compare(float(data.get('handling_amount')), tx.fees, 2) != 0:
+ invalid_parameters.append(('handling_amount', data.get('handling_amount'), tx.fees))
+ # check buyer
+ if tx.partner_reference and data.get('payer_id') != tx.partner_reference:
+ invalid_parameters.append(('payer_id', data.get('payer_id'), tx.partner_reference))
+ # check seller
+ if data.get('receiver_email') != tx.acquirer_id.paypal_email_account:
+ invalid_parameters.append(('receiver_email', data.get('receiver_email'), tx.acquirer_id.paypal_email_account))
+ if tx.acquirer_id.paypal_seller_account and data.get('receiver_id') != tx.acquirer_id.paypal_seller_account:
+ invalid_parameters.append(('receiver_id', data.get('receiver_id'), tx.acquirer_id.paypal_seller_account))
+
+ return invalid_parameters
+
+ def _paypal_form_validate(self, cr, uid, tx, data, context=None):
+ status = data.get('payment_status')
+ data = {
+ 'acquirer_reference': data.get('txn_id'),
+ 'paypal_txn_type': data.get('payment_type'),
+ 'partner_reference': data.get('payer_id')
+ }
+ if status in ['Completed', 'Processed']:
+ _logger.info('Validated Paypal payment for tx %s: set as done' % (tx.reference))
+ data.update(state='done', date_validate=data.get('payment_date', fields.datetime.now()))
+ return tx.write(data)
+ elif status in ['Pending', 'Expired']:
+ _logger.info('Received notification for Paypal payment %s: set as pending' % (tx.reference))
+ data.update(state='pending', state_message=data.get('pending_reason', ''))
+ return tx.write(data)
+ else:
+ error = 'Received unrecognized status for Paypal payment %s: %s, set as error' % (tx.reference, status)
+ _logger.info(error)
+ data.update(state='error', state_message=error)
+ return tx.write(data)
+
+ # --------------------------------------------------
+ # SERVER2SERVER RELATED METHODS
+ # --------------------------------------------------
+
+ def _paypal_try_url(self, request, tries=3, context=None):
+ """ Try to contact Paypal. Due to some issues, internal service errors
+ seem to be quite frequent. Several tries are done before considering
+ the communication as failed.
+
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ done, res = False, None
+ while (not done and tries):
+ try:
+ res = urllib2.urlopen(request)
+ done = True
+ except urllib2.HTTPError as e:
+ res = e.read()
+ e.close()
+ if tries and res and json.loads(res)['name'] == 'INTERNAL_SERVICE_ERROR':
+ _logger.warning('Failed contacting Paypal, retrying (%s remaining)' % tries)
+ tries = tries - 1
+ if not res:
+ pass
+ # raise openerp.exceptions.
+ result = res.read()
+ res.close()
+ return result
+
+ def _paypal_s2s_send(self, cr, uid, values, cc_values, context=None):
+ """
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ tx_id = self.create(cr, uid, values, context=context)
+ tx = self.browse(cr, uid, tx_id, context=context)
+
+ headers = {
+ 'Content-Type': 'application/json',
+ 'Authorization': 'Bearer %s' % tx.acquirer_id._paypal_s2s_get_access_token()[tx.acquirer_id.id],
+ }
+ data = {
+ 'intent': 'sale',
+ 'transactions': [{
+ 'amount': {
+ 'total': '%.2f' % tx.amount,
+ 'currency': tx.currency_id.name,
+ },
+ 'description': tx.reference,
+ }]
+ }
+ if cc_values:
+ data['payer'] = {
+ 'payment_method': 'credit_card',
+ 'funding_instruments': [{
+ 'credit_card': {
+ 'number': cc_values['number'],
+ 'type': cc_values['brand'],
+ 'expire_month': cc_values['expiry_mm'],
+ 'expire_year': cc_values['expiry_yy'],
+ 'cvv2': cc_values['cvc'],
+ 'first_name': tx.partner_name,
+ 'last_name': tx.partner_name,
+ 'billing_address': {
+ 'line1': tx.partner_address,
+ 'city': tx.partner_city,
+ 'country_code': tx.partner_country_id.code,
+ 'postal_code': tx.partner_zip,
+ }
+ }
+ }]
+ }
+ else:
+ # TODO: complete redirect URLs
+ data['redirect_urls'] = {
+ # 'return_url': 'http://example.com/your_redirect_url/',
+ # 'cancel_url': 'http://example.com/your_cancel_url/',
+ },
+ data['payer'] = {
+ 'payment_method': 'paypal',
+ }
+ data = json.dumps(data)
+
+ request = urllib2.Request('https://api.sandbox.paypal.com/v1/payments/payment', data, headers)
+ result = self._paypal_try_url(request, tries=3, context=context)
+ return (tx_id, result)
+
+ def _paypal_s2s_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ """
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ invalid_parameters = []
+ return invalid_parameters
+
+ def _paypal_s2s_validate(self, cr, uid, tx, data, context=None):
+ """
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ values = json.loads(data)
+ status = values.get('state')
+ if status in ['approved']:
+ _logger.info('Validated Paypal s2s payment for tx %s: set as done' % (tx.reference))
+ tx.write({
+ 'state': 'done',
+ 'date_validate': values.get('udpate_time', fields.datetime.now()),
+ 'paypal_txn_id': values['id'],
+ })
+ return True
+ elif status in ['pending', 'expired']:
+ _logger.info('Received notification for Paypal s2s payment %s: set as pending' % (tx.reference))
+ tx.write({
+ 'state': 'pending',
+ # 'state_message': data.get('pending_reason', ''),
+ 'paypal_txn_id': values['id'],
+ })
+ return True
+ else:
+ error = 'Received unrecognized status for Paypal s2s payment %s: %s, set as error' % (tx.reference, status)
+ _logger.info(error)
+ tx.write({
+ 'state': 'error',
+ # 'state_message': error,
+ 'paypal_txn_id': values['id'],
+ })
+ return False
+
+ def _paypal_s2s_get_tx_status(self, cr, uid, tx, context=None):
+ """
+ .. versionadded:: pre-v8 saas-3
+ .. warning::
+
+ Experimental code. You should not use it before OpenERP v8 official
+ release.
+ """
+ # TDETODO: check tx.paypal_txn_id is set
+ headers = {
+ 'Content-Type': 'application/json',
+ 'Authorization': 'Bearer %s' % tx.acquirer_id._paypal_s2s_get_access_token()[tx.acquirer_id.id],
+ }
+ url = 'https://api.sandbox.paypal.com/v1/payments/payment/%s' % (tx.paypal_txn_id)
+ request = urllib2.Request(url, headers=headers)
+ data = self._paypal_try_url(request, tries=3, context=context)
+ return self.s2s_feedback(cr, uid, tx.id, data, context=context)
diff --git a/addons/payment_paypal/models/res_company.py b/addons/payment_paypal/models/res_company.py
new file mode 100644
index 00000000000..83ac270be0c
--- /dev/null
+++ b/addons/payment_paypal/models/res_company.py
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+
+from openerp.osv import fields, osv
+
+
+class ResCompany(osv.Model):
+ _inherit = "res.company"
+
+ def _get_paypal_account(self, cr, uid, ids, name, arg, context=None):
+ Acquirer = self.pool['payment.acquirer']
+ company_id = self.pool['res.users'].browse(cr, uid, uid, context=context).company_id.id
+ paypal_ids = Acquirer.search(cr, uid, [
+ ('website_published', '=', True),
+ ('name', 'ilike', 'paypal'),
+ ('company_id', '=', company_id),
+ ], limit=1, context=context)
+ if paypal_ids:
+ paypal = Acquirer.browse(cr, uid, paypal_ids[0], context=context)
+ return dict.fromkeys(ids, paypal.paypal_email_account)
+ return dict.fromkeys(ids, False)
+
+ def _set_paypal_account(self, cr, uid, id, name, value, arg, context=None):
+ Acquirer = self.pool['payment.acquirer']
+ company_id = self.pool['res.users'].browse(cr, uid, uid, context=context).company_id.id
+ paypal_account = self.browse(cr, uid, id, context=context).paypal_account
+ paypal_ids = Acquirer.search(cr, uid, [
+ ('website_published', '=', True),
+ ('paypal_email_account', '=', paypal_account),
+ ('company_id', '=', company_id),
+ ], context=context)
+ if paypal_ids:
+ Acquirer.write(cr, uid, paypal_ids, {'paypal_email_account': value}, context=context)
+ return True
+
+ _columns = {
+ 'paypal_account': fields.function(
+ _get_paypal_account,
+ fnct_inv=_set_paypal_account,
+ nodrop=True,
+ type='char', string='Paypal Account',
+ help="Paypal username (usually email) for receiving online payments."
+ ),
+ }
diff --git a/addons/payment_paypal/static/description/icon.png b/addons/payment_paypal/static/description/icon.png
new file mode 100644
index 00000000000..35528a10508
Binary files /dev/null and b/addons/payment_paypal/static/description/icon.png differ
diff --git a/addons/payment_paypal/static/src/img/paypal_icon.png b/addons/payment_paypal/static/src/img/paypal_icon.png
new file mode 100644
index 00000000000..9d0534b3fa8
Binary files /dev/null and b/addons/payment_paypal/static/src/img/paypal_icon.png differ
diff --git a/addons/payment_paypal/static/src/img/paypal_logo.png b/addons/payment_paypal/static/src/img/paypal_logo.png
new file mode 100644
index 00000000000..4803ff5d1ef
Binary files /dev/null and b/addons/payment_paypal/static/src/img/paypal_logo.png differ
diff --git a/addons/payment_paypal/tests/__init__.py b/addons/payment_paypal/tests/__init__.py
new file mode 100644
index 00000000000..4c38b20e76a
--- /dev/null
+++ b/addons/payment_paypal/tests/__init__.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+
+# from . import test_paypal
+
+checks = [
+ # test_paypal,
+]
diff --git a/addons/payment_paypal/tests/test_paypal.py b/addons/payment_paypal/tests/test_paypal.py
new file mode 100644
index 00000000000..01f40ddd094
--- /dev/null
+++ b/addons/payment_paypal/tests/test_paypal.py
@@ -0,0 +1,242 @@
+# -*- coding: utf-8 -*-
+
+from openerp.addons.payment.models.payment_acquirer import ValidationError
+from openerp.addons.payment.tests.common import PaymentAcquirerCommon
+from openerp.addons.payment_paypal.controllers.main import PaypalController
+from openerp.tools import mute_logger
+
+from lxml import objectify
+import urlparse
+
+
+class PaypalCommon(PaymentAcquirerCommon):
+
+ def setUp(self):
+ super(PaypalCommon, self).setUp()
+ cr, uid = self.cr, self.uid
+ self.base_url = self.registry('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+
+ # get the paypal account
+ model, self.paypal_id = self.registry('ir.model.data').get_object_reference(cr, uid, 'payment_paypal', 'payment_acquirer_paypal')
+ # tde+seller@openerp.com - tde+buyer@openerp.com - tde+buyer-it@openerp.com
+
+ # some CC
+ self.amex = (('378282246310005', '123'), ('371449635398431', '123'))
+ self.amex_corporate = (('378734493671000', '123'))
+ self.autralian_bankcard = (('5610591081018250', '123'))
+ self.dinersclub = (('30569309025904', '123'), ('38520000023237', '123'))
+ self.discover = (('6011111111111117', '123'), ('6011000990139424', '123'))
+ self.jcb = (('3530111333300000', '123'), ('3566002020360505', '123'))
+ self.mastercard = (('5555555555554444', '123'), ('5105105105105100', '123'))
+ self.visa = (('4111111111111111', '123'), ('4012888888881881', '123'), ('4222222222222', '123'))
+ self.dankord_pbs = (('76009244561', '123'), ('5019717010103742', '123'))
+ self.switch_polo = (('6331101999990016', '123'))
+
+
+class PaypalServer2Server(PaypalCommon):
+
+ def test_00_tx_management(self):
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid things
+ paypal = self.payment_acquirer.browse(self.cr, self.uid, self.paypal_id, None)
+ self.assertEqual(paypal.env, 'test', 'test without test env')
+
+ res = self.payment_acquirer._paypal_s2s_get_access_token(cr, uid, [self.paypal_id], context=context)
+ self.assertTrue(res[self.paypal_id] is not False, 'paypal: did not generate access token')
+
+ tx_id = self.payment_transaction.s2s_create(
+ cr, uid, {
+ 'amount': 0.01,
+ 'acquirer_id': self.paypal_id,
+ 'currency_id': self.currency_euro_id,
+ 'reference': 'test_reference',
+ 'partner_id': self.buyer_id,
+ }, {
+ 'number': self.visa[0][0],
+ 'cvc': self.visa[0][1],
+ 'brand': 'visa',
+ 'expiry_mm': 9,
+ 'expiry_yy': 2015,
+ }, context=context
+ )
+
+ tx = self.payment_transaction.browse(cr, uid, tx_id, context=context)
+ self.assertTrue(tx.paypal_txn_id is not False, 'paypal: txn_id should have been set after s2s request')
+
+ self.payment_transaction.write(cr, uid, tx_id, {'paypal_txn_id': False}, context=context)
+
+
+class PaypalForm(PaypalCommon):
+
+ def test_10_paypal_form_render(self):
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid things
+ self.payment_acquirer.write(cr, uid, self.paypal_id, {'fees_active': False}, context)
+ paypal = self.payment_acquirer.browse(cr, uid, self.paypal_id, context)
+ self.assertEqual(paypal.env, 'test', 'test without test env')
+
+ # ----------------------------------------
+ # Test: button direct rendering
+ # ----------------------------------------
+
+ # render the button
+ res = self.payment_acquirer.render(
+ cr, uid, self.paypal_id,
+ 'test_ref0', 0.01, self.currency_euro_id,
+ partner_id=None,
+ partner_values=self.buyer_values,
+ context=context)
+
+ form_values = {
+ 'cmd': '_xclick',
+ 'business': 'tde+paypal-facilitator@openerp.com',
+ 'item_name': 'test_ref0',
+ 'item_number': 'test_ref0',
+ 'first_name': 'Buyer',
+ 'last_name': 'Norbert',
+ 'amount': '0.01',
+ 'currency_code': 'EUR',
+ 'address1': 'Huge Street 2/543',
+ 'city': 'Sin City',
+ 'zip': '1000',
+ 'country': 'Belgium',
+ 'email': 'norbert.buyer@example.com',
+ 'return': '%s' % urlparse.urljoin(self.base_url, PaypalController._return_url),
+ 'notify_url': '%s' % urlparse.urljoin(self.base_url, PaypalController._notify_url),
+ 'cancel_return': '%s' % urlparse.urljoin(self.base_url, PaypalController._cancel_url),
+ }
+
+ # check form result
+ tree = objectify.fromstring(res)
+ self.assertEqual(tree.get('action'), 'https://www.sandbox.paypal.com/cgi-bin/webscr', 'paypal: wrong form POST url')
+ for form_input in tree.input:
+ if form_input.get('name') in ['submit']:
+ continue
+ self.assertEqual(
+ form_input.get('value'),
+ form_values[form_input.get('name')],
+ 'paypal: wrong value for input %s: received %s instead of %s' % (form_input.get('name'), form_input.get('value'), form_values[form_input.get('name')])
+ )
+
+ def test_11_paypal_form_with_fees(self):
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid things
+ paypal = self.payment_acquirer.browse(self.cr, self.uid, self.paypal_id, None)
+ self.assertEqual(paypal.env, 'test', 'test without test env')
+
+ # update acquirer: compute fees
+ self.payment_acquirer.write(cr, uid, self.paypal_id, {
+ 'fees_active': True,
+ 'fees_dom_fixed': 1.0,
+ 'fees_dom_var': 0.35,
+ 'fees_int_fixed': 1.5,
+ 'fees_int_var': 0.50,
+ }, context)
+
+ # render the button
+ res = self.payment_acquirer.render(
+ cr, uid, self.paypal_id,
+ 'test_ref0', 12.50, self.currency_euro,
+ partner_id=None,
+ partner_values=self.buyer_values,
+ context=context)
+
+ # check form result
+ handling_found = False
+ tree = objectify.fromstring(res)
+ self.assertEqual(tree.get('action'), 'https://www.sandbox.paypal.com/cgi-bin/webscr', 'paypal: wrong form POST url')
+ for form_input in tree.input:
+ if form_input.get('name') in ['handling']:
+ handling_found = True
+ self.assertEqual(form_input.get('value'), '1.56', 'paypal: wrong computed fees')
+ self.assertTrue(handling_found, 'paypal: fees_active did not add handling input in rendered form')
+
+ @mute_logger('openerp.addons.payment_paypal.models.paypal', 'ValidationError')
+ def test_20_paypal_form_management(self):
+ cr, uid, context = self.cr, self.uid, {}
+ # be sure not to do stupid things
+ paypal = self.payment_acquirer.browse(cr, uid, self.paypal_id, context)
+ self.assertEqual(paypal.env, 'test', 'test without test env')
+
+ # typical data posted by paypal after client has successfully paid
+ paypal_post_data = {
+ 'protection_eligibility': u'Ineligible',
+ 'last_name': u'Poilu',
+ 'txn_id': u'08D73520KX778924N',
+ 'receiver_email': u'tde+paypal-facilitator@openerp.com',
+ 'payment_status': u'Pending',
+ 'payment_gross': u'',
+ 'tax': u'0.00',
+ 'residence_country': u'FR',
+ 'address_state': u'Alsace',
+ 'payer_status': u'verified',
+ 'txn_type': u'web_accept',
+ 'address_street': u'Av. de la Pelouse, 87648672 Mayet',
+ 'handling_amount': u'0.00',
+ 'payment_date': u'03:21:19 Nov 18, 2013 PST',
+ 'first_name': u'Norbert',
+ 'item_name': u'test_ref_2',
+ 'address_country': u'France',
+ 'charset': u'windows-1252',
+ 'custom': u'',
+ 'notify_version': u'3.7',
+ 'address_name': u'Norbert Poilu',
+ 'pending_reason': u'multi_currency',
+ 'item_number': u'test_ref_2',
+ 'receiver_id': u'DEG7Z7MYGT6QA',
+ 'transaction_subject': u'',
+ 'business': u'tde+paypal-facilitator@openerp.com',
+ 'test_ipn': u'1',
+ 'payer_id': u'VTDKRZQSAHYPS',
+ 'verify_sign': u'An5ns1Kso7MWUdW4ErQKJJJ4qi4-AVoiUf-3478q3vrSmqh08IouiYpM',
+ 'address_zip': u'75002',
+ 'address_country_code': u'FR',
+ 'address_city': u'Paris',
+ 'address_status': u'unconfirmed',
+ 'mc_currency': u'EUR',
+ 'shipping': u'0.00',
+ 'payer_email': u'tde+buyer@openerp.com',
+ 'payment_type': u'instant',
+ 'mc_gross': u'1.95',
+ 'ipn_track_id': u'866df2ccd444b',
+ 'quantity': u'1'
+ }
+
+ # should raise error about unknown tx
+ with self.assertRaises(ValidationError):
+ self.payment_transaction.form_feedback(cr, uid, paypal_post_data, 'paypal', context=context)
+
+ # create tx
+ tx_id = self.payment_transaction.create(
+ cr, uid, {
+ 'amount': 1.95,
+ 'acquirer_id': self.paypal_id,
+ 'currency_id': self.currency_euro_id,
+ 'reference': 'test_ref_2',
+ 'partner_name': 'Norbert Buyer',
+ 'partner_country_id': self.country_france_id,
+ }, context=context
+ )
+ # validate it
+ self.payment_transaction.form_feedback(cr, uid, paypal_post_data, 'paypal', context=context)
+ # check
+ tx = self.payment_transaction.browse(cr, uid, tx_id, context=context)
+ self.assertEqual(tx.state, 'pending', 'paypal: wrong state after receiving a valid pending notification')
+ self.assertEqual(tx.state_message, 'multi_currency', 'paypal: wrong state message after receiving a valid pending notification')
+ self.assertEqual(tx.paypal_txn_id, '08D73520KX778924N', 'paypal: wrong txn_id after receiving a valid pending notification')
+ self.assertFalse(tx.date_validate, 'paypal: validation date should not be updated whenr receiving pending notification')
+
+ # update tx
+ self.payment_transaction.write(cr, uid, [tx_id], {
+ 'state': 'draft',
+ 'paypal_txn_id': False,
+ }, context=context)
+ # update notification from paypal
+ paypal_post_data['payment_status'] = 'Completed'
+ # validate it
+ self.payment_transaction.form_feedback(cr, uid, paypal_post_data, 'paypal', context=context)
+ # check
+ tx = self.payment_transaction.browse(cr, uid, tx_id, context=context)
+ self.assertEqual(tx.state, 'done', 'paypal: wrong state after receiving a valid pending notification')
+ self.assertEqual(tx.paypal_txn_id, '08D73520KX778924N', 'paypal: wrong txn_id after receiving a valid pending notification')
+ self.assertEqual(tx.date_validate, '2013-11-18 03:21:19', 'paypal: wrong validation date')
diff --git a/addons/payment_paypal/views/payment_acquirer.xml b/addons/payment_paypal/views/payment_acquirer.xml
new file mode 100644
index 00000000000..835d96f42e9
--- /dev/null
+++ b/addons/payment_paypal/views/payment_acquirer.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+ acquirer.form.paypal
+ payment.acquirer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ acquirer.transaction.form.paypal
+ payment.transaction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_paypal/views/paypal.xml b/addons/payment_paypal/views/paypal.xml
new file mode 100644
index 00000000000..3c9ffacf2bf
--- /dev/null
+++ b/addons/payment_paypal/views/paypal.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_paypal/views/res_config_view.xml b/addons/payment_paypal/views/res_config_view.xml
new file mode 100644
index 00000000000..fbe23f71229
--- /dev/null
+++ b/addons/payment_paypal/views/res_config_view.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ account.config.settings
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/payment_transfer/__init__.py b/addons/payment_transfer/__init__.py
new file mode 100644
index 00000000000..dde6f25c728
--- /dev/null
+++ b/addons/payment_transfer/__init__.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2013-Today OpenERP SA ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+import models
+import controllers
diff --git a/addons/payment_transfer/__openerp__.py b/addons/payment_transfer/__openerp__.py
new file mode 100644
index 00000000000..f8c36b4f365
--- /dev/null
+++ b/addons/payment_transfer/__openerp__.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+
+{
+ 'name': 'Transfer Payment Acquirer',
+ 'category': 'Hidden',
+ 'summary': 'Payment Acquirer: Transfer Implementation',
+ 'version': '1.0',
+ 'description': """Transfer Payment Acquirer""",
+ 'author': 'OpenERP SA',
+ 'depends': ['payment'],
+ 'data': [
+ 'views/transfer.xml',
+ 'data/transfer.xml',
+ ],
+ 'installable': True,
+ 'auto_install': True,
+}
diff --git a/addons/payment_transfer/controllers/__init__.py b/addons/payment_transfer/controllers/__init__.py
new file mode 100644
index 00000000000..bbd183e955b
--- /dev/null
+++ b/addons/payment_transfer/controllers/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import main
diff --git a/addons/payment_transfer/controllers/main.py b/addons/payment_transfer/controllers/main.py
new file mode 100644
index 00000000000..917ac63cc81
--- /dev/null
+++ b/addons/payment_transfer/controllers/main.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+import logging
+import pprint
+import werkzeug
+
+from openerp import http, SUPERUSER_ID
+from openerp.http import request
+
+_logger = logging.getLogger(__name__)
+
+
+class OgoneController(http.Controller):
+ _accept_url = '/payment/transfer/feedback'
+
+ @http.route([
+ '/payment/transfer/feedback',
+ ], type='http', auth='none')
+ def transfer_form_feedback(self, **post):
+ cr, uid, context = request.cr, SUPERUSER_ID, request.context
+ _logger.info('Beginning form_feedback with post data %s', pprint.pformat(post)) # debug
+ request.registry['payment.transaction'].form_feedback(cr, uid, post, 'transfer', context)
+ return werkzeug.utils.redirect(post.pop('return_url', '/'))
diff --git a/addons/payment_transfer/data/transfer.xml b/addons/payment_transfer/data/transfer.xml
new file mode 100644
index 00000000000..c2863971d34
--- /dev/null
+++ b/addons/payment_transfer/data/transfer.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ transfer
+
+
+ manual
+ test
+
+ Transfer information will be provided after choosing the payment mode.]]>
+
+
+
+
+
diff --git a/addons/payment_transfer/models/__init__.py b/addons/payment_transfer/models/__init__.py
new file mode 100644
index 00000000000..da51c9c1854
--- /dev/null
+++ b/addons/payment_transfer/models/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+import payment_acquirer
diff --git a/addons/payment_transfer/models/payment_acquirer.py b/addons/payment_transfer/models/payment_acquirer.py
new file mode 100644
index 00000000000..90b1329ff25
--- /dev/null
+++ b/addons/payment_transfer/models/payment_acquirer.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-'8' "-*-"
+
+from openerp.addons.payment.models.payment_acquirer import ValidationError
+from openerp.osv import osv
+from openerp.tools.float_utils import float_compare
+from openerp.tools.translate import _
+
+import logging
+import pprint
+
+_logger = logging.getLogger(__name__)
+
+
+class TransferPaymentAcquirer(osv.Model):
+ _inherit = 'payment.acquirer'
+
+ def transfer_get_form_action_url(self, cr, uid, id, context=None):
+ return '/payment/transfer/feedback'
+
+ def _format_transfer_data(self, cr, uid, context=None):
+ bank_ids = [bank.id for bank in self.pool['res.users'].browse(cr, uid, uid, context=context).company_id.bank_ids]
+ # filter only bank accounts marked as visible
+ bank_ids = self.pool['res.partner.bank'].search(cr, uid, [('id', 'in', bank_ids), ('footer', '=', True)], context=context)
+ accounts = self.pool['res.partner.bank'].name_get(cr, uid, bank_ids, context=context)
+ bank_title = _('Bank Accounts') if len(accounts) > 1 else _('Bank Account')
+ bank_accounts = ''.join([''] + ['%s ' % name for id, name in accounts] + [' '])
+ post_msg = '''
+
Please use the following transfer details
+
%(bank_title)s
+%(bank_accounts)s
+
Communication
+
Please use the order name as communication reference.
+
''' % {
+ 'bank_title': bank_title,
+ 'bank_accounts': bank_accounts,
+ }
+ return post_msg
+
+ def create(self, cr, uid, values, context=None):
+ """ Hook in create to create a default post_msg. This is done in create
+ to have access to the name and other creation values. If no post_msg
+ or a void post_msg is given at creation, generate a default one. """
+ if values.get('name') == 'transfer' and not values.get('post_msg'):
+ values['post_msg'] = self._format_transfer_data(cr, uid, context=context)
+ return super(TransferPaymentAcquirer, self).create(cr, uid, values, context=context)
+
+
+class TransferPaymentTransaction(osv.Model):
+ _inherit = 'payment.transaction'
+
+ def _transfer_form_get_tx_from_data(self, cr, uid, data, context=None):
+ reference, amount, currency_name = data.get('reference'), data.get('amount'), data.get('currency_name')
+ tx_ids = self.search(
+ cr, uid, [
+ ('reference', '=', reference),
+ ], context=context)
+
+ if not tx_ids or len(tx_ids) > 1:
+ error_msg = 'received data for reference %s' % (pprint.pformat(reference))
+ if not tx_ids:
+ error_msg += '; no order found'
+ else:
+ error_msg += '; multiple order found'
+ _logger.error(error_msg)
+ raise ValidationError(error_msg)
+
+ return self.browse(cr, uid, tx_ids[0], context=context)
+
+ def _transfer_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ invalid_parameters = []
+
+ if float_compare(float(data.get('amount', '0.0')), tx.amount, 2) != 0:
+ invalid_parameters.append(('amount', data.get('amount'), '%.2f' % tx.amount))
+ if data.get('currency') != tx.currency_id.name:
+ invalid_parameters.append(('currency', data.get('currency'), tx.currency_id.name))
+
+ return invalid_parameters
+
+ def _transfer_form_validate(self, cr, uid, tx, data, context=None):
+ _logger.info('Validated transfer payment for tx %s: set as pending' % (tx.reference))
+ return tx.write({'state': 'pending'})
diff --git a/addons/payment_transfer/static/description/icon.png b/addons/payment_transfer/static/description/icon.png
new file mode 100644
index 00000000000..183937ed9ce
Binary files /dev/null and b/addons/payment_transfer/static/description/icon.png differ
diff --git a/addons/payment_transfer/static/src/img/transfer_icon.png b/addons/payment_transfer/static/src/img/transfer_icon.png
new file mode 100644
index 00000000000..63b10e383ec
Binary files /dev/null and b/addons/payment_transfer/static/src/img/transfer_icon.png differ
diff --git a/addons/payment_transfer/views/transfer.xml b/addons/payment_transfer/views/transfer.xml
new file mode 100644
index 00000000000..ddb45d32e8d
--- /dev/null
+++ b/addons/payment_transfer/views/transfer.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/point_of_sale/controllers/main.py b/addons/point_of_sale/controllers/main.py
index c91fde8b6bb..a340b5f6262 100644
--- a/addons/point_of_sale/controllers/main.py
+++ b/addons/point_of_sale/controllers/main.py
@@ -8,7 +8,7 @@ import random
from openerp import http
from openerp.http import request
-from openerp.addons.web.controllers.main import manifest_list, module_boot
+from openerp.addons.web.controllers.main import manifest_list, module_boot, html_template
_logger = logging.getLogger(__name__)
@@ -83,4 +83,3 @@ class PosController(http.Controller):
"""
}
return r
-
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index 6bd5b6bfce3..30fcff2e5e6 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -1267,80 +1267,6 @@ class pos_order_line(osv.osv):
})
return super(pos_order_line, self).copy_data(cr, uid, id, default, context=context)
-class pos_category(osv.osv):
- _name = 'pos.category'
- _description = "Point of Sale Category"
- _order = "sequence, name"
- def _check_recursion(self, cr, uid, ids, context=None):
- level = 100
- while len(ids):
- cr.execute('select distinct parent_id from pos_category where id IN %s',(tuple(ids),))
- ids = filter(None, map(lambda x:x[0], cr.fetchall()))
- if not level:
- return False
- level -= 1
- return True
-
- _constraints = [
- (_check_recursion, 'Error ! You cannot create recursive categories.', ['parent_id'])
- ]
-
- def name_get(self, cr, uid, ids, context=None):
- if not len(ids):
- return []
- reads = self.read(cr, uid, ids, ['name','parent_id'], context=context)
- res = []
- for record in reads:
- name = record['name']
- if record['parent_id']:
- name = record['parent_id'][1]+' / '+name
- res.append((record['id'], name))
- return res
-
- def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):
- res = self.name_get(cr, uid, ids, context=context)
- return dict(res)
-
- def _get_image(self, cr, uid, ids, name, args, context=None):
- result = dict.fromkeys(ids, False)
- for obj in self.browse(cr, uid, ids, context=context):
- result[obj.id] = tools.image_get_resized_images(obj.image)
- return result
-
- def _set_image(self, cr, uid, id, name, value, args, context=None):
- return self.write(cr, uid, [id], {'image': tools.image_resize_image_big(value)}, context=context)
-
- _columns = {
- 'name': fields.char('Name', size=64, required=True, translate=True),
- 'complete_name': fields.function(_name_get_fnc, type="char", string='Name'),
- 'parent_id': fields.many2one('pos.category','Parent Category', select=True),
- 'child_id': fields.one2many('pos.category', 'parent_id', string='Children Categories'),
- 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."),
-
- # NOTE: there is no 'default image', because by default we don't show thumbnails for categories. However if we have a thumbnail
- # for at least one category, then we display a default image on the other, so that the buttons have consistent styling.
- # In this case, the default image is set by the js code.
- # NOTE2: image: all image fields are base64 encoded and PIL-supported
- 'image': fields.binary("Image",
- help="This field holds the image used as image for the cateogry, limited to 1024x1024px."),
- 'image_medium': fields.function(_get_image, fnct_inv=_set_image,
- string="Medium-sized image", type="binary", multi="_get_image",
- store={
- 'pos.category': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
- },
- help="Medium-sized image of the category. It is automatically "\
- "resized as a 128x128px image, with aspect ratio preserved. "\
- "Use this field in form views or some kanban views."),
- 'image_small': fields.function(_get_image, fnct_inv=_set_image,
- string="Smal-sized image", type="binary", multi="_get_image",
- store={
- 'pos.category': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
- },
- help="Small-sized image of the category. It is automatically "\
- "resized as a 64x64px image, with aspect ratio preserved. "\
- "Use this field anywhere a small image is required."),
- }
-
import io, StringIO
class ean_wizard(osv.osv_memory):
@@ -1379,12 +1305,9 @@ class product_product(osv.osv):
'income_pdt': fields.boolean('Point of Sale Cash In', help="Check if, this is a product you can use to put cash into a statement for the point of sale backend."),
'expense_pdt': fields.boolean('Point of Sale Cash Out', help="Check if, this is a product you can use to take cash from a statement for the point of sale backend, example: money lost, transfer to bank, etc."),
'available_in_pos': fields.boolean('Available in the Point of Sale', help='Check if you want this product to appear in the Point of Sale'),
- 'pos_categ_id': fields.many2one('pos.category','Point of Sale Category',
- help="These products belong to those categories that are used to group similar products and are specific to the Point of Sale."),
'to_weight' : fields.boolean('To Weight', help="Check if the product should be weighted (mainly used with self check-out interface)."),
}
-
_defaults = {
'to_weight' : False,
'available_in_pos': True,
diff --git a/addons/point_of_sale/point_of_sale_demo.xml b/addons/point_of_sale/point_of_sale_demo.xml
index 7f716838f8d..a0a68ece880 100644
--- a/addons/point_of_sale/point_of_sale_demo.xml
+++ b/addons/point_of_sale/point_of_sale_demo.xml
@@ -39,141 +39,145 @@
-
+
-
+
+
+
+
+
Beverages
-
+
Water
-
+
Plain Water
-
+
Sparkling Water
-
+
Soda
-
+
Coke
-
+
Orange
-
+
Beers
-
+
Pils
-
+
Fruity Beers
-
+
Special Beers
-
+
Food
-
+
Pizza
-
+
Ice Cream
-
+
Chips
-
+
Fresh Fruits
-
+
Oranges
-
+
Apples
-
+
Other Citrus
-
+
Pears
-
+
Berries
-
+
Grapes
-
+
Fresh vegetables
-
+
Potatoes
-
+
Root vegetables
-
+
Tomatos
-
+
Onions / Garlic / Shallots
-
+
Other fresh vegetables
@@ -187,7 +191,7 @@
Boni Oranges
True
2100002000003
-
+
@@ -196,7 +200,7 @@
True
2.83
Orange Butterfly
-
+
True
@@ -209,7 +213,7 @@
Lemon
2301000000006
True
-
+
@@ -219,7 +223,7 @@
3.19
Stringers
True
-
+
@@ -229,7 +233,7 @@
1.98
Red grapefruit
True
-
+
@@ -240,7 +244,7 @@
2.09
Granny Smith apples
True
-
+
@@ -250,7 +254,7 @@
1.10
Jonagold apples
True
-
+
@@ -260,7 +264,7 @@
1.69
Golden Apples Perlim
True
-
+
@@ -271,7 +275,7 @@
1.70
Conference pears
True
-
+
@@ -282,7 +286,7 @@
5.70
Peach
True
-
+
@@ -293,7 +297,7 @@
Peaches
True
2300001000008
-
+
@@ -304,7 +308,7 @@
4.80
Black Grapes
True
-
+
@@ -315,7 +319,7 @@
1.39
Potatoes
True
-
+
@@ -326,7 +330,7 @@
2.20
Extra Flandria chicory
True
-
+
@@ -336,7 +340,7 @@
0.90
Carrots
True
-
+
@@ -346,7 +350,7 @@
2.10
Fennel
True
-
+
@@ -357,7 +361,7 @@
1.90
In Cluster Tomatoes
True
-
+
@@ -369,7 +373,7 @@
Onions
True
2100001000004
-
+
@@ -380,7 +384,7 @@
3.10
Red Pepper
True
-
+
@@ -390,7 +394,7 @@
3.00
Green Peppers
True
-
+
@@ -400,7 +404,7 @@
2.70
Yellow Peppers
True
-
+
@@ -410,7 +414,7 @@
2.29
Leeks
True
-
+
@@ -420,7 +424,7 @@
1.20
Zucchini
True
-
+
@@ -431,21 +435,21 @@
1.49
Coca-Cola Regular 1L
5449000054227
-
+
True
2.38
Coca-Cola Regular 2L
-
+
True
0.97
Coca-Cola Regular 50cl
-
+
@@ -453,7 +457,7 @@
0.51
Coca-Cola Regular 33cl
5449000000996
-
+
@@ -461,35 +465,35 @@
True
1.49
Coca-Cola Light 1L
-
+
True
2.38
Coca-Cola Light 2L
-
+
True
0.97
Coca-Cola Light 50cl
-
+
True
0.51
Coca-Cola Light 33cl
-
+
True
0.53
Coca-Cola Light 33cl Decaf
-
+
@@ -497,35 +501,35 @@
True
1.49
Coca-Cola Zero 1L
-
+
True
2.38
Coca-Cola Zero 2L
-
+
True
0.97
Coca-Cola Zero 50cl
-
+
True
0.51
Coca-Cola Zero 33cl
-
+
True
0.67
Coca-Cola Zero Decaf 33cl
-
+
@@ -533,21 +537,21 @@
True
2.83
Coca-Cola Light Lemon 2L
-
+
True
1.16
Coca-Cola Light Lemon 50cl
-
+
True
0.53
Coca-Cola Light Lemon 33cl
-
+
@@ -555,42 +559,42 @@
True
1.70
Pepsi 2L
-
+
True
0.43
Pepsi 33cl
-
+
True
1.71
Pepsi Max 2L
-
+
True
0.40
Pepsi Max 33cl
-
+
True
0.61
Pepsi Max 50cl
-
+
True
0.40
Pepsi Max Cool Lemon 33cl
-
+
@@ -598,63 +602,63 @@
True
0.75
Spa Fruit and Orange 50cl
-
+
True
0.72
Orangina 33cl
-
+
True
2.42
Orangina 1.5L
-
+
True
0.98
Fanta Orange 50cl
-
+
True
2.28
Fanta Orange 2L
-
+
True
0.51
Fanta Orange 33cl
-
+
True
0.84
Fanta Orange 25cl
-
+
True
2.08
Fanta Orange Zero 1.5L
-
+
True
0.53
Fanta Zero Orange 33cl
-
+
@@ -662,56 +666,56 @@
True
0.52
Evian 50cl
-
+
True
0.70
Evian 1L
-
+
True
1.26
2L Evian
-
+
True
0.40
Spa Reine 33cl
-
+
True
0.46
Spa Reine 50cl
-
+
True
0.65
Spa Reine 1L
-
+
True
1.30
Spa Reine 2L
-
+
True
0.34
Chaudfontaine 33cl
-
+
@@ -719,14 +723,14 @@
0.44
5449000111715
Chaudfontaine 50cl
-
+
True
0.86
Chaudfontaine 1.5l
-
+
@@ -734,63 +738,63 @@
True
0.38
Spa Barisart 33cl
-
+
True
0.49
Spa Barisart 50cl
-
+
True
1.00
Spa Barisart 1.5l
-
+
True
0.41
Chaudfontaine Petillante 33cl
-
+
True
0.57
Chaudfontaine Petillante 50cl
-
+
True
0.98
Chaudfontaine Petillante 1.5l
-
+
True
0.71
50cl Perrier
-
+
True
0.96
Perrier 1L
-
+
True
0.98
San Pellegrino 1L
-
+
@@ -798,35 +802,35 @@
True
1.19
Stella Artois 50cl
-
+
True
0.82
Stella Artois 33cl
-
+
True
0.95
Maes 50cl
-
+
True
0.77
Maes 33cl
-
+
True
0.97
Jupiler 50cl
-
+
@@ -834,7 +838,7 @@
0.77
5410228142027
Jupiler 33cl
-
+
@@ -842,49 +846,49 @@
True
2.53
Boon Framboise 37.5cl
-
+
True
1.54
Timmermans Geuze 37.5cl
-
+
True
1.7
Timmermans Kriek 37.5cl
-
+
True
1.56
Timmermans Faro 37.5cl
-
+
True
1.94
Lindemans sinful 37.5cl
-
+
True
1.51
Lindemans Kriek 37.5cl
-
+
True
1.04
Grisette Cherry 25cl
-
+
@@ -892,7 +896,7 @@
0.83
Belle-Vue Kriek 25cl
5410228193449
-
+
@@ -901,7 +905,7 @@
1.00
Leffe Brune 33cl
5410228142164
-
+
@@ -909,49 +913,49 @@
1.00
Leffe Blonde 33cl
5410228142218
-
+
True
1.16
Leffe Brune "9" 33cl
-
+
True
1.59
Orval 33cl
-
+
True
1.75
Rochefort "8" 33cl
-
+
True
1.46
Chimay Bleu 33cl
-
+
True
3.57
Chimay Bleu 75cl
-
+
True
1.02
Chimay Red 33cl
-
+
@@ -959,84 +963,84 @@
True
2.86
Dr. Oetker Ristorante Mozzarella
-
+
True
2.86
Dr. Oetker Ristorante Bolognese
-
+
True
2.86
Dr. Oetker Ristorante Funghi
-
+
True
2.86
Dr. Oetker Ristorante Hawaii
-
+
True
2.86
Dr. Oetker Ristorante Pollo
-
+
True
2.86
Dr. Oetker Ristorante Prosciutto
-
+
True
2.86
Dr. Oetker Ristorante Quattro Formaggi
-
+
True
2.86
Dr. Oetker Ristorante Speciale
-
+
True
2.86
Dr. Oetker Ristorante Spinaci
-
+
True
2.86
Dr. Oetker Ristorante Tonno
-
+
True
2.86
Dr. Oetker Ristorante Vegetable
-
+
True
2.67
Dr. Oetker La Margherita
-
+
@@ -1044,42 +1048,42 @@
True
0.33
Croky Paprika 45g
-
+
True
0.39
Croky Natural 45g
-
+
True
1.78
Croky Bolognese 250g
-
+
True
1.48
250g Lays Pickels
-
+
True
1.48
Lays Ketchup 250g
-
+
True
1.58
Lays Salt and Pepper Oven Baked 150g
-
+
@@ -1087,35 +1091,35 @@
True
1.54
Oven Baked Lays Paprika 150g
-
+
True
1.55
Lays Paprika XXL 300g
-
+
True
1.48
Lays Light Paprika 170g
-
+
True
1.48
Lays Light Paprika 170g
-
+
True
0.39
Lays Paprika 45g
-
+
@@ -1123,35 +1127,35 @@
True
1.54
Oven Baked Lays Natural 150g
-
+
True
1.55
Lays Natural XXL 300g
-
+
True
1.48
Lays Natural Light 170g
-
+
True
1.48
Lays Natural Light 170g
-
+
True
0.39
Lays Natural 45g
-
+
@@ -1159,35 +1163,35 @@
True
7.60
IJsboerke Chocolat 2.5L
-
+
True
7.60
IJsboerke Mocha 2.5L
-
+
True
7.40
IJsboerke Vanilla 2.5L
-
+
True
8.40
IJsboerke Stracciatella 2.5L
-
+
True
7.60
IJsboerke 2.5L White Lady
-
+
diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml
index d7879f50f39..50573017909 100644
--- a/addons/point_of_sale/point_of_sale_view.xml
+++ b/addons/point_of_sale/point_of_sale_view.xml
@@ -615,7 +615,6 @@
-
@@ -628,56 +627,7 @@
-
- pos.category.form
- pos.category
-
-
-
-
-
- pos.category.tree
- pos.category
-
-
-
-
-
-
-
-
-
- Product Categories
- ir.actions.act_window
- pos.category
- form
- tree,form
-
-
-
- Click to define a new category.
-
- Categories are used to browse your products through the
- touchscreen interface.
-
- If you put a photo on the category, the layout of the
- touchscreen interface will automatically. We suggest not to put
- a photo on categories for small (1024x768) screens.
-
-
-
-
+
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import logging
-from urllib import quote as quote
-
-from openerp.osv import osv, fields
-from openerp.tools.translate import _
-from openerp.tools import float_repr
-
-_logger = logging.getLogger(__name__)
-try:
- from mako.template import Template as MakoTemplate
-except ImportError:
- _logger.warning("payment_acquirer: mako templates not available, payment acquirer will not work!")
-
-
-class acquirer(osv.Model):
- _name = 'portal.payment.acquirer'
- _description = 'Online Payment Acquirer'
-
- _columns = {
- 'name': fields.char('Name', required=True),
- 'form_template': fields.text('Payment form template (HTML)', translate=True, required=True),
- 'visible': fields.boolean('Visible', help="Make this payment acquirer available in portal forms (Customer invoices, etc.)"),
- }
-
- _defaults = {
- 'visible': True,
- }
-
- def render(self, cr, uid, id, object, reference, currency, amount, context=None, **kwargs):
- """ Renders the form template of the given acquirer as a mako template """
- if not isinstance(id, (int,long)):
- id = id[0]
- this = self.browse(cr, uid, id)
- if context is None:
- context = {}
- try:
- i18n_kind = _(object._description) # may fail to translate, but at least we try
- result = MakoTemplate(this.form_template).render_unicode(object=object,
- reference=reference,
- currency=currency,
- amount=amount,
- kind=i18n_kind,
- quote=quote,
- # context kw would clash with mako internals
- ctx=context,
- format_exceptions=True)
- return result.strip()
- except Exception:
- _logger.exception("failed to render mako template value for payment.acquirer %s: %r", this.name, this.form_template)
- return
-
- def _wrap_payment_block(self, cr, uid, html_block, amount, currency, context=None):
- if not html_block:
- link = '#action=account.action_account_config'
- payment_header = _('You can finish the configuration in the Bank&Cash settings ') % link
- amount = _('No online payment acquirers configured')
- group_ids = self.pool.get('res.users').browse(cr, uid, uid, context=context).groups_id
- if any(group.is_portal for group in group_ids):
- return ''
- else:
- payment_header = _('Pay safely online')
- amount_str = float_repr(amount, self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))
- currency_str = currency.symbol or currency.name
- amount = u"%s %s" % ((currency_str, amount_str) if currency.position == 'before' else (amount_str, currency_str))
- result = """
-
- %%s
-
""" % (amount, payment_header)
- return result % html_block
-
- def render_payment_block(self, cr, uid, object, reference, currency, amount, context=None, **kwargs):
- """ Renders all visible payment acquirer forms for the given rendering context, and
- return them wrapped in an appropriate HTML block, ready for direct inclusion
- in an OpenERP v7 form view """
- acquirer_ids = self.search(cr, uid, [('visible', '=', True)])
- if not acquirer_ids:
- return
- html_forms = []
- for this in self.browse(cr, uid, acquirer_ids):
- content = this.render(object, reference, currency, amount, context=context, **kwargs)
- if content:
- html_forms.append(content)
- html_block = '\n'.join(filter(None,html_forms))
- return self._wrap_payment_block(cr, uid, html_block, amount, currency, context=context)
diff --git a/addons/portal/acquirer_view.xml b/addons/portal/acquirer_view.xml
deleted file mode 100644
index 53e0591009e..00000000000
--- a/addons/portal/acquirer_view.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
- portal.payment.acquirer
-
-
-
-
-
- portal.payment.acquirer
-
-
-
-
-
-
-
-
- portal.payment.acquirer
-
-
-
-
-
-
-
-
-
- Payment Acquirers
- portal.payment.acquirer
-
-
-
-
-
diff --git a/addons/portal/portal_data.xml b/addons/portal/portal_data.xml
index 5c7fa14ce2a..35dee070c71 100644
--- a/addons/portal/portal_data.xml
+++ b/addons/portal/portal_data.xml
@@ -2,111 +2,13 @@
-
-
- Portal
- Portal members have specific access rights (such as record rules and restricted menus).
- They usually do not belong to the usual OpenERP groups.
+
+
-
-
-
-
-
- Company News
- public
-
-
-
- News
- mail.wall
- mail.group
-
-
-
- Youd don't have unread company's news.
-
-
-
-
-
-
- Company Jobs
- public
-
-
-
- Jobs
- mail.wall
- mail.group
-
-
-
- Youd don't have unread job offers.
-
-
-
-
-
-
- Anonymous
- Anonymous users have specific access rights (such as record rules and restricted menus).
- They usually do not belong to the usual OpenERP groups.
-
-
-
- Paypal
-
-
-
-
-
-
-
-
-% endif
- ]]>
-
-
-
-
-
+
diff --git a/addons/portal/portal_demo.xml b/addons/portal/portal_demo.xml
index 01986d060ac..3abc9c8cef5 100644
--- a/addons/portal/portal_demo.xml
+++ b/addons/portal/portal_demo.xml
@@ -5,10 +5,14 @@
Demo Portal User
- demo@portal.example.com
+ demo.portal@yourcompany.example.com
none
+ Vivegnis
+ 4683
+
+ Rue Cesar de Paepe, 43
@@ -22,52 +26,9 @@ Mr Demo Portal
-
+
-
-
- Our company's first blog-post !
- mail.group
-
- Hello, and welcome to our company's portal !
-It is a great pleasure to announce you the creation of our portal by writing this first news! As you may have seen, a new discussion group is now present under your 'My groups' menu: Company's News . We will post news about the company and its employees in this discussion group. Moreover, we will be able to communicate with our partners that are given the opportunity to join us in our portal.
-A new era of communication has begun! Feel free to post your feelings about our portal by replying on this message!
]]>
- comment
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/portal/portal_view.xml b/addons/portal/portal_view.xml
index 1ff98bdc77f..6ba5c3a315b 100644
--- a/addons/portal/portal_view.xml
+++ b/addons/portal/portal_view.xml
@@ -5,10 +5,10 @@
-
+
Inbox
@@ -99,9 +99,9 @@
+ action="action_mail_inbox_feeds_portal" sequence="10" groups="base.group_portal"/>
+ action="action_mail_archives_feeds_portal" sequence="30" groups="base.group_portal"/>
Group Search
diff --git a/addons/portal/security/ir.model.access.csv b/addons/portal/security/ir.model.access.csv
index e365b39abca..1ec8d4d0be2 100644
--- a/addons/portal/security/ir.model.access.csv
+++ b/addons/portal/security/ir.model.access.csv
@@ -1,9 +1,6 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_mail_message_portal,mail.message.portal,mail.model_mail_message,group_portal,1,1,1,1
-access_mail_mail_portal,mail.mail.portal,mail.model_mail_mail,group_portal,1,1,1,0
-access_mail_notification_portal,mail.notification.portal,mail.model_mail_notification,group_portal,1,1,1,0
-access_mail_followers_portal,mail.followers.portal,mail.model_mail_followers,group_portal,1,1,0,0
-access_res_partner_portal,res.partner.portal,base.model_res_partner,portal.group_portal,1,0,0,0
-access_acquirer,portal.payment.acquirer,portal.model_portal_payment_acquirer,,1,0,0,0
-access_acquirer_all,portal.payment.acquirer,portal.model_portal_payment_acquirer,base.group_system,1,1,1,1
-access_ir_attachment_group_portal,ir.attachment group_portal,base.model_ir_attachment,portal.group_portal,1,0,1,0
+access_mail_message_portal,mail.message.portal,mail.model_mail_message,base.group_portal,1,1,1,1
+access_mail_mail_portal,mail.mail.portal,mail.model_mail_mail,base.group_portal,1,1,1,0
+access_mail_notification_portal,mail.notification.portal,mail.model_mail_notification,base.group_portal,1,1,1,0
+access_mail_followers_portal,mail.followers.portal,mail.model_mail_followers,base.group_portal,1,1,0,0
+access_ir_attachment_group_portal,ir.attachment group_portal,base.model_ir_attachment,base.group_portal,1,0,1,0
\ No newline at end of file
diff --git a/addons/portal/security/portal_security.xml b/addons/portal/security/portal_security.xml
deleted file mode 100644
index 02080bdc0ab..00000000000
--- a/addons/portal/security/portal_security.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- res_partner: read access on my partner
-
- [('id', 'child_of', user.commercial_partner_id.id)]
-
-
-
-
-
-
-
-
diff --git a/addons/portal/tests/test_portal.py b/addons/portal/tests/test_portal.py
index 12c64d7588c..66cb0958774 100644
--- a/addons/portal/tests/test_portal.py
+++ b/addons/portal/tests/test_portal.py
@@ -20,6 +20,7 @@
##############################################################################
from openerp.addons.mail.tests.common import TestMail
+from openerp.exceptions import AccessError
from openerp.osv.orm import except_orm
from openerp.tools.misc import mute_logger
@@ -31,7 +32,7 @@ class test_portal(TestMail):
cr, uid = self.cr, self.uid
# Find Portal group
- group_portal = self.registry('ir.model.data').get_object(cr, uid, 'portal', 'group_portal')
+ group_portal = self.registry('ir.model.data').get_object(cr, uid, 'base', 'group_portal')
self.group_portal_id = group_portal.id
# Create Chell (portal user)
@@ -63,7 +64,7 @@ class test_portal(TestMail):
trigger_read = chell_pigs.name
# Do: Chell posts a message on Pigs, crash because can not write on group or is not in the followers
- with self.assertRaises(except_orm):
+ with self.assertRaises(AccessError):
self.mail_group.message_post(cr, self.user_chell_id, self.group_pigs_id, body='Message')
# Do: Chell is added into Pigs followers and browse it -> ok for messages, ko for partners (no read permission)
diff --git a/addons/portal_anonymous/__openerp__.py b/addons/portal_anonymous/__openerp__.py
deleted file mode 100644
index 5fe25614c40..00000000000
--- a/addons/portal_anonymous/__openerp__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- 'name': 'Anonymous portal',
- 'description': """
-Allow anonymous to Access Portal.
-=================================
- """,
- 'author': 'OpenERP SA',
- 'version': '1.0',
- 'category': 'Hidden',
- 'website': 'http://www.openerp.com',
- 'installable': True,
- 'depends': ['portal', 'web'],
- 'data': [
- 'security/ir.model.access.csv',
- 'portal_anonymous_data.xml',
- ],
- 'js': ['static/src/js/portal_anonymous.js'],
- 'qweb': ['static/src/xml/portal_anonymous.xml'],
-}
diff --git a/addons/portal_anonymous/i18n/ar.po b/addons/portal_anonymous/i18n/ar.po
deleted file mode 100644
index ee0e2dc77ef..00000000000
--- a/addons/portal_anonymous/i18n/ar.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Arabic translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-11-26 18:39+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Arabic \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-27 04:37+0000\n"
-"X-Generator: Launchpad (build 16845)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "تسجيل الدخول"
diff --git a/addons/portal_anonymous/i18n/cs.po b/addons/portal_anonymous/i18n/cs.po
deleted file mode 100644
index d22bfe9a008..00000000000
--- a/addons/portal_anonymous/i18n/cs.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Czech translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-01 11:28+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Czech \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Přihlásit se"
diff --git a/addons/portal_anonymous/i18n/da.po b/addons/portal_anonymous/i18n/da.po
deleted file mode 100644
index e12356263b9..00000000000
--- a/addons/portal_anonymous/i18n/da.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Danish translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-09-15 20:32+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Danish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-16 05:42+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Login"
diff --git a/addons/portal_anonymous/i18n/de.po b/addons/portal_anonymous/i18n/de.po
deleted file mode 100644
index 4aaf291dff2..00000000000
--- a/addons/portal_anonymous/i18n/de.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# German translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-09-02 10:44+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: German \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Anmelden"
diff --git a/addons/portal_anonymous/i18n/en_AU.po b/addons/portal_anonymous/i18n/en_AU.po
deleted file mode 100644
index 6de2d889161..00000000000
--- a/addons/portal_anonymous/i18n/en_AU.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# English (Australia) translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-06-24 01:47+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: English (Australia) \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Login"
diff --git a/addons/portal_anonymous/i18n/en_GB.po b/addons/portal_anonymous/i18n/en_GB.po
deleted file mode 100644
index a1ccfa193b6..00000000000
--- a/addons/portal_anonymous/i18n/en_GB.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# English (United Kingdom) translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-08-23 16:44+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: English (United Kingdom) \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Login"
diff --git a/addons/portal_anonymous/i18n/es.po b/addons/portal_anonymous/i18n/es.po
deleted file mode 100644
index 4403391c978..00000000000
--- a/addons/portal_anonymous/i18n/es.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Spanish translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-27 11:38+0000\n"
-"Last-Translator: Francisco Lercari (Lertech) \n"
-"Language-Team: Spanish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Inicio de sesión"
diff --git a/addons/portal_anonymous/i18n/fi.po b/addons/portal_anonymous/i18n/fi.po
deleted file mode 100644
index 7aa99c2f05e..00000000000
--- a/addons/portal_anonymous/i18n/fi.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Finnish translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-12-01 22:23+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: 2013-12-02 05:23+0000\n"
-"X-Generator: Launchpad (build 16856)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Kirjautuminen"
diff --git a/addons/portal_anonymous/i18n/fr.po b/addons/portal_anonymous/i18n/fr.po
deleted file mode 100644
index 65e5bc9b0a6..00000000000
--- a/addons/portal_anonymous/i18n/fr.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# French translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-03 17:05+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: French \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Identifiant"
diff --git a/addons/portal_anonymous/i18n/hr.po b/addons/portal_anonymous/i18n/hr.po
deleted file mode 100644
index bc4e3b30eda..00000000000
--- a/addons/portal_anonymous/i18n/hr.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Croatian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-09-19 13:17+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Croatian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-20 05:38+0000\n"
-"X-Generator: Launchpad (build 16765)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Prijava"
diff --git a/addons/portal_anonymous/i18n/hu.po b/addons/portal_anonymous/i18n/hu.po
deleted file mode 100644
index 258cf6fe9b2..00000000000
--- a/addons/portal_anonymous/i18n/hu.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Hungarian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-01 10:21+0000\n"
-"Last-Translator: krnkris \n"
-"Language-Team: Hungarian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Bejelentkezés"
diff --git a/addons/portal_anonymous/i18n/lt.po b/addons/portal_anonymous/i18n/lt.po
deleted file mode 100644
index 411c2435ec1..00000000000
--- a/addons/portal_anonymous/i18n/lt.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Lithuanian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-04-24 18:34+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Lithuanian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Prisijungti"
diff --git a/addons/portal_anonymous/i18n/mk.po b/addons/portal_anonymous/i18n/mk.po
deleted file mode 100644
index 63877d44b90..00000000000
--- a/addons/portal_anonymous/i18n/mk.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Macedonian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-03-01 17:16+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Macedonian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Најавување"
diff --git a/addons/portal_anonymous/i18n/mn.po b/addons/portal_anonymous/i18n/mn.po
deleted file mode 100644
index 0a52ce63d0b..00000000000
--- a/addons/portal_anonymous/i18n/mn.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Mongolian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-06 09:18+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Mongolian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Нэвтрэх"
diff --git a/addons/portal_anonymous/i18n/nl.po b/addons/portal_anonymous/i18n/nl.po
deleted file mode 100644
index 623a28f0d37..00000000000
--- a/addons/portal_anonymous/i18n/nl.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Dutch translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-27 09:13+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Dutch \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Login"
diff --git a/addons/portal_anonymous/i18n/pl.po b/addons/portal_anonymous/i18n/pl.po
deleted file mode 100644
index f89fcde6498..00000000000
--- a/addons/portal_anonymous/i18n/pl.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Polish translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-11-17 17:40+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Polish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-18 05:22+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Logowanie"
diff --git a/addons/portal_anonymous/i18n/portal_anonymous.pot b/addons/portal_anonymous/i18n/portal_anonymous.pot
deleted file mode 100644
index ee07a910113..00000000000
--- a/addons/portal_anonymous/i18n/portal_anonymous.pot
+++ /dev/null
@@ -1,24 +0,0 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * portal_anonymous
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: OpenERP Server 7.0alpha\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2012-12-21 17:05+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr ""
-
diff --git a/addons/portal_anonymous/i18n/pt.po b/addons/portal_anonymous/i18n/pt.po
deleted file mode 100644
index 852dfb60282..00000000000
--- a/addons/portal_anonymous/i18n/pt.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Portuguese translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-21 15:25+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Portuguese \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Nome de utilizador"
diff --git a/addons/portal_anonymous/i18n/pt_BR.po b/addons/portal_anonymous/i18n/pt_BR.po
deleted file mode 100644
index f19fadefc03..00000000000
--- a/addons/portal_anonymous/i18n/pt_BR.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Brazilian Portuguese translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-02 11:56+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Brazilian Portuguese \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Autenticação"
diff --git a/addons/portal_anonymous/i18n/ro.po b/addons/portal_anonymous/i18n/ro.po
deleted file mode 100644
index db329c3fd4f..00000000000
--- a/addons/portal_anonymous/i18n/ro.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Romanian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-09 14:58+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Romanian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Autentificare"
diff --git a/addons/portal_anonymous/i18n/ru.po b/addons/portal_anonymous/i18n/ru.po
deleted file mode 100644
index 3ae0210a377..00000000000
--- a/addons/portal_anonymous/i18n/ru.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Russian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-04-09 13:04+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Russian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Вход"
diff --git a/addons/portal_anonymous/i18n/sl.po b/addons/portal_anonymous/i18n/sl.po
deleted file mode 100644
index 79f5ffdbaf2..00000000000
--- a/addons/portal_anonymous/i18n/sl.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Slovenian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-30 20:31+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Slovenian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Prijava"
diff --git a/addons/portal_anonymous/i18n/sv.po b/addons/portal_anonymous/i18n/sv.po
deleted file mode 100644
index 9141a4d95a4..00000000000
--- a/addons/portal_anonymous/i18n/sv.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Swedish translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-01-26 14:05+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Swedish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Logga in"
diff --git a/addons/portal_anonymous/i18n/th.po b/addons/portal_anonymous/i18n/th.po
deleted file mode 100644
index 797c1111404..00000000000
--- a/addons/portal_anonymous/i18n/th.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Thai translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-06-20 14:03+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Thai \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "เข้าระบบ"
diff --git a/addons/portal_anonymous/i18n/tr.po b/addons/portal_anonymous/i18n/tr.po
deleted file mode 100644
index 7f8a1ed5eda..00000000000
--- a/addons/portal_anonymous/i18n/tr.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Turkish translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-06 22:17+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Turkish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "Kullanıcı Adı:"
diff --git a/addons/portal_anonymous/i18n/zh_CN.po b/addons/portal_anonymous/i18n/zh_CN.po
deleted file mode 100644
index 7f1aaef8a84..00000000000
--- a/addons/portal_anonymous/i18n/zh_CN.po
+++ /dev/null
@@ -1,25 +0,0 @@
-# Chinese (Simplified) translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-07-03 15:17+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Chinese (Simplified) \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:40+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_anonymous
-#. openerp-web
-#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8
-#, python-format
-msgid "Login"
-msgstr "用户名"
diff --git a/addons/portal_anonymous/portal_anonymous_data.xml b/addons/portal_anonymous/portal_anonymous_data.xml
deleted file mode 100644
index b45868587e9..00000000000
--- a/addons/portal_anonymous/portal_anonymous_data.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- Anonymous
- anonymous
- anonymous
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/addons/portal_anonymous/security/ir.model.access.csv b/addons/portal_anonymous/security/ir.model.access.csv
deleted file mode 100644
index a26b600288d..00000000000
--- a/addons/portal_anonymous/security/ir.model.access.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_mail_message_portal,mail.message.portal,mail.model_mail_message,portal.group_anonymous,1,0,0,0
-access_res_partner,res.partner,base.model_res_partner,portal.group_anonymous,1,0,0,0
diff --git a/addons/portal_anonymous/static/img/anonymous_user-image.png b/addons/portal_anonymous/static/img/anonymous_user-image.png
deleted file mode 100644
index e333176e3e4..00000000000
Binary files a/addons/portal_anonymous/static/img/anonymous_user-image.png and /dev/null differ
diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js
deleted file mode 100644
index f6b41eb59f0..00000000000
--- a/addons/portal_anonymous/static/src/js/portal_anonymous.js
+++ /dev/null
@@ -1,100 +0,0 @@
-openerp.portal_anonymous = function(instance) {
-
- instance.web.Session.include({
- load_translations: function() {
- var self = this;
- // browser_lang can contain 'xx' or 'xx_XX'
- // we use the 'xx' to find matching languages installed in the DB
- var browser_lang = (navigator.language || navigator.userLanguage).replace('-', '_');
- // By default for anonymous session.user_context.lang === 'en_US',
- // so do nothing if browser_lang is contained in 'en_US' (like 'en' or 'en_US')
- if (this.username === 'anonymous' && this.user_context.lang.indexOf(browser_lang) === -1) {
- return (new instance.web.Model('res.lang')).query(['code', 'iso_code'])
- .filter([['code', 'like', browser_lang.substring(0, 2).toLowerCase()]]).all()
- .then(function(langs) {
- // If langs is empty (OpenERP doesn't support the language),
- // then don't change session.user_context.lang
- if (langs.length > 0) {
- // Try to get the right user preference in the browser, else
- // get the shortest language returned ('xx' country code) or
- // just the first one
- var l = _.filter(langs, function(lang) { return lang.code === browser_lang || lang.iso_code === browser_lang; });
- if (!_.isEmpty(l)) {
- self.user_context.lang = l[0].code;
- } else {
- l = _.filter(langs, function(lang) {
- return lang.iso_code === _.pluck(langs, 'iso_code')
- .sort(function(a, b) {
- return a.length - b.length;
- })[0];
- });
- self.user_context.lang = l[0].code;
- }
- }
- return self.rpc('/web/webclient/translations', { mods: self.module_list, lang: self.user_context.lang }).done(function(trans) {
- instance.web._t.database.set_bundle(trans);
- });
- });
- }
- return this._super();
- },
- });
-
- instance.web.Login.include({
- start: function() {
- var self = this;
- var anonymous_mode = (!self.session.session_is_valid() && !(self.params.token || self.params.login));
- if (anonymous_mode) {
- self.$el.hide();
- }
- return $.when(this._super()).then(function() {
- if (anonymous_mode) {
- self.remember_credentials = false;
- // XXX get login/pass from server (via a rpc call) ?
- return self.do_login(self.selected_db, 'anonymous', 'anonymous');
- }
- });
- },
- });
-
- instance.web.UserMenu.include({
- init: function(parent) {
- this._super(parent);
- if (this.session.username == 'anonymous') {
- this.template = 'UserMenu.portal_anonymous';
- this.do_update = function() {}; // avoid change of avatar
- }
- },
- start: function() {
- var self = this;
- this._super.apply(this, arguments);
- this.$el.find('a.login').click(function() {
- var p = self.getParent();
- var am = p.action_manager;
- p.$el.find('.oe_leftbar, .navbar').hide(); // .oe_topbar is replaced with .navbar of bootstrap3
- self.session.session_logout().done(function () {
- am.do_action({
- type:'ir.actions.client',
- tag:'login',
- target: 'current',
- params: {
- login_successful: function() {
- am.do_action("reload");
- }
- }
- });
- });
- });
- }
- });
-
- instance.web.WebClient.include({
- check_timezone: function() {
- if (this.session.username !== 'anonymous') {
- return this._super.apply(this, arguments);
- }
- return false;
- },
- });
-
-};
diff --git a/addons/portal_anonymous/static/src/xml/portal_anonymous.xml b/addons/portal_anonymous/static/src/xml/portal_anonymous.xml
deleted file mode 100644
index b4c5b7d7471..00000000000
--- a/addons/portal_anonymous/static/src/xml/portal_anonymous.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/addons/portal_claim/security/ir.model.access.csv b/addons/portal_claim/security/ir.model.access.csv
index 4fcfd0f947f..8be58df4124 100644
--- a/addons/portal_claim/security/ir.model.access.csv
+++ b/addons/portal_claim/security/ir.model.access.csv
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_crm_claim,crm.claim,crm_claim.model_crm_claim,portal.group_portal,1,0,1,0
-access_crm_claim_stage,crm.claim.stage,crm_claim.model_crm_claim_stage,portal.group_portal,1,0,0,0
+access_crm_claim,crm.claim,crm_claim.model_crm_claim,base.group_portal,1,0,1,0
+access_crm_claim_stage,crm.claim.stage,crm_claim.model_crm_claim_stage,base.group_portal,1,0,0,0
diff --git a/addons/portal_claim/security/portal_security.xml b/addons/portal_claim/security/portal_security.xml
index 1f96da4ef9e..691d971e3e2 100644
--- a/addons/portal_claim/security/portal_security.xml
+++ b/addons/portal_claim/security/portal_security.xml
@@ -5,7 +5,7 @@
Portal Personal Claims
['|', ('message_follower_ids','in', [user.partner_id.id]), ('partner_id','=', user.partner_id.id)]
-
+
diff --git a/addons/portal_crm/__openerp__.py b/addons/portal_crm/__openerp__.py
deleted file mode 100644
index f5e1ef6cab2..00000000000
--- a/addons/portal_crm/__openerp__.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-
-{
- 'name': 'Portal CRM',
- 'version': '0.1',
- 'category': 'Tools',
- 'complexity': 'easy',
- 'description': """
-This module adds a contact page (with a contact form creating a lead when submitted) to your portal if crm and portal are installed.
-====================================================================================================================================
- """,
- 'author': 'OpenERP SA',
- 'depends': ['crm','portal'],
- 'data': [
- 'contact_view.xml',
- 'security/ir.model.access.csv',
- ],
- 'test': [
- 'test/contact_form.yml',
- ],
- 'installable': True,
- 'auto_install': True,
- 'category': 'Hidden',
- 'css': ['static/src/css/portal_crm.css'],
-}
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/portal_crm/contact.py b/addons/portal_crm/contact.py
deleted file mode 100644
index a49d53361a0..00000000000
--- a/addons/portal_crm/contact.py
+++ /dev/null
@@ -1,128 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2011 OpenERP S.A ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from openerp.osv import osv, fields
-from openerp import SUPERUSER_ID
-
-class crm_contact_us(osv.TransientModel):
- """ Create new leads through the "contact us" form """
- _name = 'portal_crm.crm_contact_us'
- _description = 'Contact form for the portal'
- _inherit = 'crm.lead'
- _columns = {
- 'company_ids' : fields.many2many('res.company', string='Companies', readonly=True),
- }
-
- def _get_companies(self, cr, uid, context=None):
- """
- Fetch companies in order to display them in the wizard view
-
- @return a list of ids of the companies
- """
- r = self.pool.get('res.company').search(cr, uid, [], context=context)
- return r
-
- def _get_user_name(self, cr, uid, context=None):
- """
- If the user is logged in (i.e. not anonymous), get the user's name to
- pre-fill the partner_name field.
- Same goes for the other _get_user_attr methods.
-
- @return current user's name if the user isn't "anonymous", None otherwise
- """
- user = self.pool.get('res.users').read(cr, uid, uid, ['login'], context)
-
- if (user['login'] != 'anonymous'):
- return self.pool.get('res.users').name_get(cr, uid, uid, context)[0][1]
- else:
- return None
-
- def _get_user_email(self, cr, uid, context=None):
- user = self.pool.get('res.users').read(cr, uid, uid, ['login', 'email'], context)
-
- if (user['login'] != 'anonymous' and user['email']):
- return user['email']
- else:
- return None
-
- def _get_user_phone(self, cr, uid, context=None):
- user = self.pool.get('res.users').read(cr, uid, uid, ['login', 'phone'], context)
-
- if (user['login'] != 'anonymous' and user['phone']):
- return user['phone']
- else:
- return None
-
- _defaults = {
- 'partner_name': _get_user_name,
- 'email_from': _get_user_email,
- 'phone': _get_user_phone,
- 'company_ids': _get_companies,
- }
-
- def create(self, cr, uid, values, context=None):
- """
- Since they are potentially sensitive, we don't want any user to be able
- to read datas generated through this module. Therefore we'll write
- these information directly in the crm.lead table and leave blank
- entries in the contact table.
- This is why the create() method is overwritten.
- """
- crm_lead = self.pool.get('crm.lead')
-
- """
- Because of the complex inheritance of the crm.lead model and the other
- models implied (like mail.thread, among others, that performs a read
- when its create() method is called (in method message_get_subscribers()),
- it is quite complicated to set proper rights for this object.
- Therefore, user SUPERUSER_ID will perform the creation.
- """
- values['contact_name'] = values['partner_name']
- crm_lead.create(cr, SUPERUSER_ID, dict(values, user_id=False), context)
-
- """
- Create an empty record in the contact table.
- Since the 'name' field is mandatory, give an empty string to avoid an integrity error.
- Pass mail_create_nosubscribe key in context because otherwise the inheritance
- leads to a message_subscribe_user, that triggers access right issues.
- """
- empty_values = dict((k, False) if k != 'name' else (k, '') for k, v in values.iteritems())
- return super(crm_contact_us, self).create(cr, SUPERUSER_ID, empty_values, {'mail_create_nosubscribe': True})
-
- def submit(self, cr, uid, ids, context=None):
- """ When the form is submitted, redirect the user to a "Thanks" message """
- return {
- 'type': 'ir.actions.act_window',
- 'view_mode': 'form',
- 'view_type': 'form',
- 'res_model': self._name,
- 'res_id': ids[0],
- 'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'portal_crm', 'wizard_contact_form_view_thanks')[1],
- 'target': 'new',
- }
-
- def _needaction_domain_get(self, cr, uid, context=None):
- """
- This model doesn't need the needactions mechanism inherited from
- crm_lead, so simply override the method to return an empty domain
- and, therefore, 0 needactions.
- """
- return False
diff --git a/addons/portal_crm/contact_view.xml b/addons/portal_crm/contact_view.xml
deleted file mode 100644
index 76223cee59e..00000000000
--- a/addons/portal_crm/contact_view.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
- Contact form
- portal_crm.crm_contact_us
-
-
-
-
-
-
-
- Wizard thanks message
- portal_crm.crm_contact_us
-
- 99
-
-
-
-
-
-
- Contact Us
- portal_crm.crm_contact_us
- form
-
- inline
- {'default_type': 'lead'}
-
-
-
-
-
-
-
diff --git a/addons/portal_crm/i18n/bs.po b/addons/portal_crm/i18n/bs.po
deleted file mode 100644
index 5847e661738..00000000000
--- a/addons/portal_crm/i18n/bs.po
+++ /dev/null
@@ -1,546 +0,0 @@
-# Bosnian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-08-06 08:35+0000\n"
-"Last-Translator: FULL NAME \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: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr ""
diff --git a/addons/portal_crm/i18n/cs.po b/addons/portal_crm/i18n/cs.po
deleted file mode 100644
index 7cb52a07030..00000000000
--- a/addons/portal_crm/i18n/cs.po
+++ /dev/null
@@ -1,548 +0,0 @@
-# Czech translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-03-29 18:40+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Czech \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Úspěšnost (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Kontaktujte nás"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Datum další akce"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Fax"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "PSČ"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Nepřečtené zprávy"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Společnost"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr "Děkujeme za váš zájem, neprodleně vám na váš požadavek odpovíme."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Nejvyšší"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Mobilní"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Poznámky"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Zprávy"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Index barvy"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Jméno zákazníka"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Zrušeno"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Pokud je zaškrtnuto, nové zprávy vyžadují vaši pozornost."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Komunikační kanál (email, osobní komunikace, telefon, ...)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Kampaň"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Další akce"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-"Udržuje záznamy o komunikaci (počet zpráv, …). Tento souhrn je přímo v HTML "
-"formátu aby mohl být vložen do zobrazení kanban."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Partner"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Kontaktujte nás"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Předmět"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr "Odhlášení"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Priorita"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "Stát"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Sledující"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Způsob platby"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Nový"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Druh"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "Email"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Kanál"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Nejnižší"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Datum vytvoření"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Skupiny"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Přihlašovací jméno"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Jméno kontaktu"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Kontakt"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Očekávaný výnos"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Obchodník"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr ""
diff --git a/addons/portal_crm/i18n/de.po b/addons/portal_crm/i18n/de.po
deleted file mode 100644
index e1329eb9ef3..00000000000
--- a/addons/portal_crm/i18n/de.po
+++ /dev/null
@@ -1,564 +0,0 @@
-# German translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-16 17:47+0000\n"
-"Last-Translator: Felix Schubert \n"
-"Language-Team: German \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Interessent"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Anrede"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Erfolgsrate (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Kontakt"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Nächste Zahlungserinnerung"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Fax"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "PLZ"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Ungelesene Nachrichten"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Unternehmen"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr "Tage bis Eröffnung"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr "Danke für Ihre Anfrage, wir werden uns baldmöglichst darum kümmern."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Höchste"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Mobil"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Notizen"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Nachrichten"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Farbindex"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr "Längengrad"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Kundenname"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Abgebrochen"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Falls aktiviert, sind neue Nachrichten abzuarbeiten."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Kommunikationskanal (E-Mail, Persönlich, Telefon)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Kampagne"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Kundennummer"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Nächste Aktion"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-"Hier finden Sie die Nachrichtenübersicht (Anzahl Nachrichten etc., ...) im "
-"html Format, um Sie später in einer Kanban Ansicht einfügen zu können."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Partner"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Kontakt"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Betreff"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr "Keine Werbe-E-Mails"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Priorität"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "Status"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Followers"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-"Kunde (optional). Normalerweise erfolgt die Zuordnung bei der Umwandlung "
-"eines Leads."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Zahlungsart"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Neu"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Typ"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "E-Mail"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Vertriebsweg"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr "Name"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Niedrigste"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Erstellungsdatum"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr "Schließen"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr "Ausstehend"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr "Typ wird zur Unterscheidung von Interessenten und Chancen verwendet."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Kategorien"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr "Stufe"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Benutzername"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-"Wenn Sie opt-out aktivieren, werden diesem Kontakt keine weiteren E-Mails "
-"zugestellt."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Ansprechpartner"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Kontakt"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr "Partner Kontakt E-Mail"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Erwarteter Umsatz"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr "Aufgaben"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr "Kontaktformular"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr "Währung"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr "Aktualisierungsdatum"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr "Erwartetes Abschlussdatum"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr "Referenz 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr "Benutzer E-Mail"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr "Start Bearbeitung"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr "In Bearbeitung"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-"Der Unternehmensname des Interessenten, der bei der Umwandlung des "
-"Interessenten zur Chance verwendet wird."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr "Geschätzte Kosten"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr "Voraussichtliches Abschlussdatum dieser Chance"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-"Diese E-Mail Adressen werden automatisch dem CC-Feld aller ein- und "
-"ausgehenden E-Mails hinzugefügt. Trennen Sie mehrere E-Mail-Adressen mit "
-"Kommata."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr "Gering"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr "Abgeschlossen"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr "Zuweisungsdatum"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr "Status"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr "Normal"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr "Globale CC"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr "Straße 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr "ID"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr "Telefon"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Ist Follower"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr "Aktiv"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Verkäufer"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr "Tage b. Beend."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr "Unternehmen"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr "Zusammenfassung"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-"Für den E-Mail-Versand wird die Standardadresse des Verkaufsteams verwendet."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr "Partner Kontakt"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr "Längengrad"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr "Letztes Datum wenn dieser Fall einem Partner zugewiesen wurde"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr "E-Mail-Adresse des Kontakts"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr "Stadt"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr "Absenden"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr "Funktion"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr "Vermittelt durch"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr "Zugewiesener Partner"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr "Chance"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr "Partner, dem der Fall zugewiesen wurde."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr "Staat"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr "Vielen Dank"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-"Der Status wird bei der Anlage eines Falles auf 'Entwurf' gesetzt. Wenn der "
-"Fall bearbeitet wird, wird der Status auf 'offen' gesetzt. Wenn der Fall "
-"abgeschlossen wird, wird der Status auf 'Erledigt' gesetzt. Wenn der Fall "
-"überprüft werden muss, wird der Status auf 'Schwebend' gesetzt."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr "Nachrichten- und Kommunikationsverlauf"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-"Aus welcher Kampange (Seminar, Marketing Kampange, Massen Mailing, ...) "
-"wurde dieser Kontakt erzeugt?"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr "Hoch"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr "Vertriebsteam"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr "Straße"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr "Letzte Aktion"
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr "Kontaktformular für das Portal"
diff --git a/addons/portal_crm/i18n/es.po b/addons/portal_crm/i18n/es.po
deleted file mode 100644
index 95934d1804e..00000000000
--- a/addons/portal_crm/i18n/es.po
+++ /dev/null
@@ -1,566 +0,0 @@
-# Spanish translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-13 16:19+0000\n"
-"Last-Translator: Pedro Manuel Baeza \n"
-"Language-Team: Spanish \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Iniciativa"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Título"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Tasa de éxito (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Contáctenos"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Fecha de la próxima acción"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Fax"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "Código postal"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Mensajes sin leer"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Compañía"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr "Días para abrir"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr "Gracias por su interés. Le responderemos en breve."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Más alta"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Móvil"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Notas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Mensajes"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Índice de color"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr "Geo latitud"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Nombre del cliente"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Cancelado"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Si está marcado, hay nuevos mensajes que requieren su atención"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Canal de comunicación (email, directo, teléfono, ...)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Campaña"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Referencia"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Próxima acción"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-"Contiene el resumen del chatter (nº de mensajes, ...). Este resumen viene "
-"directamente en formato HTML para poder ser insertado en las vistas kanban."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Empresa"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Contáctenos"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Asunto"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr "No acepta recibir mensajes"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Prioridad"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "Estado"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Seguidores"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-"Empresa asociada (opcional). Usualmente se crea al convertir la iniciativa."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Modo de pago"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Nuevo"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Tipo"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "Correo electrónico"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Canal"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr "Nombre"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Más baja"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Fecha de creación"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr "Cerrar"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr "Pendiente"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr "El tipo se utiliza para separar iniciativas y oportunidades"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Categorías"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr "Etapa"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Nombre de usuario"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-"Si se marca la casilla 'No acepta recibir mensajes', este contacto ha "
-"rehusado recibir correos electrónicos o ha eliminado su suscripción a una "
-"campaña."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Nombre del contacto"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Contacto"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr "Dirección de correo del contacto de la empresa"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Ingreso estimado"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr "Tareas"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr "Formulario de contacto"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr "Moneda"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr "Fecha de actualización"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr "Cierre previsto"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr "Referencia 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr "Correo electrónico del usuario"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr "Abierto"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr "En proceso"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-"El nombre de la compañía de la futura empresa será creado al convertir la "
-"iniciativa en oportunidad."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr "Costes previstos"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr "Fecha estimada en la que la oportunidad será ganada."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-"Estas direcciones de correo serán añadidas al campo CC para todos los "
-"correos entrantes y salientes de este registro antes de ser enviados. Separe "
-"las diferentes direcciones de correo con una coma."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr "Baja"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr "Cerrado"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr "Fecha de asignación"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr "Estado"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr "Normal"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr "CC global"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr "Calle 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr "Id."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr "Teléfono"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Es un seguidor"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr "Activo"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Comercial"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr "Días para el cierre"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr "Compañías"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr "Resumen"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-"Cuando se envían correos electrónicos, la dirección de correo por defecto "
-"proviene del equipo de ventas."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr "Nombre del contacto de la empresa"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr "Geo longitud"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-"Última fecha en la que este caso fue reenviado/asignado a una empresa"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr "Dirección de correo electrónico del contacto"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr "Ciudad"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr "Enviar"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr "Función"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr "Recomendado por"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr "Empresa asignada"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr "Oportunidad"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr "Empresa a la que este caso ha sido reenviado/asignado."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr "País"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr "Gracias"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-"El estado se establece a 'Borrador', cuando se crea el caso. Si el caso está "
-"en progreso el estado se establece 'Abierto'. Cuando el caso finaliza, el "
-"estado se establece a 'Realizado'. Si el caso necesita ser revisado, "
-"entonces el estado se establece a 'Pendiente'."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr "Mensajes e historial de comunicación"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-"Campaña de procedencia (seminario, campaña de marketing, envío masivo de "
-"correo, ... ) de este contacto"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr "Alta"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr "Equipo de ventas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr "Calle"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr "Última acción"
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr "Formulario de contacto para el portal"
diff --git a/addons/portal_crm/i18n/fi.po b/addons/portal_crm/i18n/fi.po
deleted file mode 100644
index ed8c3a72160..00000000000
--- a/addons/portal_crm/i18n/fi.po
+++ /dev/null
@@ -1,548 +0,0 @@
-# Finnish translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-12-01 22:26+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: 2013-12-02 05:23+0000\n"
-"X-Generator: Launchpad (build 16856)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Liidi"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Titteli"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Onnistumistodennäköisyys (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Ota yhteyttä"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Seuraava toimenpidepäivä"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Faksi"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "Postinumero"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Lukemattomia viestejä"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Yritys"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Korkein"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Matkapuhelin"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Muistiinpanot"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Viestit"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Väri-indeksi"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Asiakkaan nimi"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Peruttu"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Jos valittu, uudet viestit vaativat huomiosi."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Kommunikointikanava (sähköposti, suora, puhelin,...)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Kampanja"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Viite"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Seuraava toimenpide"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Kumppani"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Ota yhteyttä"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Aihe"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr "Jätä pois"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Tärkeys"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "Valtio"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Seuraajat"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Maksutapa"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Uusi"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Tyyppi"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "Sähköposti"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Kanava"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Alin"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Luontipäivä"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr "Tyyppiä käytetään erottamaan liidit ja mahdollisuudet toisistaan"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Kategoriat"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr "Vaihe"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Käyttäjätunnus"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Yhteystiedon nimi"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Kontakti"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr "Kumppanin yhteystieto, sähköposti"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Odotetut tulot"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr "Tehtävät"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr "Yhteydenottolomake"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr "Valuutta"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr "Päivityksen ajankohta"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr "Odotettu päätös"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr "Viittaus 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr "Avattu"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr "Kesken"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Myyjä"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr ""
diff --git a/addons/portal_crm/i18n/fr.po b/addons/portal_crm/i18n/fr.po
deleted file mode 100644
index 686290f1ddd..00000000000
--- a/addons/portal_crm/i18n/fr.po
+++ /dev/null
@@ -1,561 +0,0 @@
-# French translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-05-22 16:34+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: French \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Piste"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Titre"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Taux de succès (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Contactez-nous"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Date de la prochaine action"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Fax"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "Code postal"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Messages non-lus"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Société"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr "Jours pour ouvrir"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr "Merci de votre intérêt, nous répondrons rapidement à votre requête."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "La plus haute"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Portable"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Notes"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Messages"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Couleur"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Nom du client"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Annulé"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Si coché, de nouveaux messages demandent votre attention."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Canal de communication (courriel, direct, téléphone, etc.)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Campagne"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Référence"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Action suivante"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-"Contient le résumé de la discussion (nombre de messages, ...). Ce résumé est "
-"au format HTML pour permettre son utilisation dans les vues kanban."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Partenaire"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Contactez-nous"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Sujet"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr "Option de retrait"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Priorité"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "État"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Abonnés"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-"Partenaire associé (optionnel). Habituellement il est créé lors de la "
-"conversion d'une piste."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Mode de paiement"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Nouveau"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Type"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "Courriel"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Canal"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr "Nom"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "La plus basse"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Date de création"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr "Fermer"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr "En attente"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr "Le type est utilisé pour différencier les pistes des opportunités"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Catégories"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr "Étape"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Identifiant"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Nom du contact"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Contact"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr "Courriel de contact du partenaire"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Revenu espéré"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr "Tâches"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr "Formulaire de contact"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr "Devise"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr "Date de mise à jour"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr "Date de fermeture prévue"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr "Référence 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr "Courriel de l'utilisateur"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr "Ouvert"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr "En cours"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-"Le nom de la future société partenaire qui sera créée quand la piste sera "
-"convertie en opportunité"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr "Coûts prévus"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr "Estimation de la date à laquelle l'opportunité sera gagnée"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-"Ces adresses courriels seront mises en copie de tous les courriels reçus et "
-"émis pour cet enregistrement. Séparez les adresses par une virgule"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr "Basse"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr "Fermée"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr "Statut"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr "Normale"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr "Copie globale"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr "Rue (suite)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr "Id."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr "Téléphone"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Est un abonné"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr "Active"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Vendeurs"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr "Jours pour fermer"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr "Sociétés"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr "Résumé"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-"Lors de l'envoi de courriels, l'adresse de courriel par défaut est celle de "
-"l'équipe de vente."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr "Nom du contact chez le partenaire"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr "Adresse courriel du contact"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr "Ville"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr "Soumettre"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr "Fonction"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr "Référencé par"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr "Opportunité"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr "Pays"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr "Merci"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-"Le statut est \"Brouillon\", quand un cas est créé. Si le cas est en cours, "
-"le statut est \"Ouvert\". Lorsque le cas est terminé, le statut est "
-"\"Terminé\". Si le cas doit être examiné alors le statut est \"En attente\"."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr "Historique des messages et communications"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-"De quelle campagne (séminaire, campagne marketing, publipostage...) ce "
-"contact provient-il ?"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr "Haute"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr "Équipe commerciale"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr "Rue"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr "Dernière action"
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr "Formulaire de contact pour le portail"
diff --git a/addons/portal_crm/i18n/he.po b/addons/portal_crm/i18n/he.po
deleted file mode 100644
index b14cf413812..00000000000
--- a/addons/portal_crm/i18n/he.po
+++ /dev/null
@@ -1,546 +0,0 @@
-# Hebrew translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-12-30 19:12+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Hebrew \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr ""
diff --git a/addons/portal_crm/i18n/hr.po b/addons/portal_crm/i18n/hr.po
deleted file mode 100644
index a1079e3388d..00000000000
--- a/addons/portal_crm/i18n/hr.po
+++ /dev/null
@@ -1,546 +0,0 @@
-# Croatian translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-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: 2012-12-10 06:48+0000\n"
-"Last-Translator: Goran Kliska \n"
-"Language-Team: Croatian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Potencijal"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Naslov"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Kontaktirajte nas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Fax"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "Poštanski br."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Nepročitane poruke"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Organizacija"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr "Dana za otvaranje"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Najviši"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Mobilni"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Bilješke"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Poruke"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Indeks boje"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr "Geo Latitude"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Naziv kupca"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Otkazano"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Kampanja"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Oznaka"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Slijedeća akcija"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Partner"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Kontaktirajte nas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Predmet"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr "Isključiti"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Prioritet"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Način plaćanja"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Nova(i)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Tip"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "Email"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Kanal"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr "Naziv"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Najniži"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr ""
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr ""
diff --git a/addons/portal_crm/i18n/hu.po b/addons/portal_crm/i18n/hu.po
deleted file mode 100644
index 2e67a07fa38..00000000000
--- a/addons/portal_crm/i18n/hu.po
+++ /dev/null
@@ -1,568 +0,0 @@
-# Hungarian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-09 13:08+0000\n"
-"Last-Translator: krnkris \n"
-"Language-Team: Hungarian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Érdeklődő"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Pozíció"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Siker mérték (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Lépjen velünk kapcsolatba"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Következő művelet időpontja"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Fax"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "Irányítószám"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Olvasatlan üzenetek"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Vállalat"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr "Megnyitásig hátralévő napok"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr "Köszönjük érdeklődésüket, rövidesen válaszolunk."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Legmagasabb"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Mobil"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Megjegyzések"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Üzenetek"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Szín meghatározó"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr "Földrajzi szélesség"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Vevő neve"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Megszakítva"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Communikéciós csatorna (levelezés, direkt, telefon, ...)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Kampány"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Hivatkozás"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Következő művelet"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-"A chettelés összegzést megállítja (üzenetek száma,...). Ez az összegzés "
-"direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Partner"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Vegye fel a kapcsolatot velünk"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Tárgy"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr "Kilép"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Prioritás"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "Állapot"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Követők"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-"Kapcsolat partner (választható). Rendszerint az érdeklődő átalakításánál "
-"lesz létrehozva."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Fizetési mód"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Új"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Típus"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "E-mail"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Csatorna"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr "Név"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Legkisebb"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Létrehozás dátuma"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr "Bezárás"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr "Függőben lévő"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr "A típust az érdeklődők és a lehetőségek szétválasztására használja"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Kategóriák"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr "Szakasz"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Felhasználói belépés"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-"Ha a kilépés be van jelölve, akkor ez a kapcsolat visszautasította az e-"
-"maileket vagy leiratkozott egy kampányról."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Kapcsolat neve"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Kapcsolat"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr "Partner kapcsolati Email"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Várható bevételek"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr "Feladatok"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr "Kapcsolatfelvételi űrlap"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr "Deviza"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr "Frissítés dátuma"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr "Várható befejezés"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr "Hivatkozás 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr "Felhasználó email címe"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr "Megnyitott"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr "Folyamatban"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-"A jövőben létrehozni kívánt partner vállalat neve ami akkor lesz létrehozva "
-"amikor az érdeklődő át lesz alakítva lehetőséggé"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr "Tervezett költségek"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr "A lehetőség elnyerésének körülbelüli időpontja/dátuma."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-"Ezek az email címek lesznek hozzáadva a CC /Carbon copy,másolat/ mezőhöz "
-"minden bejövő és kimenő email-hez amit ezzel a feljegyzéssel küld. Több "
-"email felsorolását vesszővel elválasztva adja meg."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr "Kevés"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr "Lezárt"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr "Hozzárendelés dátuma"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr "Állapot"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr "Normál"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr "Globális CC /másolat/"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr "Utca2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr "Azonosító ID"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr "Telefon"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Ez egy követő"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr "Aktív"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Értékesítő"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr "Lezárásig hátralévő napok"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr "Vállalatok"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr "Összegzés"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-"Ha leveleket küld, az alapértelmezett email cím az értékesítő csoporttól "
-"lesz kiválasztva."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr "Partner kapcsolattartó neve"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr "Földrajzi hosszúság"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-"Ebben az esetben az utolsó dátum a partnerhez el lesz küldve/hozzá lesz "
-"rendelve"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr "A kapcsolat email címei"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr "Város"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr "Beküldés"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr "Funkció"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr "Előterjesztette"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr "Hozzárendelt partner"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr "Lehetőség"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-"A partenr ebben az esetben ezzel együtt el lesz küldve/hozzá lesz rendelve."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr "Ország"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr "Köszönjük"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-"Az állapota be lesz állítva mint 'Terv', amikor az ügyet létrehozza. Ha az "
-"ügy feldolgozás alatt van akkor annak állapota be lesz állítva mint "
-"'Nyitott'. Ha az ügy teljesítve lett, az állapota 'Elvégezve' lesz. Ha az "
-"ügyet át kell nézni akkor annak állapota 'Függőben' lesz.."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr "Üzenetek és kommunikáció történet"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-"Melyik kampányból (szeminárium, értékesítési kampány, tömeges levélküldés, "
-"...) érkezett ez a kapcsolat?"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr "Legnagyobb"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr "Értékesítési csapat"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr "Utca"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr "Utolsó művelet"
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr "Kapcsolati lap a portálhoz"
diff --git a/addons/portal_crm/i18n/lt.po b/addons/portal_crm/i18n/lt.po
deleted file mode 100644
index d3a6c2ba034..00000000000
--- a/addons/portal_crm/i18n/lt.po
+++ /dev/null
@@ -1,563 +0,0 @@
-# Lithuanian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-04-29 15:24+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Lithuanian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Iniciatyva"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Kreipinys"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Pasisekimo tikimybė (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Kito veiksmo data"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Faksas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "Pašto kodas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Neperžiūrėtos žinutės"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Įmonė"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr "Dienų skaičius iki atvėrimo"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Didžiausias"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Mobilus tel."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Pastabos"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Pranešimai"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Spalvos indeksas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Pirkėjo pavadinimas"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Atšauktas"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Jeigu pažymėta, naujos žinutės reikalaus jūsų dėmesio."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Susisiekimo kanalas (el. paštu, tiesioginis, telefonu, ...)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Kampanija"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Susiejimas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Kitas veiksmas"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-"Saugo pokalbių suvestinę (žinučių skaičius, ...). Ši apžvalga saugoma html "
-"formatu, kad būtų galima įterpti į kanban rodinius."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Partneris"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Aprašymas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Svarbumas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "Savivaldybė"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Prenumeratoriai"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-"Susietas kontaktas (nebūtinas). Dažniausiai kontaktas būna sukuriamas "
-"konvertuojant iniciatyvą."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Mokėjimo būdas"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Naujas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Tipas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "El. paštas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Kanalas"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr "Pavadinimas"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Mažiausias"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Sukūrimo data"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr "Užverti"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr "Laukianti"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr "Tipas naudojamas atskirti iniciatyvas nuo pardavimo galimybių"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Kategorijos"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr "Etapas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Naudotojo registracijos vardas"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Kontakto pavadinimas"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Kontaktas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Numanomos pajamos"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr ""
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr "Valiuta"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr "Atnaujinimo data"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr "Numatomas užvėrimas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr "Susiejimas 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr "Naudotojo el. paštas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr "Atvertas"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr "Vykdoma"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-"Būsimo kontakto įmonės pavadinimas, kuris bus sukurtas konvertuojant "
-"iniciatyvą į pardavimo galimybę"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr "Planuojamos išlaidos"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr "Numanoma data, iki kurios bus laimėta pardavimų galimybė"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-"Prieš siunčiant laišką šie el. pašto adresai bus pridėti į CC lauką visiems "
-"išsiunčiamiems ir gaunamiems šio įrašo el. laiškams. Atskirkite atskirus el. "
-"pašto adresus kableliu"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr "Žemas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr "Uždaryta"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr "Būsena"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr "Įprasta"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr "Bendras CC"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr "Gatvė 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr "Telefonas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Ar prenumeratorius"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr "Aktyvus"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Pardavėjas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr "Dienų skaičius iki užvėrimo"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr "Įmonės"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr "Santrauka"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-"Siunčiant el. laiškus, pardavimų komandos vadovo el. pašto adresas yra "
-"naudojamas kaip numatytasis."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr "Partnerio kontakto vardas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr "Kontakto el. pašto adresas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr "Miestas"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr "Pareigos"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr "Remiamasi"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr ""
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr "Pardavimo galimybė"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr "Valstybė"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr ""
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-"Būsena yra nustatoma į „Naujas“, kuomet sukuriama iniciatyva. Jeigu "
-"iniciatyva yra vykdoma, būsena nustatoma į „Vykdoma“. Įvykdžius iniciatyvą, "
-"būsena nustatoma į „Uždaryta“. Jeigu iniciatyva turi būti peržiūrėta, būsena "
-"nustatoma į „Laukianti“."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr "Žinučių ir pranešimų istorija"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-"Kampanija, kurios dėka buvo gautas šis kontaktas (seminaras, marketingo "
-"kampanija, masinis laiškų siuntimas, ...)"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr "Aukštas"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr "Pardavimų komanda"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr "Gatvė"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr "Paskutinis veiksmas"
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr ""
diff --git a/addons/portal_crm/i18n/mk.po b/addons/portal_crm/i18n/mk.po
deleted file mode 100644
index 4f4f79cafb0..00000000000
--- a/addons/portal_crm/i18n/mk.po
+++ /dev/null
@@ -1,563 +0,0 @@
-# Macedonian translation for openobject-addons
-# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2013.
-#
-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: 2013-02-21 13:43+0000\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Macedonian \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-09-12 06:39+0000\n"
-"X-Generator: Launchpad (build 16761)\n"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Lead"
-msgstr "Трага"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,title:0
-msgid "Title"
-msgstr "Наслов"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,probability:0
-msgid "Success Rate (%)"
-msgstr "Стапка на успех (%)"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact us"
-msgstr "Контактирајте не"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action:0
-msgid "Next Action Date"
-msgstr "Датум на следна акција"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,fax:0
-msgid "Fax"
-msgstr "Факс"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,zip:0
-msgid "Zip"
-msgstr "Поштенски број"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_unread:0
-msgid "Unread Messages"
-msgstr "Непрочитани пораки"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_id:0
-msgid "Company"
-msgstr "Компанија"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_open:0
-msgid "Days to Open"
-msgstr "Денови до отварање"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you for your interest, we'll respond to your request shortly."
-msgstr "Ви благодариме за интересот, ќе одговориме на вашето барање наскоро."
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Highest"
-msgstr "Највисоко"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,mobile:0
-msgid "Mobile"
-msgstr "Мобилен"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,description:0
-msgid "Notes"
-msgstr "Белешки"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages"
-msgstr "Пораки"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,color:0
-msgid "Color Index"
-msgstr "Индекс на боја"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_latitude:0
-msgid "Geo Latitude"
-msgstr "Гео ширина"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_name:0
-msgid "Customer Name"
-msgstr "Име на клиент"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Cancelled"
-msgstr "Откажано"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_unread:0
-msgid "If checked new messages require your attention."
-msgstr "Доколку се означени новите пораки, потребно е да обрнете внимание."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,channel_id:0
-msgid "Communication channel (mail, direct, phone, ...)"
-msgstr "Канал за комуникација (маил, директно, телефон, ...)"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type_id:0
-msgid "Campaign"
-msgstr "Кампања"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref:0
-msgid "Reference"
-msgstr "Референца"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_next:0
-#: field:portal_crm.crm_contact_us,title_action:0
-msgid "Next Action"
-msgstr "Следна операција"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,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 ""
-"Дава преглед на комуникацијата (број на пораки, ...). Овој преглед е "
-"директно во html формат со цел да биде вметната во kanban поглед."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_id:0
-msgid "Partner"
-msgstr "Партнер"
-
-#. module: portal_crm
-#: model:ir.actions.act_window,name:portal_crm.action_contact_us
-msgid "Contact Us"
-msgstr "Контактирајте не"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,name:0
-msgid "Subject"
-msgstr "Предмет"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,opt_out:0
-msgid "Opt-Out"
-msgstr ""
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,priority:0
-msgid "Priority"
-msgstr "Приоритет"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state_id:0
-msgid "State"
-msgstr "Земја"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_follower_ids:0
-msgid "Followers"
-msgstr "Пратители"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_id:0
-msgid "Linked partner (optional). Usually created when converting the lead."
-msgstr ""
-"Поврзан партнер (опционо). Обично се креира при конвертирање на трага."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,payment_mode:0
-msgid "Payment Mode"
-msgstr "Начин на плаќање"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "New"
-msgstr "Ново"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,type:0
-msgid "Type"
-msgstr "Тип"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_from:0
-msgid "Email"
-msgstr "Е-пошта"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,channel_id:0
-msgid "Channel"
-msgstr "Канал"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Name"
-msgstr "Име"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Lowest"
-msgstr "Најниско"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,create_date:0
-msgid "Creation Date"
-msgstr "Датум на креирање"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Close"
-msgstr "Затвори"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Pending"
-msgstr "Чекам"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type:0
-msgid "Type is used to separate Leads and Opportunities"
-msgstr "Типот се користи за да се разделат Траги и Можности"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,categ_ids:0
-msgid "Categories"
-msgstr "Категории"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,stage_id:0
-msgid "Stage"
-msgstr "Етапа"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_login:0
-msgid "User Login"
-msgstr "Најава на корисник"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,opt_out:0
-msgid ""
-"If opt-out is checked, this contact has refused to receive emails or "
-"unsubscribed to a campaign."
-msgstr ""
-"Доколку е означено opt-out, значи дека контактот одбива да прима мејлови или "
-"unsubscribed to a campaign."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,contact_name:0
-msgid "Contact Name"
-msgstr "Име на контактот"
-
-#. module: portal_crm
-#: model:ir.ui.menu,name:portal_crm.portal_company_contact
-msgid "Contact"
-msgstr "Контакт"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_email:0
-msgid "Partner Contact Email"
-msgstr "Е-пошта за контакт на партнер"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Очекуван приход"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,task_ids:0
-msgid "Tasks"
-msgstr "Задачи"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Contact form"
-msgstr "Формулар за контакт"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_currency:0
-msgid "Currency"
-msgstr "Валута"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,write_date:0
-msgid "Update Date"
-msgstr "Датум на ажуруирање"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_deadline:0
-msgid "Expected Closing"
-msgstr "Очекувано затварање"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,ref2:0
-msgid "Reference 2"
-msgstr "Референца 2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_email:0
-msgid "User Email"
-msgstr "Е-пошта на корисник"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_open:0
-msgid "Opened"
-msgstr "Отворено"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "In Progress"
-msgstr "Во тек"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_name:0
-msgid ""
-"The name of the future partner company that will be created while converting "
-"the lead into opportunity"
-msgstr ""
-"Име на идната партнерска компанија кое ќе биде креирано при конвертирањето "
-"на трага во можност"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,planned_cost:0
-msgid "Planned Costs"
-msgstr "Планирани трошоци"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_deadline:0
-msgid "Estimate of the date on which the opportunity will be won."
-msgstr "Проценка на датумот на кој можноста ќе биде добиена."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_cc:0
-msgid ""
-"These email addresses will be added to the CC field of all inbound and "
-"outbound emails for this record before being sent. Separate multiple email "
-"addresses with a comma"
-msgstr ""
-"Овие емаил адреси ќе бидат додадени во CC полето на сите влезни и излезни е-"
-"пошти за овој запис пред да биде испратен. Одделете ги емаил адресите со "
-"запирка"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Low"
-msgstr "Ниско"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_closed:0
-#: selection:portal_crm.crm_contact_us,state:0
-msgid "Closed"
-msgstr "Затворено"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_assign:0
-msgid "Assignation Date"
-msgstr "Датум на назначување"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,state:0
-msgid "Status"
-msgstr "Статус"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "Normal"
-msgstr "Нормално"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,email_cc:0
-msgid "Global CC"
-msgstr "Општа CC"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street2:0
-msgid "Street2"
-msgstr "Улица2"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,id:0
-msgid "ID"
-msgstr "ID"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,phone:0
-msgid "Phone"
-msgstr "Телефон"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_is_follower:0
-msgid "Is a Follower"
-msgstr "Е пратител"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,active:0
-msgid "Active"
-msgstr "Активно"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,user_id:0
-msgid "Salesperson"
-msgstr "Продавач"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,day_close:0
-msgid "Days to Close"
-msgstr "Денови до затварање"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,company_ids:0
-msgid "Companies"
-msgstr "Компании"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,message_summary:0
-msgid "Summary"
-msgstr "Резиме"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,section_id:0
-msgid ""
-"When sending mails, the default email address is taken from the sales team."
-msgstr ""
-"Кога праќате мејлови, стандардните емаил адреси се земени од продажниот тим."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_address_name:0
-msgid "Partner Contact Name"
-msgstr "Контакт Име на партнер"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_longitude:0
-msgid "Geo Longitude"
-msgstr "Гео должина"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,date_assign:0
-msgid "Last date this case was forwarded/assigned to a partner"
-msgstr "Последен датум кога овој предмет беше препратен/доделен на партнер"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,email_from:0
-msgid "Email address of the contact"
-msgstr "Емаил адреса на контактот"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,city:0
-msgid "City"
-msgstr "Град"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Submit"
-msgstr "Поднеси"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,function:0
-msgid "Function"
-msgstr "Функција"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,referred:0
-msgid "Referred By"
-msgstr "Препорачано од"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Assigned Partner"
-msgstr "Назначен партнер"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,type:0
-msgid "Opportunity"
-msgstr "Можност"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,partner_assigned_id:0
-msgid "Partner this case has been forwarded/assigned to."
-msgstr "Партнер кому овој предмет му е препратен/доделен."
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,country_id:0
-msgid "Country"
-msgstr "Земја"
-
-#. module: portal_crm
-#: view:portal_crm.crm_contact_us:0
-msgid "Thank you"
-msgstr "Ви благодариме"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,state:0
-msgid ""
-"The Status is set to 'Draft', when a case is created. If the case is in "
-"progress the Status is set to 'Open'. When the case is over, the Status is "
-"set to 'Done'. If the case needs to be reviewed then the Status is set to "
-"'Pending'."
-msgstr ""
-"Статусот е поставен на 'Нацрт', кога предметот е креиран. Доколку предметот "
-"е во тек статусот е поставен на 'Отворено'. Кога предметот е завршен, "
-"статусот е поставен на 'Завршено'. Доколку предметот треба повторно да биде "
-"разгледан, статиусот е поставен на 'Чекање'."
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,message_ids:0
-msgid "Messages and communication history"
-msgstr "Историја на пораки и комуникација"
-
-#. module: portal_crm
-#: help:portal_crm.crm_contact_us,type_id:0
-msgid ""
-"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
-"this contact come from?"
-msgstr ""
-"Од која кампања (семинар, маркетинг кампања, масовно испраќање пошта, ...) "
-"произлегува овој контакт?"
-
-#. module: portal_crm
-#: selection:portal_crm.crm_contact_us,priority:0
-msgid "High"
-msgstr "Високо"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,section_id:0
-msgid "Sales Team"
-msgstr "Продажен тим"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,street:0
-msgid "Street"
-msgstr "Улица"
-
-#. module: portal_crm
-#: field:portal_crm.crm_contact_us,date_action_last:0
-msgid "Last Action"
-msgstr "Последна операција"
-
-#. module: portal_crm
-#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
-msgid "Contact form for the portal"
-msgstr "Контакт од портал"
diff --git a/addons/portal_crm/i18n/nl.po b/addons/portal_crm/i18n/nl.po
deleted file mode 100644
index 9997003c636..00000000000
--- a/addons/portal_crm/i18n/nl.po
+++ /dev/null
@@ -1,567 +0,0 @@
-# Dutch translation for openobject-addons
-# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
-# This file is distributed under the same license as the openobject-addons package.
-# FIRST AUTHOR , 2012.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: openobject-addons\n"
-"Report-Msgid-Bugs-To: FULL NAME