[MERGE]merged with latest trunk

bzr revid: dhr@tinyerp.com-20120809052141-os6yizjk8clv2xmd
This commit is contained in:
Dharti Ratani (OpenERP) 2012-08-09 10:51:41 +05:30
commit 95db87558f
409 changed files with 19348 additions and 17347 deletions

View File

@ -4,6 +4,8 @@
"description": "description":
""" """
OpenERP Web core module. OpenERP Web core module.
========================
This module provides the core of the OpenERP Web Client. This module provides the core of the OpenERP Web Client.
""", """,
"depends" : [], "depends" : [],
@ -51,7 +53,6 @@
"static/src/js/view_list.js", "static/src/js/view_list.js",
"static/src/js/view_list_editable.js", "static/src/js/view_list_editable.js",
"static/src/js/view_tree.js", "static/src/js/view_tree.js",
"static/src/js/view_editor.js"
], ],
'css' : [ 'css' : [
"static/lib/jquery.ui.bootstrap/css/custom-theme/jquery-ui-1.8.16.custom.css", "static/lib/jquery.ui.bootstrap/css/custom-theme/jquery-ui-1.8.16.custom.css",

View File

@ -426,10 +426,13 @@ class DisableCacheMiddleware(object):
referer = environ.get('HTTP_REFERER', '') referer = environ.get('HTTP_REFERER', '')
parsed = urlparse.urlparse(referer) parsed = urlparse.urlparse(referer)
debug = parsed.query.count('debug') >= 1 debug = parsed.query.count('debug') >= 1
filtered_headers = [(k,v) for k,v in headers if not (k=='Last-Modified' or (debug and (k=='Cache-Control' or k=='Expires')))] nh = dict(headers)
if 'Last-Modified' in nh: del nh['Last-Modified']
if debug: if debug:
filtered_headers.append(('Cache-Control', 'no-cache')) if 'Expires' in nh: del nh['Expires']
start_response(status, filtered_headers) if 'Etag' in nh: del nh['Etag']
nh['Cache-Control'] = 'no-cache'
start_response(status, nh.items())
return self.app(environ, start_wrapped) return self.app(environ, start_wrapped)
class Root(object): class Root(object):
@ -452,7 +455,6 @@ class Root(object):
by the server, will be filtered by this pattern by the server, will be filtered by this pattern
""" """
def __init__(self, options, openerp_addons_namespace=True): def __init__(self, options, openerp_addons_namespace=True):
self.root = '/web/webclient/home'
self.config = options self.config = options
if not hasattr(self.config, 'connector'): if not hasattr(self.config, 'connector'):
@ -492,14 +494,6 @@ class Root(object):
request.parameter_storage_class = werkzeug.datastructures.ImmutableDict request.parameter_storage_class = werkzeug.datastructures.ImmutableDict
request.app = self request.app = self
if request.path == '/':
params = urllib.urlencode(request.args)
return werkzeug.utils.redirect(self.root + '?' + params, 301)(
environ, start_response)
elif request.path == '/mobile':
return werkzeug.utils.redirect(
'/web_mobile/static/src/web_mobile.html', 301)(environ, start_response)
handler = self.find_handler(*(request.path.split('/')[1:])) handler = self.find_handler(*(request.path.split('/')[1:]))
if not handler: if not handler:

View File

@ -163,16 +163,13 @@ def sass2scss(src):
return out return out
return write(sass) return write(sass)
class WebClient(openerpweb.Controller): def server_wide_modules(req):
_cp_path = "/web/webclient"
def server_wide_modules(self, req):
addons = [i for i in req.config.server_wide_modules if i in openerpweb.addons_manifest] addons = [i for i in req.config.server_wide_modules if i in openerpweb.addons_manifest]
return addons return addons
def manifest_glob(self, req, addons, key): def manifest_glob(req, addons, key):
if addons is None: if addons is None:
addons = self.server_wide_modules(req) addons = server_wide_modules(req)
else: else:
addons = addons.split(',') addons = addons.split(',')
r = [] r = []
@ -188,32 +185,21 @@ class WebClient(openerpweb.Controller):
r.append((path, path[len(addons_path):])) r.append((path, path[len(addons_path):]))
return r return r
def manifest_list(self, req, mods, extension): def manifest_list(req, mods, extension):
if not req.debug: if not req.debug:
path = '/web/webclient/' + extension path = '/web/webclient/' + extension
if mods is not None: if mods is not None:
path += '?mods=' + mods path += '?mods=' + mods
return [path] return [path]
no_sugar = req.httprequest.environ["QUERY_STRING"].count("no_sugar") >= 1 files = manifest_glob(req, mods, extension)
no_sugar = no_sugar or req.httprequest.environ.get('HTTP_REFERER', '').count("no_sugar") >= 1 i_am_diabetic = req.httprequest.environ["QUERY_STRING"].count("no_sugar") >= 1 or \
if not no_sugar: req.httprequest.environ.get('HTTP_REFERER', '').count("no_sugar") >= 1
return ['%s?debug=%s' % (wp, os.path.getmtime(fp)) for fp, wp in self.manifest_glob(req, mods, extension)] if i_am_diabetic:
return [wp for _fp, wp in files]
else: else:
return [el[1] for el in self.manifest_glob(req, mods, extension)] return ['%s?debug=%s' % (wp, os.path.getmtime(fp)) for fp, wp in files]
@openerpweb.jsonrequest def get_last_modified(files):
def csslist(self, req, mods=None):
return self.manifest_list(req, mods, 'css')
@openerpweb.jsonrequest
def jslist(self, req, mods=None):
return self.manifest_list(req, mods, 'js')
@openerpweb.jsonrequest
def qweblist(self, req, mods=None):
return self.manifest_list(req, mods, 'qweb')
def get_last_modified(self, files):
""" Returns the modification time of the most recently modified """ Returns the modification time of the most recently modified
file provided file provided
@ -227,7 +213,7 @@ class WebClient(openerpweb.Controller):
for f in files) for f in files)
return datetime.datetime(1970, 1, 1) return datetime.datetime(1970, 1, 1)
def make_conditional(self, req, response, last_modified=None, etag=None): def make_conditional(req, response, last_modified=None, etag=None):
""" Makes the provided response conditional based upon the request, """ Makes the provided response conditional based upon the request,
and mandates revalidation from clients and mandates revalidation from clients
@ -251,10 +237,52 @@ class WebClient(openerpweb.Controller):
response.set_etag(etag) response.set_etag(etag)
return response.make_conditional(req.httprequest) return response.make_conditional(req.httprequest)
class Home(openerpweb.Controller):
_cp_path = '/'
@openerpweb.httprequest
def index(self, req, s_action=None, **kw):
js = "\n ".join('<script type="text/javascript" src="%s"></script>' % i for i in manifest_list(req, None, 'js'))
css = "\n ".join('<link rel="stylesheet" href="%s">' % i for i in manifest_list(req, None, 'css'))
r = html_template % {
'js': js,
'css': css,
'modules': simplejson.dumps(server_wide_modules(req)),
'init': 'var wc = new s.web.WebClient();wc.appendTo($(document.body));'
}
return r
@openerpweb.httprequest
def login(self, req, db, login, key):
return self._login(req, db, login, key)
def _login(self, req, db, login, key, redirect_url='/'):
req.session.authenticate(db, login, key, {})
redirect = werkzeug.utils.redirect(redirect_url, 303)
cookie_val = urllib2.quote(simplejson.dumps(req.session_id))
redirect.set_cookie('instance0|session_id', cookie_val)
return redirect
class WebClient(openerpweb.Controller):
_cp_path = "/web/webclient"
@openerpweb.jsonrequest
def csslist(self, req, mods=None):
return manifest_list(req, mods, 'css')
@openerpweb.jsonrequest
def jslist(self, req, mods=None):
return manifest_list(req, mods, 'js')
@openerpweb.jsonrequest
def qweblist(self, req, mods=None):
return manifest_list(req, mods, 'qweb')
@openerpweb.httprequest @openerpweb.httprequest
def css(self, req, mods=None): def css(self, req, mods=None):
files = list(self.manifest_glob(req, mods, 'css')) files = list(manifest_glob(req, mods, 'css'))
last_modified = self.get_last_modified(f[0] for f in files) last_modified = get_last_modified(f[0] for f in files)
if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified: if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified:
return werkzeug.wrappers.Response(status=304) return werkzeug.wrappers.Response(status=304)
@ -287,57 +315,36 @@ class WebClient(openerpweb.Controller):
content, checksum = concat_files((f[0] for f in files), reader) content, checksum = concat_files((f[0] for f in files), reader)
return self.make_conditional( return make_conditional(
req, req.make_response(content, [('Content-Type', 'text/css')]), req, req.make_response(content, [('Content-Type', 'text/css')]),
last_modified, checksum) last_modified, checksum)
@openerpweb.httprequest @openerpweb.httprequest
def js(self, req, mods=None): def js(self, req, mods=None):
files = [f[0] for f in self.manifest_glob(req, mods, 'js')] files = [f[0] for f in manifest_glob(req, mods, 'js')]
last_modified = self.get_last_modified(files) last_modified = get_last_modified(files)
if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified: if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified:
return werkzeug.wrappers.Response(status=304) return werkzeug.wrappers.Response(status=304)
content, checksum = concat_files(files, intersperse=';') content, checksum = concat_files(files, intersperse=';')
return self.make_conditional( return make_conditional(
req, req.make_response(content, [('Content-Type', 'application/javascript')]), req, req.make_response(content, [('Content-Type', 'application/javascript')]),
last_modified, checksum) last_modified, checksum)
@openerpweb.httprequest @openerpweb.httprequest
def qweb(self, req, mods=None): def qweb(self, req, mods=None):
files = [f[0] for f in self.manifest_glob(req, mods, 'qweb')] files = [f[0] for f in manifest_glob(req, mods, 'qweb')]
last_modified = self.get_last_modified(files) last_modified = get_last_modified(files)
if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified: if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified:
return werkzeug.wrappers.Response(status=304) return werkzeug.wrappers.Response(status=304)
content, checksum = concat_xml(files) content, checksum = concat_xml(files)
return self.make_conditional( return make_conditional(
req, req.make_response(content, [('Content-Type', 'text/xml')]), req, req.make_response(content, [('Content-Type', 'text/xml')]),
last_modified, checksum) last_modified, checksum)
@openerpweb.httprequest
def home(self, req, s_action=None, **kw):
js = "\n ".join('<script type="text/javascript" src="%s"></script>'%i for i in self.manifest_list(req, None, 'js'))
css = "\n ".join('<link rel="stylesheet" href="%s">'%i for i in self.manifest_list(req, None, 'css'))
r = html_template % {
'js': js,
'css': css,
'modules': simplejson.dumps(self.server_wide_modules(req)),
'init': 'var wc = new s.web.WebClient();wc.appendTo($(document.body));'
}
return r
@openerpweb.httprequest
def login(self, req, db, login, key):
req.session.authenticate(db, login, key, {})
redirect = werkzeug.utils.redirect('/web/webclient/home', 303)
cookie_val = urllib2.quote(simplejson.dumps(req.session_id))
redirect.set_cookie('instance0|session_id', cookie_val)
return redirect
@openerpweb.jsonrequest @openerpweb.jsonrequest
def translations(self, req, mods, lang): def translations(self, req, mods, lang):
lang_model = req.session.model('res.lang') lang_model = req.session.model('res.lang')
@ -997,6 +1004,16 @@ class DataSet(openerpweb.Controller):
elif isinstance(kwargs[k], common.nonliterals.BaseDomain): elif isinstance(kwargs[k], common.nonliterals.BaseDomain):
kwargs[k] = req.session.eval_domain(kwargs[k]) kwargs[k] = req.session.eval_domain(kwargs[k])
# Temporary implements future display_name special field for model#read()
if method == 'read' and kwargs.get('context') and kwargs['context'].get('future_display_name'):
if 'display_name' in args[1]:
names = req.session.model(model).name_get(args[0], **kwargs)
args[1].remove('display_name')
r = getattr(req.session.model(model), method)(*args, **kwargs)
for i in range(len(r)):
r[i]['display_name'] = names[i][1] or "%s#%d" % (model, names[i][0])
return r
return getattr(req.session.model(model), method)(*args, **kwargs) return getattr(req.session.model(model), method)(*args, **kwargs)
@openerpweb.jsonrequest @openerpweb.jsonrequest
@ -1360,7 +1377,12 @@ class Binary(openerpweb.Controller):
res = Model.default_get([field], context).get(field) res = Model.default_get([field], context).get(field)
image_data = base64.b64decode(res) image_data = base64.b64decode(res)
else: else:
res = Model.read([int(id)], [last_update, field], context)[0] try:
id = int(id)
except (ValueError):
# objects might use virtual ids as string
pass
res = Model.read([id], [last_update, field], context)[0]
retag = hashlib.md5(res.get(last_update)).hexdigest() retag = hashlib.md5(res.get(last_update)).hexdigest()
image_data = base64.b64decode(res.get(field)) image_data = base64.b64decode(res.get(field))
except (TypeError, xmlrpclib.Fault): except (TypeError, xmlrpclib.Fault):

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-26 04:50+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15679)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web/static/src/js/chrome.js:176 #: addons/web/static/src/js/chrome.js:176

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15644)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web/static/src/js/chrome.js:176 #: addons/web/static/src/js/chrome.js:176

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-30 04:59+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15702)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web/static/src/js/chrome.js:176 #: addons/web/static/src/js/chrome.js:176
@ -780,8 +780,8 @@ msgid ""
"Your version of OpenERP is unsupported. Support & maintenance services are " "Your version of OpenERP is unsupported. Support & maintenance services are "
"available here:" "available here:"
msgstr "" msgstr ""
"Sua versão do OpenERP não é suportada. Suporte e manutenção estão " "Sem suporte oficial da OpenERP S/A - Suporte e manutenção estão disponíveis "
"disponíveis aqui:" "aqui:"
#. openerp-web #. openerp-web
#: addons/web/static/src/xml/base.xml:251 #: addons/web/static/src/xml/base.xml:251

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -27,7 +27,7 @@
var $tip = this.tip(); var $tip = this.tip();
$tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title); $tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title);
$tip[0].className = 'tipsy'; // reset classname in case of dynamic gravity $tip[0].className = 'tipsy openerp oe_tooltip '; // reset classname in case of dynamic gravity
$tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).prependTo(document.body); $tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).prependTo(document.body);
var pos = $.extend({}, this.$element.offset(), { var pos = $.extend({}, this.$element.offset(), {
@ -63,7 +63,7 @@
} }
} }
$tip.css(tp).addClass('openerp oe_tooltip tipsy-' + gravity); $tip.css(tp).addClass('tipsy-' + gravity);
$tip.find('.tipsy-arrow')[0].className = 'tipsy-arrow tipsy-arrow-' + gravity.charAt(0); $tip.find('.tipsy-arrow')[0].className = 'tipsy-arrow tipsy-arrow-' + gravity.charAt(0);
if (this.options.className) { if (this.options.className) {
$tip.addClass(maybeCall(this.options.className, this.$element[0])); $tip.addClass(maybeCall(this.options.className, this.$element[0]));

View File

@ -80,6 +80,14 @@
* http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image * http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image
*/ */
} }
.openerp :-moz-placeholder {
color: #afafb6 !important;
font-style: italic !important;
}
.openerp ::-webkit-input-placeholder {
color: #afafb6 !important;
font-style: italic !important;
}
.openerp a { .openerp a {
text-decoration: none; text-decoration: none;
} }
@ -501,6 +509,14 @@
.openerp .oe_avatar + div { .openerp .oe_avatar + div {
margin-left: 5px; margin-left: 5px;
} }
.openerp .oe_image_small > img {
max-width: 50px;
max-height: 50px;
}
.openerp .oe_image_medium > img {
max-width: 180px;
max-height: 180px;
}
.openerp .oe_button.oe_link { .openerp .oe_button.oe_link {
border: none; border: none;
padding: 0; padding: 0;
@ -546,10 +562,6 @@
.openerp .oe_webclient .oe_star_on { .openerp .oe_webclient .oe_star_on {
color: gold; color: gold;
} }
.openerp .oe_bounce {
-moz-animation: bounce 0.4s linear;
-webkit-animation: bounce 0.4s linear;
}
.openerp .oe_tag { .openerp .oe_tag {
border-radius: 2px; border-radius: 2px;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
@ -594,6 +606,19 @@
.openerp.oe_tooltip .oe_tooltip_technical_title { .openerp.oe_tooltip .oe_tooltip_technical_title {
font-weight: bold; font-weight: bold;
} }
.openerp.oe_tooltip .oe_tooltip_close {
margin: -5px 0 0 2px;
cursor: default;
float: right;
color: white;
}
.openerp.oe_tooltip .oe_tooltip_close:hover {
color: #999999;
cursor: pointer;
}
.openerp.oe_tooltip .oe_tooltip_message {
max-width: 310px;
}
.openerp .oe_notebook { .openerp .oe_notebook {
margin: 8px 0; margin: 8px 0;
padding: 0 16px; padding: 0 16px;
@ -1808,15 +1833,29 @@
margin: 0 0 0 4px; margin: 0 0 0 4px;
padding: 0; padding: 0;
} }
.openerp .oe_view_nocontent > img { .openerp .oe_view_nocontent {
float: left; padding: 15px;
margin: 1.5em; margin-top: 0;
} color: #777777;
.openerp .oe_view_nocontent > div {
overflow: hidden;
padding: 35px 0px 0px 0px;
max-width: 700px;
font-size: 125%; font-size: 125%;
max-width: 700px;
}
.openerp .oe_view_nocontent .oe_view_nocontent_create {
background: transparent url(/web/static/src/img/view_empty_arrow.png) no-repeat 7px 0;
margin-top: 0;
padding-top: 35px;
min-height: 28px;
color: #4c4c4c;
}
.openerp .oe_view_nocontent > p {
padding-left: 95px;
}
.openerp .oe_view_nocontent .oe_empty_custom_dashboard {
background: transparent url(/web/static/src/img/graph_background.png) no-repeat 0 0;
margin-top: -15px;
padding: 100px 0 0 137px;
min-height: 327px;
margin-left: -15px;
} }
.openerp .oe_formview { .openerp .oe_formview {
background: white; background: white;
@ -1908,6 +1947,16 @@
max-width: 860px; max-width: 860px;
margin: 0 auto; margin: 0 auto;
} }
.openerp .oe_form div.oe_form_configuration div.oe_horizontal_separator {
margin: 25px 0 10px 0;
}
.openerp .oe_form div.oe_form_configuration p {
color: #aaaaaa;
max-width: 650px;
}
.openerp .oe_form div.oe_form_configuration label {
min-width: 150px;
}
.openerp ul.oe_form_steps { .openerp ul.oe_form_steps {
height: 30px; height: 30px;
padding: 0; padding: 0;
@ -1945,6 +1994,105 @@
font-weight: bold; font-weight: bold;
color: #b33630; color: #b33630;
} }
.openerp ul.oe_form_steps_clickable {
height: 30px;
margin: 0;
padding: 0;
text-shadow: 0 1px 1px #cacaca;
box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
overflow: hidden;
}
.openerp ul.oe_form_steps_clickable li {
border-right: none;
padding: 0 0 0 12px;
position: relative;
float: left;
vertical-align: top;
height: 30px;
color: white;
}
.openerp ul.oe_form_steps_clickable li:after {
content: " ";
width: 0;
height: 0;
border-top: 21px solid transparent;
border-bottom: 21px solid transparent;
border-left: 5px solid #807fb4;
position: absolute;
top: 50%;
margin-top: -21px;
left: 100%;
z-index: 2;
}
.openerp ul.oe_form_steps_clickable li:hover:after {
border-left: 5px solid #807fb4;
}
.openerp ul.oe_form_steps_clickable li:before {
content: " ";
width: 0;
height: 0;
border-top: 21px solid transparent;
border-bottom: 21px solid transparent;
border-left: 5px solid white;
position: absolute;
top: 50%;
margin-top: -21px;
margin-left: 2px;
left: 100%;
z-index: 2;
}
.openerp ul.oe_form_steps_clickable li.oe_form_steps_active {
font-weight: bold;
text-shadow: 0 1px 1px #999999;
box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.25);
background-color: #dc5f59;
background: -webkit-linear-gradient(top, #dc5f59, #b33630);
color: white;
}
.openerp ul.oe_form_steps_clickable li.oe_form_steps_inactive {
cursor: pointer;
box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.25);
background-color: #adadcf;
background: -webkit-linear-gradient(top, #adadcf, #7c7ba7);
}
.openerp ul.oe_form_steps_clickable li.oe_form_steps_inactive div {
padding: 0 30px 0 0;
}
.openerp ul.oe_form_steps_clickable li.oe_form_steps_inactive:hover {
background: -webkit-linear-gradient(top, #7c7ba7, #adadcf);
}
.openerp ul.oe_form_steps_clickable li div {
padding: 0 30px 0 0;
}
.openerp ul.oe_form_steps_clickable li.oe_form_steps_active:after {
content: " ";
display: block;
width: 0;
height: 0;
border-top: 21px solid transparent;
border-bottom: 21px solid transparent;
border-left: 5px solid #b33630;
position: absolute;
top: 50%;
margin-top: -21px;
left: 100%;
z-index: 2;
}
.openerp ul.oe_form_steps_clickable li.oe_form_steps_active:before {
content: " ";
display: block;
width: 0;
height: 0;
border-top: 21px solid transparent;
border-bottom: 21px solid transparent;
border-left: 5px solid white;
position: absolute;
top: 50%;
margin-top: -21px;
margin-left: 2px;
left: 100%;
z-index: 2;
}
.openerp .oe_form .oe_subtotal_footer { .openerp .oe_form .oe_subtotal_footer {
width: 1% !important; width: 1% !important;
} }
@ -2001,7 +2149,7 @@
} }
.openerp .oe_form td.oe_form_group_cell_label { .openerp .oe_form td.oe_form_group_cell_label {
border-right: 1px solid #dddddd; border-right: 1px solid #dddddd;
padding: 2px 0px 2px 0px; padding: 4px 0px 4px 0px;
} }
.openerp .oe_form td.oe_form_group_cell_label label { .openerp .oe_form td.oe_form_group_cell_label label {
line-height: 18px; line-height: 18px;
@ -2013,7 +2161,7 @@
} }
.openerp .oe_form .oe_form_group { .openerp .oe_form .oe_form_group {
width: 100%; width: 100%;
margin: 6px 0 6px 0; margin: 9px 0 9px 0;
} }
.openerp .oe_form .oe_form_group .oe_form_group_cell.oe_group_right { .openerp .oe_form .oe_form_group .oe_form_group_cell.oe_group_right {
padding-left: 20px; padding-left: 20px;
@ -2038,7 +2186,7 @@
font-weight: bold; font-weight: bold;
font-size: 20px; font-size: 20px;
margin: 8px 0px 8px 0px; margin: 8px 0px 8px 0px;
color: #aaaabb; color: #53637e;
} }
.openerp .oe_horizontal_separator:empty { .openerp .oe_horizontal_separator:empty {
height: 5px; height: 5px;
@ -2097,7 +2245,7 @@
width: 100%; width: 100%;
display: inline-block; display: inline-block;
padding: 2px 2px 2px 0px; padding: 2px 2px 2px 0px;
line-height: 18px; line-height: 1em;
} }
.openerp .oe_form .oe_form_field input { .openerp .oe_form .oe_form_field input {
margin: 0px; margin: 0px;
@ -2186,10 +2334,10 @@
overflow: hidden; overflow: hidden;
} }
.openerp .oe_form_editable .oe_form .oe_form_field_integer { .openerp .oe_form_editable .oe_form .oe_form_field_integer {
width: 7em !important; width: 6em !important;
} }
.openerp .oe_form_editable .oe_form .oe_form_field_float { .openerp .oe_form_editable .oe_form .oe_form_field_float {
width: 8em !important; width: 7em !important;
} }
.openerp .oe_form_editable .oe_form .oe_form_field_date { .openerp .oe_form_editable .oe_form .oe_form_field_date {
width: 7.5em !important; width: 7.5em !important;
@ -2308,6 +2456,11 @@
.openerp .oe_list { .openerp .oe_list {
position: relative; position: relative;
} }
.openerp .oe_list .oe_form .oe_form_nosheet {
margin: 0;
padding: 0;
border: none;
}
.openerp .oe_list .oe_form .oe_form_field { .openerp .oe_list .oe_form .oe_form_field {
width: auto; width: auto;
position: absolute; position: absolute;
@ -2419,6 +2572,25 @@
.openerp .oe_list_content .numeric input { .openerp .oe_list_content .numeric input {
text-align: right; text-align: right;
} }
.openerp .oe_list_content th.oe_list_header_handle {
font-size: 1px;
overflow: hidden;
text-indent: -9001px;
}
.openerp .oe_list_content td.oe_list_field_handle {
width: 1em;
cursor: ns-resize;
}
.openerp .oe_list_content td.oe_list_field_handle .oe_list_handle {
font-size: 1px;
letter-spacing: -1px;
color: transparent;
}
.openerp .oe_list_content td.oe_list_field_handle .oe_list_handle:before {
font: 21px "mnmliconsRegular";
content: "ö";
color: #404040;
}
.openerp .tree_header { .openerp .tree_header {
background-color: #f0f0f0; background-color: #f0f0f0;
border-bottom: 1px solid #cacaca; border-bottom: 1px solid #cacaca;
@ -2474,27 +2646,6 @@
.openerp .oe_trad_field.touched { .openerp .oe_trad_field.touched {
border: 1px solid green !important; border: 1px solid green !important;
} }
.openerp .oe_view_editor {
width: 100%;
border-collapse: collapse;
margin-left: -12px;
width: 100%;
background-color: white;
border-spacing: 0;
}
.openerp .oe_view_editor td {
text-align: center;
white-space: nowrap;
border: 1px solid #d8d8d8;
cursor: pointer;
font-size: 90%;
}
.openerp .oe_view_editor_field td {
border: 0px !important;
}
.openerp .oe_view_editor tr:hover {
background-color: #ecebf2;
}
.openerp .oe_layout_debugging .oe_form_group { .openerp .oe_layout_debugging .oe_form_group {
outline: 2px dashed green; outline: 2px dashed green;
} }

View File

@ -140,6 +140,14 @@ $sheet-max-width: 860px
font-size: 13px font-size: 13px
background: white background: white
// }}} // }}}
//Placeholder style{{{
\:-moz-placeholder
color: $facets-border !important
font-style: italic !important
\::-webkit-input-placeholder
color: $facets-border !important
font-style: italic !important
//}}}
// Tag reset {{{ // Tag reset {{{
a a
text-decoration: none text-decoration: none
@ -150,7 +158,7 @@ $sheet-max-width: 860px
font-weight: bold font-weight: bold
background-color: #f0f0f0 background-color: #f0f0f0
th th
border-right: 1px dotted #afafb6 border-right: 1px dotted $facets-border
&:last-child &:last-child
border-right: none border-right: none
th, td th, td
@ -400,6 +408,12 @@ $sheet-max-width: 860px
border: none border: none
.oe_avatar + div .oe_avatar + div
margin-left: 5px margin-left: 5px
.oe_image_small > img
max-width: 50px
max-height: 50px
.oe_image_medium > img
max-width: 180px
max-height: 180px
.oe_button.oe_link .oe_button.oe_link
@include reset() @include reset()
img img
@ -421,9 +435,6 @@ $sheet-max-width: 860px
text-decoration: none text-decoration: none
.oe_star_on .oe_star_on
color: gold color: gold
.oe_bounce
-moz-animation: bounce .40s linear
-webkit-animation: bounce .40s linear
// }}} // }}}
// Tags (for many2many tags, among others) {{{ // Tags (for many2many tags, among others) {{{
.oe_tag .oe_tag
@ -461,6 +472,16 @@ $sheet-max-width: 860px
list-style: circle list-style: circle
.oe_tooltip_technical_title .oe_tooltip_technical_title
font-weight: bold font-weight: bold
.oe_tooltip_close
margin: -5px 0 0 2px
cursor: default
float: right
color: white
&:hover
color: #999
cursor: pointer
.oe_tooltip_message
max-width: 310px
// }}} // }}}
// Notebook {{{ // Notebook {{{
.oe_notebook .oe_notebook
@ -524,7 +545,7 @@ $sheet-max-width: 860px
top: 26px top: 26px
left: 0 left: 0
z-index: 1 z-index: 1
border: 1px solid #afafb6 border: 1px solid $facets-border
background: white background: white
padding: 4px 0 padding: 4px 0
min-width: 140px min-width: 140px
@ -804,7 +825,7 @@ $sheet-max-width: 860px
display: none display: none
width: 220px width: 220px
background: #f0eeee background: #f0eeee
border-right: 1px solid #afafb6 border-right: 1px solid $facets-border
text-shadow: 0 1px 1px white text-shadow: 0 1px 1px white
padding-bottom: 16px padding-bottom: 16px
a.oe_logo a.oe_logo
@ -1245,7 +1266,7 @@ $sheet-max-width: 860px
background-color: white background-color: white
min-width: 100% min-width: 100%
display: none display: none
border: 1px solid #afafb6 border: 1px solid $facets-border
text-align: left text-align: left
@include radius(4px) @include radius(4px)
@include box-shadow(0 1px 4px rgba(0,0,0,0.3)) @include box-shadow(0 1px 4px rgba(0,0,0,0.3))
@ -1400,15 +1421,26 @@ $sheet-max-width: 860px
// }}} // }}}
// Views Common {{{ // Views Common {{{
.oe_view_nocontent .oe_view_nocontent
> img padding: 15px
float: left margin-top: 0
margin: 1.5em color: #777777
> div
// don't encroach on my arrow
overflow: hidden
padding: 35px 0px 0px 0px
max-width: 700px
font-size: 125% font-size: 125%
max-width: 700px
.oe_view_nocontent_create
background: transparent url(/web/static/src/img/view_empty_arrow.png) no-repeat 7px 0
margin-top: 0
padding-top: 35px
min-height: 28px
color: #4c4c4c
> p
padding-left: 95px
.oe_empty_custom_dashboard
background: transparent url(/web/static/src/img/graph_background.png) no-repeat 0 0
margin-top: -15px
padding: 100px 0 0 137px
min-height: 327px
margin-left: -15px
// }}} // }}}
// FormView.base and dynamic tags {{{ // FormView.base and dynamic tags {{{
.oe_formview .oe_formview
@ -1462,6 +1494,14 @@ $sheet-max-width: 860px
min-width: 650px min-width: 650px
max-width: $sheet-max-width max-width: $sheet-max-width
margin: 0 auto margin: 0 auto
div.oe_form_configuration
div.oe_horizontal_separator
margin: 25px 0 10px 0
p
color: #aaa
max-width: 650px
label
min-width: 150px
ul.oe_form_steps ul.oe_form_steps
height: 30px height: 30px
padding: 0 padding: 0
@ -1491,6 +1531,93 @@ $sheet-max-width: 860px
.oe_form_steps_active .oe_form_steps_active
font-weight: bold font-weight: bold
color: #b33630 color: #b33630
ul.oe_form_steps_clickable
height: 30px
margin: 0
padding: 0
text-shadow: 0 1px 1px #cacaca
box-shadow: 0 0 1px rgba(0,0,0,0.5)
overflow: hidden
li
border-right: none
padding: 0 0 0 12px
position: relative
float: left
vertical-align: top
height: 30px
color: white
&:after
content: " "
width: 0
height: 0
border-top: 21px solid transparent
border-bottom: 21px solid transparent
border-left: 5px solid #807fb4
position: absolute
top: 50%
margin-top: -21px
left: 100%
z-index: 2
&:hover:after
border-left: 5px solid #807fb4
&:before
content: " "
width: 0
height: 0
border-top: 21px solid transparent
border-bottom: 21px solid transparent
border-left: 5px solid white
position: absolute
top: 50%
margin-top: -21px
margin-left: 2px
left: 100%
z-index: 2
&.oe_form_steps_active
font-weight: bold
text-shadow: 0 1px 1px #999999
box-shadow: inset 0 -1px 1px rgba(0,0,0,0.25), inset 0 1px 1px rgba(255,255,255,0.25)
background-color: #dc5f59
background: -webkit-linear-gradient(top, #dc5f59, #b33630)
color: white
&.oe_form_steps_inactive
cursor: pointer
box-shadow: inset 0 -1px 1px rgba(0,0,0,0.25), inset 0 1px 1px rgba(255,255,255,0.25)
background-color: #adadcf
background: -webkit-linear-gradient(top, #adadcf, #7c7ba7)
div
padding: 0 30px 0 0
&.oe_form_steps_inactive:hover
background: -webkit-linear-gradient(top, #7c7ba7, #adadcf)
div
padding: 0 30px 0 0
&.oe_form_steps_active:after
content: " "
display: block
width: 0
height: 0
border-top: 21px solid transparent
border-bottom: 21px solid transparent
border-left: 5px solid #b33630
position: absolute
top: 50%
margin-top: -21px
left: 100%
z-index: 2
&.oe_form_steps_active:before
content: " "
display: block
width: 0
height: 0
border-top: 21px solid transparent
border-bottom: 21px solid transparent
border-left: 5px solid white
position: absolute
top: 50%
margin-top: -21px
margin-left: 2px
left: 100%
z-index: 2
.oe_form .oe_subtotal_footer .oe_form .oe_subtotal_footer
width: 1% !important width: 1% !important
td.oe_form_group_cell td.oe_form_group_cell
@ -1524,7 +1651,7 @@ $sheet-max-width: 860px
background: white background: white
min-height: 330px min-height: 330px
padding: 16px padding: 16px
border: 1px solid #afafb6 border: 1px solid $facets-border
@include box-shadow(0 0 10px rgba(0,0,0,0.3)) @include box-shadow(0 0 10px rgba(0,0,0,0.3))
.ui-tabs .ui-tabs
margin: 0 -16px margin: 0 -16px
@ -1537,7 +1664,7 @@ $sheet-max-width: 860px
margin: 2px margin: 2px
td.oe_form_group_cell_label td.oe_form_group_cell_label
border-right: 1px solid #ddd border-right: 1px solid #ddd
padding: 2px 0px 2px 0px padding: 4px 0px 4px 0px
label label
line-height: 18px line-height: 18px
display: block display: block
@ -1546,7 +1673,7 @@ $sheet-max-width: 860px
padding-left: 6px padding-left: 6px
.oe_form_group .oe_form_group
width: 100% width: 100%
margin: 6px 0 6px 0 margin: 9px 0 9px 0
.oe_form_group_cell.oe_group_right .oe_form_group_cell.oe_group_right
padding-left: 20px padding-left: 20px
// }}} // }}}
@ -1571,7 +1698,7 @@ $sheet-max-width: 860px
font-weight: bold font-weight: bold
font-size: 20px font-size: 20px
margin: 8px 0px 8px 0px margin: 8px 0px 8px 0px
color: #aab color: #53637e
.oe_horizontal_separator:empty .oe_horizontal_separator:empty
height: 5px height: 5px
.oe_vertical_separator .oe_vertical_separator
@ -1618,7 +1745,7 @@ $sheet-max-width: 860px
width: 100% width: 100%
display: inline-block display: inline-block
padding: 2px 2px 2px 0px padding: 2px 2px 2px 0px
line-height: 18px line-height: 1em
input input
margin: 0px margin: 0px
input[type="text"], input[type="password"], input[type="file"], select input[type="text"], input[type="password"], input[type="file"], select
@ -1685,9 +1812,9 @@ $sheet-max-width: 860px
.oe_form_editable .oe_form_editable
.oe_form .oe_form
.oe_form_field_integer .oe_form_field_integer
width: 7em !important width: 6em !important
.oe_form_field_float .oe_form_field_float
width: 8em !important width: 7em !important
.oe_form_field_date .oe_form_field_date
width: 7.5em !important width: 7.5em !important
.oe_form_field_datetime .oe_form_field_datetime
@ -1804,7 +1931,12 @@ $sheet-max-width: 860px
.oe_list .oe_list
position: relative position: relative
.oe_form .oe_form_field .oe_form
.oe_form_nosheet
margin: 0 // FIXME: either class or border should not be by default
padding: 0
border: none
.oe_form_field
width: auto width: auto
position: absolute position: absolute
margin: 0 !important // dammit margin: 0 !important // dammit
@ -1881,6 +2013,16 @@ $sheet-max-width: 860px
width: 82px width: 82px
input input
text-align: right text-align: right
th.oe_list_header_handle
font-size: 1px
overflow: hidden
text-indent: -9001px
td.oe_list_field_handle
width: 1em
cursor: ns-resize
.oe_list_handle
@include text-to-icon("ö")
// }}} // }}}
// Tree view {{{ // Tree view {{{
.tree_header .tree_header
@ -1905,7 +2047,7 @@ $sheet-max-width: 860px
border-bottom: 2px solid #cacaca border-bottom: 2px solid #cacaca
.treeview-tr, .treeview-td .treeview-tr, .treeview-td
cursor: pointer cursor: pointer
border-right: 1px dotted #afafb6 border-right: 1px dotted $facets-border
vertical-align: top vertical-align: top
text-align: left text-align: left
border-bottom: 1px solid #cfcccc border-bottom: 1px solid #cfcccc
@ -1929,25 +2071,6 @@ $sheet-max-width: 860px
.oe_trad_field.touched .oe_trad_field.touched
border: 1px solid green !important border: 1px solid green !important
// }}} // }}}
// View Editor {{{
.oe_view_editor
width: 100%
border-collapse: collapse
margin-left: -12px
width: 100%
background-color: white
border-spacing: 0
td
text-align: center
white-space: nowrap
border: 1px solid #D8D8D8
cursor: pointer
font-size: 90%
.oe_view_editor_field td
border: 0px !important
.oe_view_editor tr:hover
background-color: #ecebf2
// }}}
// Debugging stuff {{{ // Debugging stuff {{{
.oe_layout_debugging .oe_layout_debugging
.oe_form_group .oe_form_group

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -48,7 +48,7 @@
* OpenERP Web web module split * OpenERP Web web module split
*---------------------------------------------------------*/ *---------------------------------------------------------*/
openerp.web = function(session) { openerp.web = function(session) {
var files = ["corelib","coresetup","dates","formats","chrome","data","views","search","list","form","list_editable","web_mobile","view_tree","data_export","data_import","view_editor"]; var files = ["corelib","coresetup","dates","formats","chrome","data","views","search","list","form","list_editable","web_mobile","view_tree","data_export","data_import"];
for(var i=0; i<files.length; i++) { for(var i=0; i<files.length; i++) {
if(openerp.web[files[i]]) { if(openerp.web[files[i]]) {
openerp.web[files[i]](session); openerp.web[files[i]](session);

View File

@ -57,9 +57,7 @@ instance.web.Dialog = instance.web.Widget.extend({
init: function (parent, options, content) { init: function (parent, options, content) {
var self = this; var self = this;
this._super(parent); this._super(parent);
if (content) { this.content_to_set = content;
this.$element = content instanceof $ ? content : $(content);
}
this.dialog_options = { this.dialog_options = {
modal: true, modal: true,
destroy_on_close: true, destroy_on_close: true,
@ -83,11 +81,6 @@ instance.web.Dialog = instance.web.Widget.extend({
if (options) { if (options) {
_.extend(this.dialog_options, options); _.extend(this.dialog_options, options);
} }
if (this.dialog_options.autoOpen) {
this.open();
} else {
instance.web.dialog(this.$element, this.get_options());
}
}, },
get_options: function(options) { get_options: function(options) {
var self = this, var self = this,
@ -119,11 +112,16 @@ instance.web.Dialog = instance.web.Widget.extend({
return parseInt(val, 10); return parseInt(val, 10);
} }
}, },
open: function(options) { renderElement: function() {
// TODO fme: bind window on resize if (this.content_to_set) {
if (this.template) { this.setElement(this.content_to_set);
this.$element.html(this.renderElement()); } else if (this.template) {
this._super();
} }
},
open: function(options) {
if (! this.dialog_inited)
this.init_dialog();
var o = this.get_options(options); var o = this.get_options(options);
instance.web.dialog(this.$element, o).dialog('open'); instance.web.dialog(this.$element, o).dialog('open');
if (o.height === 'auto' && o.max_height) { if (o.height === 'auto' && o.max_height) {
@ -131,6 +129,14 @@ instance.web.Dialog = instance.web.Widget.extend({
} }
return this; return this;
}, },
init_dialog: function(options) {
this.renderElement();
var o = this.get_options(options);
instance.web.dialog(this.$element, o);
var res = this.start();
this.dialog_inited = true;
return res;
},
close: function() { close: function() {
this.$element.dialog('close'); this.$element.dialog('close');
}, },
@ -394,6 +400,9 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
'db': form_obj['db_name'], 'db': form_obj['db_name'],
'login': 'admin', 'login': 'admin',
'password': form_obj['create_admin_pwd'], 'password': form_obj['create_admin_pwd'],
'login_successful': function() {
instance.webclient.show_application();
},
}, },
}; };
self.do_action(client_action); self.do_action(client_action);
@ -496,7 +505,11 @@ instance.web.Login = instance.web.Widget.extend({
this.has_local_storage = typeof(localStorage) != 'undefined'; this.has_local_storage = typeof(localStorage) != 'undefined';
this.selected_db = null; this.selected_db = null;
this.selected_login = null; this.selected_login = null;
this.params = params; this.params = params || {};
if (this.params.login_successful) {
this.on('login_successful', this, this.params.login_successful);
}
if (this.has_local_storage && this.remember_credentials) { if (this.has_local_storage && this.remember_credentials) {
this.selected_db = localStorage.getItem('last_db_login_success'); this.selected_db = localStorage.getItem('last_db_login_success');
@ -513,7 +526,7 @@ instance.web.Login = instance.web.Widget.extend({
self.do_action("database_manager"); self.do_action("database_manager");
}); });
return self.load_db_list().then(self.on_db_list_loaded).then(function() { return self.load_db_list().then(self.on_db_list_loaded).then(function() {
if(self.params) { if (self.params.db) {
self.do_login(self.params.db, self.params.login, self.params.password); self.do_login(self.params.db, self.params.login, self.params.password);
} }
}); });
@ -589,10 +602,96 @@ instance.web.Login = instance.web.Widget.extend({
self.$(".oe_login_pane").fadeIn("fast"); self.$(".oe_login_pane").fadeIn("fast");
self.$element.addClass("oe_login_invalid"); self.$element.addClass("oe_login_invalid");
}); });
},
show: function () {
this.$element.show();
},
hide: function () {
this.$element.hide();
} }
}); });
instance.web.client_actions.add("login", "instance.web.Login"); instance.web.client_actions.add("login", "instance.web.Login");
/**
* Client action to reload the whole interface.
* If params has an entry 'menu_id', it opens the given menu entry.
*/
instance.web.Reload = instance.web.Widget.extend({
init: function(parent, params) {
this._super(parent);
this.menu_id = (params && params.menu_id) || false;
},
start: function() {
var l = window.location;
var timestamp = new Date().getTime();
var search = "?ts=" + timestamp;
if (l.search) {
search = l.search + "&ts=" + timestamp;
}
var hash = l.hash;
if (this.menu_id) {
hash = "#menu_id=" + this.menu_id;
}
var url = l.protocol + "//" + l.host + l.pathname + search + hash;
window.location = url;
}
});
instance.web.client_actions.add("reload", "instance.web.Reload");
/**
* Client action to go back in breadcrumb history.
* If can't go back in history stack, will go back to home.
*/
instance.web.HistoryBack = instance.web.Widget.extend({
init: function(parent, params) {
if (!parent.history_back()) {
window.location = '/' + (window.location.search || '');
}
}
});
instance.web.client_actions.add("history_back", "instance.web.HistoryBack");
/**
* Client action to go back home.
*/
instance.web.Home = instance.web.Widget.extend({
init: function(parent, params) {
window.location = '/' + (window.location.search || '');
}
});
instance.web.client_actions.add("home", "instance.web.Home");
instance.web.ChangePassword = instance.web.Widget.extend({
template: "ChangePassword",
start: function() {
var self = this;
self.$element.find("form[name=change_password_form]").validate({
submitHandler: function (form) {
self.rpc("/web/session/change_password",{
'fields': $(form).serializeArray()
}, function(result) {
if (result.error) {
self.display_error(result);
return;
} else {
instance.webclient.on_logout();
}
});
}
});
},
display_error: function (error) {
return instance.web.dialog($('<div>'), {
modal: true,
title: error.title,
buttons: [
{text: _("Ok"), click: function() { $(this).dialog("close"); }}
]
}).html(error.error);
},
})
instance.web.client_actions.add("change_password", "instance.web.ChangePassword");
instance.web.Menu = instance.web.Widget.extend({ instance.web.Menu = instance.web.Widget.extend({
template: 'Menu', template: 'Menu',
init: function() { init: function() {
@ -760,37 +859,6 @@ instance.web.UserMenu = instance.web.Widget.extend({
} }
}); });
}, },
change_password :function() {
var self = this;
this.dialog = new instance.web.Dialog(this, {
title: _t("Change Password"),
width : 'auto'
}).open();
this.dialog.$element.html(QWeb.render("UserMenu.password", self));
this.dialog.$element.find("form[name=change_password_form]").validate({
submitHandler: function (form) {
self.rpc("/web/session/change_password",{
'fields': $(form).serializeArray()
}, function(result) {
if (result.error) {
self.display_error(result);
return;
} else {
instance.webclient.on_logout();
}
});
}
});
},
display_error: function (error) {
return instance.web.dialog($('<div>'), {
modal: true,
title: error.title,
buttons: [
{text: _("Ok"), click: function() { $(this).dialog("close"); }}
]
}).html(error.error);
},
do_update: function () { do_update: function () {
var self = this; var self = this;
var fct = function() { var fct = function() {
@ -806,7 +874,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
if(res.company_id[0] > 1) if(res.company_id[0] > 1)
topbar_name = _.str.sprintf("%s (%s)", topbar_name, res.company_id[1]); topbar_name = _.str.sprintf("%s (%s)", topbar_name, res.company_id[1]);
self.$element.find('.oe_topbar_name').text(topbar_name); self.$element.find('.oe_topbar_name').text(topbar_name);
var avatar_src = _.str.sprintf('%s/web/binary/image?session_id=%s&model=res.users&field=avatar&id=%s', self.session.prefix, self.session.session_id, self.session.uid); var avatar_src = _.str.sprintf('%s/web/binary/image?session_id=%s&model=res.users&field=image_small&id=%s', self.session.prefix, self.session.session_id, self.session.uid);
$avatar.attr('src', avatar_src); $avatar.attr('src', avatar_src);
}); });
}; };
@ -818,44 +886,10 @@ instance.web.UserMenu = instance.web.Widget.extend({
}, },
on_menu_settings: function() { on_menu_settings: function() {
var self = this; var self = this;
var action_manager = new instance.web.ActionManager(this); self.rpc("/web/action/load", { action_id: "base.action_res_users_my" }, function(result) {
var dataset = new instance.web.DataSet (this,'res.users',this.context); result.result.res_id = instance.connection.uid;
dataset.call ('action_get','',function (result){ self.getParent().action_manager.do_action(result.result);
self.rpc('/web/action/load', {action_id:result}, function(result){
action_manager.do_action(_.extend(result['result'], {
target: 'inline',
res_id: self.session.uid,
res_model: 'res.users',
flags: {
action_buttons: false,
search_view: false,
sidebar: false,
views_switcher: false,
pager: false
}
}));
}); });
});
this.dialog = new instance.web.Dialog(this,{
title: _t("Preferences"),
width: '700px',
buttons: [
{text: _t("Change password"), click: function(){ self.change_password(); }},
{text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }},
{text: _t("Save"), click: function(){
var inner_widget = action_manager.inner_widget;
inner_widget.views[inner_widget.active_view].controller.do_save()
.then(function() {
self.dialog.destroy();
// needs to refresh interface in case language changed
window.location.reload();
});
}
}
]
}).open();
action_manager.appendTo(this.dialog.$element);
action_manager.renderElement(this.dialog);
}, },
on_menu_about: function() { on_menu_about: function() {
var self = this; var self = this;
@ -880,12 +914,11 @@ instance.web.Client = instance.web.Widget.extend({
}, },
start: function() { start: function() {
var self = this; var self = this;
return instance.connection.session_bind(this.origin).then(function() { return instance.connection.session_bind(this.origin).pipe(function() {
var $e = $(QWeb.render(self._template, {})); var $e = $(QWeb.render(self._template, {}));
self.$element.replaceWith($e); self.replaceElement($e);
self.$element = $e;
self.bind_events(); self.bind_events();
self.show_common(); return self.show_common();
}); });
}, },
bind_events: function() { bind_events: function() {
@ -896,7 +929,8 @@ instance.web.Client = instance.web.Widget.extend({
this.$element.on('click', '.oe_dropdown_toggle', function(ev) { this.$element.on('click', '.oe_dropdown_toggle', function(ev) {
ev.preventDefault(); ev.preventDefault();
var $toggle = $(this); var $toggle = $(this);
var $menu = $toggle.parent().find('.oe_dropdown_menu'); var $menu = $toggle.siblings('.oe_dropdown_menu');
$menu = $menu.size() >= 1 ? $menu : $toggle.find('.oe_dropdown_menu');
var state = $menu.is('.oe_opened'); var state = $menu.is('.oe_opened');
setTimeout(function() { setTimeout(function() {
// Do not alter propagation // Do not alter propagation
@ -913,8 +947,11 @@ instance.web.Client = instance.web.Widget.extend({
} }
}, 0); }, 0);
}); });
instance.web.bus.on('click', this, function() { instance.web.bus.on('click', this, function(ev) {
$.fn.tipsy.clear();
if (!$(ev.target).is('input[type=file]')) {
self.$element.find('.oe_dropdown_menu.oe_opened').removeClass('oe_opened'); self.$element.find('.oe_dropdown_menu.oe_opened').removeClass('oe_opened');
}
}); });
}, },
show_common: function() { show_common: function() {
@ -1027,15 +1064,15 @@ instance.web.WebClient = instance.web.Client.extend({
$(window).bind('hashchange', this.on_hashchange); $(window).bind('hashchange', this.on_hashchange);
var state = $.bbq.getState(true); var state = $.bbq.getState(true);
if (! _.isEmpty(state)) { if (_.isEmpty(state) || state.action == "login") {
$(window).trigger('hashchange');
} else {
self.menu.has_been_loaded.then(function() { self.menu.has_been_loaded.then(function() {
var first_menu_id = self.menu.$element.find("a:first").data("menu"); var first_menu_id = self.menu.$element.find("a:first").data("menu");
if(first_menu_id) { if(first_menu_id) {
self.menu.menu_click(first_menu_id); self.menu.menu_click(first_menu_id);
} }
}); });
} else {
$(window).trigger('hashchange');
} }
}, },
on_hashchange: function(event) { on_hashchange: function(event) {

View File

@ -491,23 +491,19 @@ instance.web.CallbackEnabledMixin = _.extend({}, instance.web.PropertiesMixin, {
* *
* The semantics of this precisely replace closing over the method call. * The semantics of this precisely replace closing over the method call.
* *
* @param {String} method_name name of the method to invoke * @param {String|Function} method function or name of the method to invoke
* @returns {Function} proxied method * @returns {Function} proxied method
*/ */
proxy: function (method_name) { proxy: function (method) {
var self = this; var self = this;
return function () { return function () {
return self[method_name].apply(self, arguments); var fn = (typeof method === 'string') ? self[method] : method;
return fn.apply(self, arguments);
} }
} }
}); });
instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
/**
* Tag name when creating a default $element.
* @type string
*/
tagName: 'div',
/** /**
* Constructs the widget and sets its parent if a parent is given. * Constructs the widget and sets its parent if a parent is given.
* *
@ -517,14 +513,9 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
* @param {instance.web.Widget} parent Binds the current instance to the given Widget instance. * @param {instance.web.Widget} parent Binds the current instance to the given Widget instance.
* When that widget is destroyed by calling destroy(), the current instance will be * When that widget is destroyed by calling destroy(), the current instance will be
* destroyed too. Can be null. * destroyed too. Can be null.
* @param {String} element_id Deprecated. Sets the element_id. Only useful when you want
* to bind the current Widget to an already existing part of the DOM, which is not compatible
* with the DOM insertion methods provided by the current implementation of Widget. So
* for new components this argument should not be provided any more.
*/ */
init: function(parent) { init: function(parent) {
instance.web.CallbackEnabledMixin.init.call(this); instance.web.CallbackEnabledMixin.init.call(this);
this.$element = $(document.createElement(this.tagName));
this.setParent(parent); this.setParent(parent);
}, },
/** /**
@ -534,7 +525,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
_.each(this.getChildren(), function(el) { _.each(this.getChildren(), function(el) {
el.destroy(); el.destroy();
}); });
if(this.$element != null) { if(this.$element) {
this.$element.remove(); this.$element.remove();
} }
instance.web.PropertiesMixin.destroy.call(this); instance.web.PropertiesMixin.destroy.call(this);
@ -613,6 +604,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
* @returns {jQuery.Deferred} * @returns {jQuery.Deferred}
*/ */
start: function() { start: function() {
return $.when();
} }
}); });
@ -673,6 +665,12 @@ instance.web.CallbackEnabled = instance.web.Class.extend(instance.web.CallbackEn
* That will kill the widget in a clean way and erase its content from the dom. * That will kill the widget in a clean way and erase its content from the dom.
*/ */
instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
// Backbone-ish API
tagName: 'div',
id: null,
className: null,
attributes: {},
events: {},
/** /**
* The name of the QWeb template that will be used for rendering. Must be * The name of the QWeb template that will be used for rendering. Must be
* redefined in subclasses or the default render() method can not be used. * redefined in subclasses or the default render() method can not be used.
@ -689,13 +687,11 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
* @param {instance.web.Widget} parent Binds the current instance to the given Widget instance. * @param {instance.web.Widget} parent Binds the current instance to the given Widget instance.
* When that widget is destroyed by calling destroy(), the current instance will be * When that widget is destroyed by calling destroy(), the current instance will be
* destroyed too. Can be null. * destroyed too. Can be null.
* @param {String} element_id Deprecated. Sets the element_id. Only useful when you want
* to bind the current Widget to an already existing part of the DOM, which is not compatible
* with the DOM insertion methods provided by the current implementation of Widget. So
* for new components this argument should not be provided any more.
*/ */
init: function(parent) { init: function(parent) {
instance.web.WidgetMixin.init.call(this,parent); instance.web.WidgetMixin.init.call(this,parent);
// FIXME: this should not be
this.setElement(this._make_descriptive());
this.session = instance.connection; this.session = instance.connection;
}, },
/** /**
@ -704,20 +700,120 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
* key that references `this`. * key that references `this`.
*/ */
renderElement: function() { renderElement: function() {
var rendered = null; var $el;
if (this.template) if (this.template) {
rendered = instance.web.qweb.render(this.template, {widget: this}); $el = $(_.str.trim(instance.web.qweb.render(
if (_.str.trim(rendered)) { this.template, {widget: this})));
var elem = $(rendered); } else {
this.$element.replaceWith(elem); $el = this._make_descriptive();
this.$element = elem;
} }
this.replaceElement($el);
},
/**
* Re-sets the widget's root element and replaces the old root element
* (if any) by the new one in the DOM.
*
* @param {HTMLElement | jQuery} $el
* @returns {*} this
*/
replaceElement: function ($el) {
var $oldel = this.$element;
this.setElement($el);
if ($oldel && !$oldel.is(this.$element)) {
$oldel.replaceWith(this.$element);
}
return this;
}, },
/** /**
* Shortcut for $element.find() like backbone * Re-sets the widget's root element (el/$el/$element).
*
* Includes:
* * re-delegating events
* * re-binding sub-elements
* * if the widget already had a root element, replacing the pre-existing
* element in the DOM
*
* @param {HTMLElement | jQuery} element new root element for the widget
* @return {*} this
*/ */
"$": function() { setElement: function (element) {
return this.$element.find.apply(this.$element,arguments); // NB: completely useless, as WidgetMixin#init creates a $element
// always
if (this.$element) {
this.undelegateEvents();
}
this.$element = (element instanceof $) ? element : $(element);
this.el = this.$element[0];
this.delegateEvents();
return this;
},
/**
* Utility function to build small DOM elements.
*
* @param {String} tagName name of the DOM element to create
* @param {Object} [attributes] map of DOM attributes to set on the element
* @param {String} [content] HTML content to set on the element
* @return {Element}
*/
make: function (tagName, attributes, content) {
var el = document.createElement(tagName);
if (!_.isEmpty(attributes)) {
$(el).attr(attributes);
}
if (content) {
$(el).html(content);
}
return el;
},
/**
* Makes a potential root element from the declarative builder of the
* widget
*
* @return {jQuery}
* @private
*/
_make_descriptive: function () {
var attrs = _.extend({}, this.attributes || {});
if (this.id) { attrs.id = this.id; }
if (this.className) { attrs['class'] = this.className; }
return $(this.make(this.tagName, attrs));
},
delegateEvents: function () {
var events = this.events;
if (_.isEmpty(events)) { return; }
for(var key in events) {
if (!events.hasOwnProperty(key)) { continue; }
var method = this.proxy(events[key]);
var match = /^(\S+)(\s+(.*))?$/.exec(key);
var event = match[1];
var selector = match[3];
event += '.widget_events';
if (!selector) {
this.$element.on(event, method);
} else {
this.$element.on(event, selector, method);
}
}
},
undelegateEvents: function () {
this.$element.off('.widget_events');
},
/**
* Shortcut for ``this.$element.find(selector)``
*
* @param {String} selector CSS selector, rooted in $el
* @returns {jQuery} selector match
*/
$: function(selector) {
return this.$element.find(selector);
}, },
/** /**
* Informs the action manager to do an action. This supposes that * Informs the action manager to do an action. This supposes that
@ -1039,7 +1135,8 @@ instance.web.JsonRPC = instance.web.CallbackEnabled.extend({
uid: new py.float(this.uid), uid: new py.float(this.uid),
datetime: datetime, datetime: datetime,
time: time, time: time,
relativedelta: relativedelta relativedelta: relativedelta,
current_date: date.today.__call__().strftime(['%Y-%m-%d'])
}; };
}, },
/** /**

View File

@ -19,15 +19,14 @@ instance.web.OldWidget = instance.web.Widget.extend({
this._super(parent); this._super(parent);
this.element_id = element_id; this.element_id = element_id;
this.element_id = this.element_id || _.uniqueId('widget-'); this.element_id = this.element_id || _.uniqueId('widget-');
var tmp = document.getElementById(this.element_id); var tmp = document.getElementById(this.element_id);
this.$element = tmp ? $(tmp) : $(document.createElement(this.tagName)); this.setElement(tmp || this._make_descriptive());
}, },
renderElement: function() { renderElement: function() {
var rendered = this.render(); var rendered = this.render();
if (rendered) { if (rendered) {
var elem = $(rendered); this.replaceElement($(rendered));
this.$element.replaceWith(elem);
this.$element = elem;
} }
return this; return this;
}, },
@ -416,12 +415,12 @@ instance.web.Bus = instance.web.Class.extend(instance.web.EventDispatcherMixin,
// check gtk bindings // check gtk bindings
// http://unixpapa.com/js/key.html // http://unixpapa.com/js/key.html
_.each('click,dblclick,keydown,keypress,keyup'.split(','), function(evtype) { _.each('click,dblclick,keydown,keypress,keyup'.split(','), function(evtype) {
$('html').on(evtype, self, function(ev) { $('html').on(evtype, function(ev) {
self.trigger(evtype, ev); self.trigger(evtype, ev);
}); });
}); });
_.each('resize,scroll'.split(','), function(evtype) { _.each('resize,scroll'.split(','), function(evtype) {
$(window).on(evtype, self, function(ev) { $(window).on(evtype, function(ev) {
self.trigger(evtype, ev); self.trigger(evtype, ev);
}); });
}); });
@ -673,32 +672,6 @@ instance.connection.on('module_loaded', this, function () {
*/ */
instance.web.client_actions = new instance.web.Registry(); instance.web.client_actions = new instance.web.Registry();
/**
* Client action to reload the whole interface.
* If params has an entry 'menu_id', it opens the given menu entry.
*/
instance.web.Reload = instance.web.Widget.extend({
init: function(parent, params) {
this._super(parent);
this.menu_id = (params && params.menu_id) || false;
},
start: function() {
var l = window.location;
var timestamp = new Date().getTime();
var search = "?ts=" + timestamp;
if (l.search) {
search = l.search + "&ts=" + timestamp;
}
var hash = l.hash;
if (this.menu_id) {
hash = "#menu_id=" + this.menu_id;
}
var url = l.protocol + "//" + l.host + l.pathname + search + hash;
window.location = url;
}
});
instance.web.client_actions.add("reload", "instance.web.Reload");
}; };
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:

View File

@ -271,82 +271,4 @@ instance.web.auto_date_to_str = function(value, type) {
} }
}; };
/**
* Formats a provided cell based on its field type. Most of the field types
* return a correctly formatted value, but some tags and fields are
* special-cased in their handling:
*
* * buttons will return an actual ``<button>`` tag with a bunch of error handling
*
* * boolean fields will return a checkbox input, potentially disabled
*
* * binary fields will return a link to download the binary data as a file
*
* @param {Object} row_data record whose values should be displayed in the cell
* @param {Object} column column descriptor
* @param {"button"|"field"} column.tag base control type
* @param {String} column.type widget type for a field control
* @param {String} [column.string] button label
* @param {String} [column.icon] button icon
* @param {Object} [options]
* @param {String} [options.value_if_empty=''] what to display if the field's value is ``false``
* @param {Boolean} [options.process_modifiers=true] should the modifiers be computed ?
* @param {String} [options.model] current record's model
* @param {Number} [options.id] current record's id
*
*/
instance.web.format_cell = function (row_data, column, options) {
options = options || {};
var attrs = {};
if (options.process_modifiers !== false) {
attrs = column.modifiers_for(row_data);
}
if (attrs.invisible) { return ''; }
if (column.tag === 'button') {
return _.template('<button type="button" title="<%-title%>" <%=additional_attributes%> >' +
'<img src="<%-prefix%>/web/static/src/img/icons/<%-icon%>.png" alt="<%-alt%>"/>' +
'</button>', {
title: column.string || '',
additional_attributes: isNaN(row_data["id"].value) && instance.web.BufferedDataSet.virtual_id_regex.test(row_data["id"].value) ?
'disabled="disabled" class="oe_list_button_disabled"' : '',
prefix: instance.connection.prefix,
icon: column.icon,
alt: column.string || ''
});
}
if (!row_data[column.id]) {
return options.value_if_empty === undefined ? '' : options.value_if_empty;
}
switch (column.widget || column.type) {
case "boolean":
return _.str.sprintf('<input type="checkbox" %s disabled="disabled"/>',
row_data[column.id].value ? 'checked="checked"' : '');
case "binary":
var text = _t("Download"),
download_url = _.str.sprintf('/web/binary/saveas?session_id=%s&model=%s&field=%s&id=%d', instance.connection.session_id, options.model, column.id, options.id);
if (column.filename) {
download_url += '&filename_field=' + column.filename;
if (row_data[column.filename]) {
text = _.str.sprintf(_t("Download \"%s\""), instance.web.format_value(
row_data[column.filename].value, {type: 'char'}));
}
}
return _.template('<a href="<%-href%>"><%-text%></a> (%<-size%>)', {
text: text,
href: download_url,
size: row_data[column.id].value
});
case 'progressbar':
return _.template(
'<progress value="<%-value%>" max="100"><%-value%>%</progress>', {
value: _.str.sprintf("%.0f", row_data[column.id].value || 0)
});
}
return _.escape(instance.web.format_value(
row_data[column.id].value, column, options.value_if_empty));
}
}; };

View File

@ -661,7 +661,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
null, _(this.select_for_drawer()).invoke( null, _(this.select_for_drawer()).invoke(
'appendTo', this.$element.find('.oe_searchview_drawer'))); 'appendTo', this.$element.find('.oe_searchview_drawer')));
new instance.web.search.AddToDashboard(this).appendTo($('.oe_searchview_drawer', this.$element)); new instance.web.search.AddToReporting(this).appendTo($('.oe_searchview_drawer', this.$element));
// load defaults // load defaults
var defaults_fetched = $.when.apply(null, _(this.inputs).invoke( var defaults_fetched = $.when.apply(null, _(this.inputs).invoke(
@ -861,13 +861,13 @@ instance.web.search.Invalid = instance.web.Class.extend( /** @lends instance.web
); );
} }
}); });
instance.web.search.Widget = instance.web.OldWidget.extend( /** @lends instance.web.search.Widget# */{ instance.web.search.Widget = instance.web.Widget.extend( /** @lends instance.web.search.Widget# */{
template: null, template: null,
/** /**
* Root class of all search widgets * Root class of all search widgets
* *
* @constructs instance.web.search.Widget * @constructs instance.web.search.Widget
* @extends instance.web.OldWidget * @extends instance.web.Widget
* *
* @param view the ancestor view of this widget * @param view the ancestor view of this widget
*/ */
@ -1678,42 +1678,39 @@ instance.web.search.Filters = instance.web.search.Input.extend({
})); }));
} }
}); });
instance.web.search.AddToDashboard = instance.web.Widget.extend({ instance.web.search.AddToReporting = instance.web.Widget.extend({
template: 'SearchView.addtodashboard', template: 'SearchView.addtoreporting',
_in_drawer: true, _in_drawer: true,
start: function () { start: function () {
var self = this; var self = this;
this.data_loaded = $.Deferred();
this.dashboard_data =[];
this.$element this.$element
.on('click', 'h4', this.proxy('show_option')) .on('click', 'h4', this.proxy('show_option'))
.on('submit', 'form', function (e) { .on('submit', 'form', function (e) {
e.preventDefault(); e.preventDefault();
self.add_dashboard(); self.add_dashboard();
}); });
return $.when(this.load_data(),this.data_loaded).pipe(this.proxy("render_data")); return this.load_data().then(this.proxy("render_data"));
}, },
load_data:function(){ load_data:function(){
if (!instance.webclient) { return $.Deferred().reject(); } if (!instance.webclient) { return $.Deferred().reject(); }
var self = this,dashboard_menu = instance.webclient.menu.data.data.children; var dashboard_menu = instance.webclient.menu.data.data.children;
var ir_model_data = new instance.web.Model('ir.model.data',{},[['name','=','menu_reporting_dashboard']]).query(['res_id']); return new instance.web.Model('ir.model.data')
var map_data = function(result){ .query(['res_id'])
_.detect(dashboard_menu, function(dash){ .filter([['name','=','menu_reporting_dashboard']])
var id = _.pluck(dash.children, "id"),indexof = _.indexOf(id, result.res_id); .first().pipe(function (result) {
if(indexof !== -1){ var menu = _(dashboard_menu).chain()
self.dashboard_data = dash.children[indexof].children .pluck('children')
self.data_loaded.resolve(); .flatten(true)
return; .find(function (child) { return child.id === result.res_id; })
} .value();
return menu ? menu.children : [];
}); });
};
return ir_model_data._execute().done(function(result){map_data(result[0])});
}, },
render_data: function(dashboard_choices){
render_data: function(){ var selection = instance.web.qweb.render(
var self = this; "SearchView.addtoreporting.selection", {
var selection = instance.web.qweb.render("SearchView.addtodashboard.selection",{selections:this.dashboard_data}); selections: dashboard_choices});
this.$element.find("input").before(selection) this.$("input").before(selection)
}, },
add_dashboard:function(){ add_dashboard:function(){
var self = this; var self = this;
@ -1721,11 +1718,11 @@ instance.web.search.AddToDashboard = instance.web.Widget.extend({
var view_parent = this.getParent().getParent(); var view_parent = this.getParent().getParent();
if (! view_parent.action || ! this.$element.find("select").val()) if (! view_parent.action || ! this.$element.find("select").val())
return this.do_warn("Can't find dashboard action"); return this.do_warn("Can't find dashboard action");
data = getParent.build_search_data(), var data = getParent.build_search_data();
context = new instance.web.CompoundContext(getParent.dataset.get_context() || []), var context = new instance.web.CompoundContext(getParent.dataset.get_context() || []);
domain = new instance.web.CompoundDomain(getParent.dataset.get_domain() || []); var domain = new instance.web.CompoundDomain(getParent.dataset.get_domain() || []);
_.each(data.contexts, function(x) {context.add(x);}); _.each(data.contexts, context.add, context);
_.each(data.domains, function(x) {domain.add(x);}); _.each(data.domains, domain.add, domain);
this.rpc('/web/searchview/add_to_dashboard', { this.rpc('/web/searchview/add_to_dashboard', {
menu_id: this.$element.find("select").val(), menu_id: this.$element.find("select").val(),
action_id: view_parent.action.id, action_id: view_parent.action.id,
@ -1746,7 +1743,7 @@ instance.web.search.AddToDashboard = instance.web.Widget.extend({
this.$element.toggleClass('oe_opened'); this.$element.toggleClass('oe_opened');
if (! this.$element.hasClass('oe_opened')) if (! this.$element.hasClass('oe_opened'))
return; return;
this.$element.find("input").val(this.getParent().fields_view.name || "" ); this.$("input").val(this.getParent().fields_view.name || "" );
} }
}); });

View File

@ -79,6 +79,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
_.defaults(this.options, { _.defaults(this.options, {
"not_interactible_on_create": false, "not_interactible_on_create": false,
"initial_mode": "view", "initial_mode": "view",
"disable_autofocus": false,
}); });
this.is_initialized = $.Deferred(); this.is_initialized = $.Deferred();
this.mutating_mutex = new $.Mutex(); this.mutating_mutex = new $.Mutex();
@ -101,7 +102,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
w.off('focused blurred'); w.off('focused blurred');
w.destroy(); w.destroy();
}); });
if (this.$element) {
this.$element.off('.formBlur'); this.$element.off('.formBlur');
}
this._super(); this._super();
}, },
on_loaded: function(data) { on_loaded: function(data) {
@ -148,19 +151,20 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.sidebar.add_items('other', [ this.sidebar.add_items('other', [
{ label: _t('Delete'), callback: self.on_button_delete }, { label: _t('Delete'), callback: self.on_button_delete },
{ label: _t('Duplicate'), callback: self.on_button_duplicate }, { label: _t('Duplicate'), callback: self.on_button_duplicate },
{ label: _t('Set Default'), callback: function (item) { self.open_defaults_dialog(); } }, { label: _t('Set Default'), callback: function (item) { self.open_defaults_dialog(); } }
]); ]);
} }
this.has_been_loaded.resolve();
// Add bounce effect on button 'Edit' when click on readonly page view. // Add bounce effect on button 'Edit' when click on readonly page view.
this.$element.find(".oe_form_field, .oe_form_group_cell").on('click', function (e) { this.$element.find(".oe_form_field,label").on('click', function (e) {
if(self.get("actual_mode") == "view") { if(self.get("actual_mode") == "view") {
var $button = self.options.$buttons.find(".oe_form_button_edit"); var $button = self.options.$buttons.find(".oe_form_button_edit");
$button.wrap('<div>').css('margin-right','4px').addClass('oe_left oe_bounce'); $button.effect('bounce', {distance: 18, times: 7}, 200)
} }
}); });
this.has_been_loaded.resolve();
return $.when(); return $.when();
}, },
extract_qweb_template: function(fvg) { extract_qweb_template: function(fvg) {
@ -267,7 +271,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (this.$pager) { if (this.$pager) {
this.$pager.show(); this.$pager.show();
} }
this.$element.show().css('visibility', 'hidden'); this.$element.show().css({
opacity: '0',
filter: 'alpha(opacity = 0)'
});
this.$element.add(this.$buttons).removeClass('oe_form_dirty'); this.$element.add(this.$buttons).removeClass('oe_form_dirty');
var shown = this.has_been_loaded; var shown = this.has_been_loaded;
@ -277,8 +284,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
// null index means we should start a new record // null index means we should start a new record
return self.on_button_new(); return self.on_button_new();
} }
return self.dataset.read_index(_.keys(self.fields_view.fields), { var fields = _.keys(self.fields_view.fields);
context: { 'bin_size': true } fields.push('display_name');
return self.dataset.read_index(fields, {
context: { 'bin_size': true, 'future_display_name' : true }
}).pipe(self.on_record_loaded); }).pipe(self.on_record_loaded);
}); });
} }
@ -286,7 +295,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (options.editable) { if (options.editable) {
self.to_edit_mode(); self.to_edit_mode();
} }
self.$element.css('visibility', 'visible'); self.$element.css({
opacity: '1',
filter: 'alpha(opacity = 100)'
});
}); });
}, },
do_hide: function () { do_hide: function () {
@ -310,7 +322,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
} }
this.datarecord = record; this.datarecord = record;
this._actualize_mode(); this._actualize_mode();
this.set({ 'title' : record.id ? record.name : "New record" }); this.set({ 'title' : record.id ? record.display_name : "New record" });
if (this.qweb) { if (this.qweb) {
this.kill_current_form(); this.kill_current_form();
@ -344,8 +356,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
} }
if (record.id) { if (record.id) {
self.do_push_state({id:record.id}); self.do_push_state({id:record.id});
} else {
self.do_push_state({});
} }
self.$element.add(self.$buttons).removeClass('oe_form_dirty'); self.$element.add(self.$buttons).removeClass('oe_form_dirty');
self.autofocus();
}); });
}, },
/** /**
@ -623,8 +638,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
*/ */
_actualize_mode: function(switch_to) { _actualize_mode: function(switch_to) {
var mode = switch_to || this.get("actual_mode"); var mode = switch_to || this.get("actual_mode");
if (! this.datarecord.id) if (! this.datarecord.id) {
mode = "create"; mode = "create";
}
this.set({actual_mode: mode}); this.set({actual_mode: mode});
}, },
check_actual_mode: function(source, options) { check_actual_mode: function(source, options) {
@ -645,18 +661,24 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
_.each(this.fields,function(field){ _.each(this.fields,function(field){
field.set({"force_readonly": false}); field.set({"force_readonly": false});
}); });
var fields_order = self.fields_order.slice(0); this.autofocus();
if (self.default_focus_field) { }
fields_order.unshift(self.default_focus_field.name); },
autofocus: function() {
if (this.get("actual_mode") !== "view" && !this.options.disable_autofocus) {
var fields_order = this.fields_order.slice(0);
if (this.default_focus_field) {
fields_order.unshift(this.default_focus_field.name);
} }
for (var i = 0; i < fields_order.length; i += 1) { for (var i = 0; i < fields_order.length; i += 1) {
var field = self.fields[fields_order[i]]; var field = this.fields[fields_order[i]];
if (!field.get('effective_invisible') && !field.get('effective_readonly')) { if (!field.get('effective_invisible') && !field.get('effective_readonly')) {
field.focus(); if (field.focus() !== false) {
break; break;
} }
} }
} }
}
}, },
on_button_save: function() { on_button_save: function() {
var self = this; var self = this;
@ -666,9 +688,13 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
}, },
on_button_cancel: function(event) { on_button_cancel: function(event) {
if (this.can_be_discarded()) { if (this.can_be_discarded()) {
if (this.get('actual_mode') === 'create') {
this.trigger('history_back');
} else {
this.to_view_mode(); this.to_view_mode();
this.on_record_loaded(this.datarecord); this.on_record_loaded(this.datarecord);
} }
}
return false; return false;
}, },
on_button_new: function() { on_button_new: function() {
@ -856,8 +882,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (self.dataset.index == null || self.dataset.index < 0) { if (self.dataset.index == null || self.dataset.index < 0) {
return $.when(self.on_button_new()); return $.when(self.on_button_new());
} else { } else {
return self.dataset.read_index(_.keys(self.fields_view.fields), { var fields = _.keys(self.fields_view.fields);
context : { 'bin_size' : true } fields.push('display_name');
return self.dataset.read_index(fields, {
context : { 'bin_size' : true, 'future_display_name' : true }
}).pipe(self.on_record_loaded); }).pipe(self.on_record_loaded);
} }
}); });
@ -1956,14 +1984,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
} }
}, },
focus: function() { focus: function() {
}, return false;
/**
* Utility method to focus an element, but only after a small amount of time.
*/
delay_focus: function($elem) {
setTimeout(function() {
$elem[0].focus();
}, 50);
}, },
/** /**
* Utility method to get the widget options defined in the field xml description. * Utility method to get the widget options defined in the field xml description.
@ -2062,7 +2083,7 @@ instance.web.form.FieldChar = instance.web.form.AbstractField.extend(instance.we
return this.get('value') === '' || this._super(); return this.get('value') === '' || this._super();
}, },
focus: function() { focus: function() {
this.delay_focus(this.$element.find('input:first')); this.$('input:first').focus();
} }
}); });
@ -2146,6 +2167,9 @@ instance.web.form.FieldFloat = instance.web.form.FieldChar.extend({
value_ = 0; value_ = 0;
} }
this._super.apply(this, [value_]); this._super.apply(this, [value_]);
},
focus: function () {
this.$('input:first').select();
} }
}); });
@ -2282,8 +2306,9 @@ instance.web.form.FieldDatetime = instance.web.form.AbstractField.extend(instanc
return this.get('value') === '' || this._super(); return this.get('value') === '' || this._super();
}, },
focus: function() { focus: function() {
if (this.datewidget && this.datewidget.$input) if (this.datewidget && this.datewidget.$input) {
this.delay_focus(this.datewidget.$input); this.datewidget.$input.focus();
}
} }
}); });
@ -2338,7 +2363,7 @@ instance.web.form.FieldText = instance.web.form.AbstractField.extend(instance.we
return this.get('value') === '' || this._super(); return this.get('value') === '' || this._super();
}, },
focus: function($element) { focus: function($element) {
this.delay_focus(this.$textarea); this.$textarea.focus();
}, },
do_resize: function(max_height) { do_resize: function(max_height) {
max_height = parseInt(max_height, 10); max_height = parseInt(max_height, 10);
@ -2431,7 +2456,7 @@ instance.web.form.FieldBoolean = instance.web.form.AbstractField.extend({
this.$checkbox[0].checked = value_; this.$checkbox[0].checked = value_;
}, },
focus: function() { focus: function() {
this.delay_focus(this.$checkbox); this.$checkbox.focus();
} }
}); });
@ -2455,9 +2480,6 @@ instance.web.form.FieldProgressBar = instance.web.form.AbstractField.extend({
} }
}); });
instance.web.form.FieldTextXml = instance.web.form.AbstractField.extend({
// to replace view editor
});
instance.web.form.FieldSelection = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, { instance.web.form.FieldSelection = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, {
template: 'FieldSelection', template: 'FieldSelection',
@ -2526,7 +2548,7 @@ instance.web.form.FieldSelection = instance.web.form.AbstractField.extend(instan
return !! value_; return !! value_;
}, },
focus: function() { focus: function() {
this.delay_focus(this.$element.find('select:first')); this.$element.find('select:first').focus();
} }
}); });
@ -2696,10 +2718,20 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
self.$input.tipsy({ self.$input.tipsy({
title: function() { title: function() {
return "No element was selected, you should create or select one from the dropdown list."; return QWeb.render('Tipsy.alert', {
message: "No element was selected, you should create or select one from the dropdown list."
});
}, },
trigger:'manual', trigger:'manual',
fade: true, fade: true,
gravity: 's',
html: true,
opacity: 1,
offset: 4,
});
self.$input.on('focus', function() {
self.$input.tipsy("hide");
}); });
this.$drop_down = this.$element.find(".oe_m2o_drop_down_button"); this.$drop_down = this.$element.find(".oe_m2o_drop_down_button");
@ -2727,7 +2759,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
}); });
// some behavior for input // some behavior for input
this.$input.keydown(function() { var input_changed = function() {
if (self.current_display !== self.$input.val()) { if (self.current_display !== self.$input.val()) {
self.current_display = self.$input.val(); self.current_display = self.$input.val();
if (self.$input.val() === "") { if (self.$input.val() === "") {
@ -2737,7 +2769,9 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
self.floating = true; self.floating = true;
} }
} }
}); };
this.$input.keydown(input_changed);
this.$input.change(input_changed);
this.$drop_down.click(function() { this.$drop_down.click(function() {
if (self.$input.autocomplete("widget").is(":visible")) { if (self.$input.autocomplete("widget").is(":visible")) {
self.$input.autocomplete("close"); self.$input.autocomplete("close");
@ -2753,7 +2787,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
var tip_def = $.Deferred(); var tip_def = $.Deferred();
var untip_def = $.Deferred(); var untip_def = $.Deferred();
var tip_delay = 200; var tip_delay = 200;
var tip_duration = 3000; var tip_duration = 15000;
var anyoneLoosesFocus = function() { var anyoneLoosesFocus = function() {
var used = false; var used = false;
if (self.floating) { if (self.floating) {
@ -2813,6 +2847,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
} else if (item.action) { } else if (item.action) {
self.floating = true; self.floating = true;
item.action(); item.action();
// Cancel widget blurring, to avoid form blur event
self.trigger('focused');
return false; return false;
} }
}, },
@ -2836,7 +2872,6 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
}); });
this.setupFocus(this.$input.add(this.$follow_button)); this.setupFocus(this.$input.add(this.$follow_button));
}, },
render_value: function(no_recurse) { render_value: function(no_recurse) {
var self = this; var self = this;
if (! this.get("value")) { if (! this.get("value")) {
@ -2861,6 +2896,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
if (!this.get("effective_readonly")) { if (!this.get("effective_readonly")) {
this.$input.val(str.split("\n")[0]); this.$input.val(str.split("\n")[0]);
this.current_display = this.$input.val(); this.current_display = this.$input.val();
this.$('.oe_m2o_cm_button').css({'visibility': this.is_false() ? 'hidden' : 'visible'});
} else { } else {
var lines = _.escape(str).split("\n"); var lines = _.escape(str).split("\n");
var link = ""; var link = "";
@ -2916,7 +2952,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
return ! this.get("value"); return ! this.get("value");
}, },
focus: function () { focus: function () {
this.delay_focus(this.$input); this.$input.focus();
} }
}); });
@ -3072,7 +3108,6 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
this.views = views; this.views = views;
this.viewmanager = new instance.web.form.One2ManyViewManager(this, this.dataset, views, {}); this.viewmanager = new instance.web.form.One2ManyViewManager(this, this.dataset, views, {});
this.viewmanager.$element.addClass("oe_view_manager_one2many");
this.viewmanager.o2m = self; this.viewmanager.o2m = self;
var once = $.Deferred().then(function() { var once = $.Deferred().then(function() {
self.init_form_last_update.resolve(); self.init_form_last_update.resolve();
@ -3322,6 +3357,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
ListType: instance.web.form.One2ManyList ListType: instance.web.form.One2ManyList
})); }));
this.on('edit:before', this, this.proxy('_before_edit')); this.on('edit:before', this, this.proxy('_before_edit'));
this.on('edit:after', this, this.proxy('_after_edit'));
this.on('save:before cancel:before', this, this.proxy('_before_unedit')); this.on('save:before cancel:before', this, this.proxy('_before_unedit'));
this.records this.records
@ -3432,6 +3468,12 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
this.__ignore_blur = false; this.__ignore_blur = false;
this.editor.form.on('blurred', this, this._on_form_blur); this.editor.form.on('blurred', this, this._on_form_blur);
}, },
_after_edit: function () {
// The form's blur thing may be jiggered during the edition setup,
// potentially leading to the o2m instasaving the row. Cancel any
// blurring triggered the edition startup here
this.editor.form.widgetFocused();
},
_before_unedit: function () { _before_unedit: function () {
this.editor.form.off('blurred', this, this._on_form_blur); this.editor.form.off('blurred', this, this._on_form_blur);
}, },
@ -3465,6 +3507,28 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
// the current row *anyway*, then create a new one/edit the next one) // the current row *anyway*, then create a new one/edit the next one)
this.__ignore_blur = true; this.__ignore_blur = true;
this._super.apply(this, arguments); this._super.apply(this, arguments);
},
do_delete: function (ids) {
var self = this;
var next = $.when();
var _super = this._super;
// handle deletion of an item which does not exist
// TODO: better handle that in the editable list?
var false_id_index = _(ids).indexOf(false);
if (false_id_index !== -1) {
ids.splice(false_id_index, 1);
next = this.cancel_edition(true);
}
return next.pipe(function () {
// wheeee
var confirm = window.confirm;
window.confirm = function () { return true; };
try {
return _super.call(self, ids);
} finally {
window.confirm = confirm;
}
});
} }
}); });
instance.web.form.One2ManyList = instance.web.ListView.List.extend({ instance.web.form.One2ManyList = instance.web.ListView.List.extend({
@ -3485,14 +3549,34 @@ instance.web.form.One2ManyList = instance.web.ListView.List.extend({
var $cell = $('<td>', { var $cell = $('<td>', {
colspan: columns, colspan: columns,
'class': 'oe_form_field_one2many_list_row_add' 'class': 'oe_form_field_one2many_list_row_add'
}).text(_t("Add a row")) }).append(
$('<a>', {href: '#'}).text(_t("Add a row"))
.mousedown(function () {
// FIXME: needs to be an official API somehow
if (self.view.editor.is_editing()) {
self.view.__ignore_blur = true;
}
})
.click(function (e) { .click(function (e) {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
// FIXME: there should also be an API for that one
if (self.view.editor.form.__blur_timeout) {
clearTimeout(self.view.editor.form.__blur_timeout);
self.view.editor.form.__blur_timeout = false;
}
self.view.ensure_saved().then(function () {
self.view.do_add_record(); self.view.do_add_record();
}); });
this.$current.append( }));
$('<tr>').append($cell))
var $padding = this.$current.find('tr:not([data-id]):first');
var $newrow = $('<tr>').append($cell);
if ($padding.length) {
$padding.before($newrow);
} else {
this.$current.append($newrow)
}
} }
}); });
@ -3600,7 +3684,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
$("textarea", this.$element).focusout(function() { $("textarea", this.$element).focusout(function() {
self.$text.trigger("setInputData", ""); self.$text.trigger("setInputData", "");
}).keydown(function(e) { }).keydown(function(e) {
if (event.keyCode === 9 && self._drop_shown) { if (e.which === $.ui.keyCode.TAB && self._drop_shown) {
self.$text.textext()[0].autocomplete().selectFromDropdown(); self.$text.textext()[0].autocomplete().selectFromDropdown();
} }
}); });
@ -4300,7 +4384,7 @@ instance.web.form.FieldReference = instance.web.form.AbstractField.extend(instan
this.selection.view = this.view; this.selection.view = this.view;
this.selection.set({force_readonly: this.get('effective_readonly')}); this.selection.set({force_readonly: this.get('effective_readonly')});
this.selection.on("change:value", this, this.on_selection_changed); this.selection.on("change:value", this, this.on_selection_changed);
this.selection.$element = $(".oe_form_view_reference_selection", this.$element); this.selection.setElement(this.$(".oe_form_view_reference_selection"));
this.selection.renderElement(); this.selection.renderElement();
this.selection.start(); this.selection.start();
this.selection this.selection
@ -4313,7 +4397,7 @@ instance.web.form.FieldReference = instance.web.form.AbstractField.extend(instan
this.m2o.view = this.view; this.m2o.view = this.view;
this.m2o.set({force_readonly: this.get("effective_readonly")}); this.m2o.set({force_readonly: this.get("effective_readonly")});
this.m2o.on("change:value", this, this.data_changed); this.m2o.on("change:value", this, this.data_changed);
this.m2o.$element = $(".oe_form_view_reference_m2o", this.$element); this.m2o.setElement(this.$(".oe_form_view_reference_m2o"));
this.m2o.renderElement(); this.m2o.renderElement();
this.m2o.start(); this.m2o.start();
this.m2o this.m2o
@ -4529,7 +4613,7 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({
}, },
render_value: function() { render_value: function() {
var url; var url;
if (this.get('value') && this.get('value').substr(0, 10).indexOf(' ') == -1) { if (this.get('value') && ! /^\d+(\.\d*)? \w+$/.test(this.get('value'))) {
url = 'data:image/png;base64,' + this.get('value'); url = 'data:image/png;base64,' + this.get('value');
} else if (this.get('value')) { } else if (this.get('value')) {
url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' + url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' +
@ -4558,9 +4642,11 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({
instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
template: "FieldStatus", template: "FieldStatus",
clickable: false,
start: function() { start: function() {
this._super(); this._super();
this.selected_value = null; this.selected_value = null;
this.clickable = !!this.node.attrs.clickable;
if (this.$element.parent().is('header')) { if (this.$element.parent().is('header')) {
this.$element.after('<div class="oe_clear"/>'); this.$element.after('<div class="oe_clear"/>');
} }
@ -4665,9 +4751,27 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
* state (given by the key of (key, label)). * state (given by the key of (key, label)).
*/ */
render_elements: function () { render_elements: function () {
var self = this;
var content = instance.web.qweb.render("FieldStatus.content", {widget: this, _:_}); var content = instance.web.qweb.render("FieldStatus.content", {widget: this, _:_});
this.$element.html(content); this.$element.html(content);
if (this.clickable) {
this.$element.addClass("oe_form_steps_clickable");
$('.oe_form_steps_arrow').remove();
var elemts = this.$element.find('.oe_form_steps_button');
_.each(elemts, function(element){
$item = $(element);
if ($item.attr("data-id") != self.selected_value) {
$item.click(function(event){
var data_id = parseInt($(this).attr("data-id"))
self.view.dataset.call('stage_set', [[self.view.datarecord.id],data_id]).then(function() {
return self.view.reload();
});
});
}
});
} else {
this.$element.addClass("oe_form_steps");
}
var colors = JSON.parse((this.node.attrs || {}).statusbar_colors || "{}"); var colors = JSON.parse((this.node.attrs || {}).statusbar_colors || "{}");
var color = colors[this.selected_value]; var color = colors[this.selected_value];
if (color) { if (color) {
@ -4675,9 +4779,6 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
elem.css("color", color); elem.css("color", color);
} }
}, },
focus: function() {
return false;
},
}); });
/** /**

View File

@ -354,7 +354,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.sidebar.add_items('other', [ this.sidebar.add_items('other', [
{ label: _t("Import"), callback: this.on_sidebar_import }, { label: _t("Import"), callback: this.on_sidebar_import },
{ label: _t("Export"), callback: this.on_sidebar_export }, { label: _t("Export"), callback: this.on_sidebar_export },
{ label: _t('Delete'), callback: this.do_delete_selected }, { label: _t('Delete'), callback: this.do_delete_selected }
]); ]);
this.sidebar.add_toolbar(this.fields_view.toolbar); this.sidebar.add_toolbar(this.fields_view.toolbar);
this.sidebar.$element.hide(); this.sidebar.$element.hide();
@ -399,77 +399,23 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* @param {Boolean} [grouped] Should the grouping columns (group and count) be displayed * @param {Boolean} [grouped] Should the grouping columns (group and count) be displayed
*/ */
setup_columns: function (fields, grouped) { setup_columns: function (fields, grouped) {
var domain_computer = instance.web.form.compute_domain; var registry = instance.web.list.columns;
var noop = function () { return {}; };
var field_to_column = function (field) {
var name = field.attrs.name;
var column = _.extend({id: name, tag: field.tag},
fields[name], field.attrs);
// modifiers computer
if (column.modifiers) {
var modifiers = JSON.parse(column.modifiers);
column.modifiers_for = function (fields) {
var out = {};
for (var attr in modifiers) {
if (!modifiers.hasOwnProperty(attr)) { continue; }
var modifier = modifiers[attr];
out[attr] = _.isBoolean(modifier)
? modifier
: domain_computer(modifier, fields);
}
return out;
};
if (modifiers['tree_invisible']) {
column.invisible = '1';
} else {
delete column.invisible;
}
column.modifiers = modifiers;
} else {
column.modifiers_for = noop;
column.modifiers = {};
}
return column;
};
this.columns.splice(0, this.columns.length); this.columns.splice(0, this.columns.length);
this.columns.push.apply( this.columns.push.apply(this.columns,
this.columns, _(this.fields_view.arch.children).map(function (field) {
_(this.fields_view.arch.children).map(field_to_column)); var id = field.attrs.name;
return registry.for_(id, fields[id], field);
}));
if (grouped) { if (grouped) {
this.columns.unshift({ this.columns.unshift(
id: '_group', tag: '', string: _t("Group"), meta: true, new instance.web.list.MetaColumn('_group', _t("Group")));
modifiers_for: function () { return {}; },
modifiers: {}
}, {
id: '_count', tag: '', string: '#', meta: true,
modifiers_for: function () { return {}; },
modifiers: {}
});
} }
this.visible_columns = _.filter(this.columns, function (column) { this.visible_columns = _.filter(this.columns, function (column) {
return column.invisible !== '1'; return column.invisible !== '1';
}); });
this.aggregate_columns = _(this.visible_columns) this.aggregate_columns = _(this.visible_columns).invoke('to_aggregate');
.map(function (column) {
if (column.type !== 'integer' && column.type !== 'float') {
return {};
}
var aggregation_func = column['group_operator'] || 'sum';
if (!(aggregation_func in column)) {
return {};
}
return _.extend({}, column, {
'function': aggregation_func,
label: column[aggregation_func]
});
});
}, },
/** /**
* Used to handle a click on a table row, if no other handler caught the * Used to handle a click on a table row, if no other handler caught the
@ -678,6 +624,10 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* Base handling of buttons, can be called when overriding do_button_action * Base handling of buttons, can be called when overriding do_button_action
* in order to bypass parent overrides. * in order to bypass parent overrides.
* *
* The callback will be provided with the ``id`` as its parameter, in case
* handle_button's caller had to alter the ``id`` (or even create one)
* while not being ``callback``'s creator.
*
* This method should not be overridden. * This method should not be overridden.
* *
* @param {String} name action name * @param {String} name action name
@ -703,7 +653,8 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
c.add(action.context); c.add(action.context);
} }
action.context = c; action.context = c;
this.do_execute_action(action, this.dataset, id, callback); this.do_execute_action(
action, this.dataset, id, _.bind(callback, null, id));
}, },
/** /**
* Handles the activation of a record (clicking on it) * Handles the activation of a record (clicking on it)
@ -819,9 +770,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
} }
$footer_cells.filter(_.str.sprintf('[data-field=%s]', column.id)) $footer_cells.filter(_.str.sprintf('[data-field=%s]', column.id))
.html(instance.web.format_cell(aggregation, column, { .html(column.format(aggregation, { process_modifiers: false }));
process_modifiers: false
}));
}); });
}, },
get_selected_ids: function() { get_selected_ids: function() {
@ -880,9 +829,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
} }
this.$element.find('table:first').hide(); this.$element.find('table:first').hide();
this.$element.prepend( this.$element.prepend(
$('<div class="oe_view_nocontent">') $('<div class="oe_view_nocontent">').html(this.options.action.help)
.append($('<img>', { src: '/web/static/src/img/view_empty_arrow.png' }))
.append($('<div>').html(this.options.action.help))
); );
} }
}); });
@ -997,8 +944,8 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
// of digits, nice when storing actual numbers, not nice when // of digits, nice when storing actual numbers, not nice when
// storing strings composed only of digits. Force the action // storing strings composed only of digits. Force the action
// name to be a string // name to be a string
$(self).trigger('action', [field.toString(), record_id, function () { $(self).trigger('action', [field.toString(), record_id, function (id) {
return self.reload_record(self.records.get(record_id)); return self.reload_record(self.records.get(id));
}]); }]);
}) })
.delegate('a', 'click', function (e) { .delegate('a', 'click', function (e) {
@ -1059,7 +1006,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
}); });
} }
} }
return instance.web.format_cell(record.toForm().data, column, { return column.format(record.toForm().data, {
model: this.dataset.model, model: this.dataset.model,
id: record.get('id') id: record.get('id')
}); });
@ -1344,15 +1291,18 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
_t("Grouping on field '%s' is not possible because that field does not appear in the list view."), _t("Grouping on field '%s' is not possible because that field does not appear in the list view."),
group.grouped_on)); group.grouped_on));
} }
var group_label;
try { try {
$group_column.html(instance.web.format_cell( group_label = group_column.format(row_data, {
row_data, group_column, {
value_if_empty: _t("Undefined"), value_if_empty: _t("Undefined"),
process_modifiers: false process_modifiers: false
})); });
} catch (e) { } catch (e) {
$group_column.html(row_data[group_column.id].value); group_label = row_data[group_column.id].value;
} }
$group_column.text(_.str.sprintf("%s (%d)",
group_label, group.length));
if (group.length && group.openable) { if (group.length && group.openable) {
// Make openable if not terminal group & group_by_no_leaf // Make openable if not terminal group & group_by_no_leaf
$group_column.prepend('<span class="ui-icon ui-icon-triangle-1-e" style="float: left;">'); $group_column.prepend('<span class="ui-icon ui-icon-triangle-1-e" style="float: left;">');
@ -1364,14 +1314,12 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
} }
} }
self.indent($group_column, group.level); self.indent($group_column, group.level);
// count column
$('<td>').text(group.length).appendTo($row);
if (self.options.selectable) { if (self.options.selectable) {
$row.append('<td>'); $row.append('<td>');
} }
_(self.columns).chain() _(self.columns).chain()
.filter(function (column) {return !column.invisible;}) .filter(function (column) { return column.invisible !== '1'; })
.each(function (column) { .each(function (column) {
if (column.meta) { if (column.meta) {
// do not do anything // do not do anything
@ -1379,8 +1327,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
var r = {}; var r = {};
r[column.id] = {value: group.aggregates[column.id]}; r[column.id] = {value: group.aggregates[column.id]};
$('<td class="oe_number">') $('<td class="oe_number">')
.html(instance.web.format_cell( .html(column.format(r, {process_modifiers: false}))
r, column, {process_modifiers: false}))
.appendTo($row); .appendTo($row);
} else { } else {
$row.append('<td>'); $row.append('<td>');
@ -1467,18 +1414,31 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
}, },
setup_resequence_rows: function (list, dataset) { setup_resequence_rows: function (list, dataset) {
// drag and drop enabled if list is not sorted and there is a // drag and drop enabled if list is not sorted and there is a
// "sequence" column in the view. // visible column with @widget=handle or "sequence" column in the view.
if ((dataset.sort && dataset.sort()) if ((dataset.sort && dataset.sort())
|| !_(this.columns).any(function (column) { || !_(this.columns).any(function (column) {
return column.name === 'sequence'; })) { return column.widget === 'handle'
|| column.name === 'sequence'; })) {
return; return;
} }
var sequence_field = _(this.columns).find(function (c) {
return c.widget === 'handle';
});
var seqname = sequence_field ? sequence_field.name : 'sequence';
// ondrop, move relevant record & fix sequences // ondrop, move relevant record & fix sequences
list.$current.sortable({ list.$current.sortable({
axis: 'y', axis: 'y',
items: '> tr[data-id]', items: '> tr[data-id]',
containment: 'parent', helper: 'clone'
helper: 'clone', });
if (sequence_field) {
list.$current.sortable('option', 'handle', '.oe_list_field_handle');
}
list.$current.sortable('option', {
start: function (e, ui) {
ui.placeholder.height(ui.item.height());
},
stop: function (event, ui) { stop: function (event, ui) {
var to_move = list.records.get(ui.item.data('id')), var to_move = list.records.get(ui.item.data('id')),
target_id = ui.item.prev().data('id'), target_id = ui.item.prev().data('id'),
@ -1496,7 +1456,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
var record, index = to, var record, index = to,
// if drag to 1st row (to = 0), start sequencing from 0 // if drag to 1st row (to = 0), start sequencing from 0
// (exclusive lower bound) // (exclusive lower bound)
seq = to ? list.records.at(to - 1).get('sequence') : 0; seq = to ? list.records.at(to - 1).get(seqname) : 0;
while (++seq, record = list.records.at(index++)) { while (++seq, record = list.records.at(index++)) {
// write are independent from one another, so we can just // write are independent from one another, so we can just
// launch them all at the same time and we don't really // launch them all at the same time and we don't really
@ -1506,10 +1466,12 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
// when synchronous (without setTimeout) // when synchronous (without setTimeout)
(function (dataset, id, seq) { (function (dataset, id, seq) {
$.async_when().then(function () { $.async_when().then(function () {
dataset.write(id, {sequence: seq}); var attrs = {};
attrs[seqname] = seq;
dataset.write(id, attrs);
}); });
}(dataset, record.get('id'), seq)); }(dataset, record.get('id'), seq));
record.set('sequence', seq); record.set(seqname, seq);
} }
} }
}); });
@ -1963,6 +1925,204 @@ instance.web.list = {
Events: Events, Events: Events,
Record: Record, Record: Record,
Collection: Collection Collection: Collection
};
/**
* Registry for column objects used to format table cells (and some other tasks
* e.g. aggregation computations).
*
* Maps a field or button to a Column type via its ``$tag.$widget``,
* ``$tag.$type`` or its ``$tag`` (alone).
*
* This specific registry has a dedicated utility method ``for_`` taking a
* field (from fields_get/fields_view_get.field) and a node (from a view) and
* returning the right object *already instantiated from the data provided*.
*
* @type {instance.web.Registry}
*/
instance.web.list.columns = new instance.web.Registry({
'field': 'instance.web.list.Column',
'field.boolean': 'instance.web.list.Boolean',
'field.binary': 'instance.web.list.Binary',
'field.progressbar': 'instance.web.list.ProgressBar',
'field.handle': 'instance.web.list.Handle',
'button': 'instance.web.list.Button',
});
instance.web.list.columns.for_ = function (id, field, node) {
var description = _.extend({tag: node.tag}, field, node.attrs);
var tag = description.tag;
var Type = this.get_any([
tag + '.' + description.widget,
tag + '.'+ description.type,
tag
]);
return new Type(id, node.tag, description)
};
instance.web.list.Column = instance.web.Class.extend({
init: function (id, tag, attrs) {
_.extend(attrs, {
id: id,
tag: tag
});
this.modifiers = attrs.modifiers ? JSON.parse(attrs.modifiers) : {};
delete attrs.modifiers;
_.extend(this, attrs);
if (this.modifiers['tree_invisible']) {
this.invisible = '1';
} else { delete this.invisible; }
},
modifiers_for: function (fields) {
var out = {};
var domain_computer = instance.web.form.compute_domain;
for (var attr in this.modifiers) {
if (!this.modifiers.hasOwnProperty(attr)) { continue; }
var modifier = this.modifiers[attr];
out[attr] = _.isBoolean(modifier)
? modifier
: domain_computer(modifier, fields);
} }
return out;
},
to_aggregate: function () {
if (this.type !== 'integer' && this.type !== 'float') {
return {};
}
var aggregation_func = this['group_operator'] || 'sum';
if (!(aggregation_func in this)) {
return {};
}
var C = function (label, fn) {
this['function'] = fn;
this.label = label;
};
C.prototype = this;
return new C(aggregation_func, this[aggregation_func]);
},
/**
*
* @param row_data record whose values should be displayed in the cell
* @param {Object} [options]
* @param {String} [options.value_if_empty=''] what to display if the field's value is ``false``
* @param {Boolean} [options.process_modifiers=true] should the modifiers be computed ?
* @param {String} [options.model] current record's model
* @param {Number} [options.id] current record's id
* @return {String}
*/
format: function (row_data, options) {
options = options || {};
var attrs = {};
if (options.process_modifiers !== false) {
attrs = this.modifiers_for(row_data);
}
if (attrs.invisible) { return ''; }
if (!row_data[this.id]) {
return options.value_if_empty === undefined
? ''
: options.value_if_empty;
}
return this._format(row_data, options);
},
/**
* Method to override in order to provide alternative HTML content for the
* cell. Column._format will simply call ``instance.web.format_value`` and
* escape the output.
*
* The output of ``_format`` will *not* be escaped by ``format``, any
* escaping *must be done* by ``format``.
*
* @private
*/
_format: function (row_data, options) {
return _.escape(instance.web.format_value(
row_data[this.id].value, this, options.value_if_empty));
}
});
instance.web.list.MetaColumn = instance.web.list.Column.extend({
meta: true,
init: function (id, string) {
this._super(id, '', {string: string});
}
});
instance.web.list.Button = instance.web.list.Column.extend({
/**
* Return an actual ``<button>`` tag
*/
format: function (row_data, options) {
return _.template('<button type="button" title="<%-title%>" <%=additional_attributes%> >' +
'<img src="<%-prefix%>/web/static/src/img/icons/<%-icon%>.png" alt="<%-alt%>"/>' +
'</button>', {
title: this.string || '',
additional_attributes: isNaN(row_data["id"].value) && instance.web.BufferedDataSet.virtual_id_regex.test(row_data["id"].value) ?
'disabled="disabled" class="oe_list_button_disabled"' : '',
prefix: instance.connection.prefix,
icon: this.icon,
alt: this.string || ''
});
}
});
instance.web.list.Boolean = instance.web.list.Column.extend({
/**
* Return a potentially disabled checkbox input
*
* @private
*/
_format: function (row_data, options) {
return _.str.sprintf('<input type="checkbox" %s disabled="disabled"/>',
row_data[this.id].value ? 'checked="checked"' : '');
}
});
instance.web.list.Binary = instance.web.list.Column.extend({
/**
* Return a link to the binary data as a file
*
* @private
*/
_format: function (row_data, options) {
var text = _t("Download");
var download_url = _.str.sprintf(
'/web/binary/saveas?session_id=%s&model=%s&field=%s&id=%d',
instance.connection.session_id, options.model, this.id, options.id);
if (this.filename) {
download_url += '&filename_field=' + this.filename;
if (row_data[this.filename]) {
text = _.str.sprintf(_t("Download \"%s\""), instance.web.format_value(
row_data[this.filename].value, {type: 'char'}));
}
}
return _.template('<a href="<%-href%>"><%-text%></a> (%<-size%>)', {
text: text,
href: download_url,
size: row_data[this.id].value
});
}
});
instance.web.list.ProgressBar = instance.web.list.Column.extend({
/**
* Return a formatted progress bar display
*
* @private
*/
_format: function (row_data, options) {
return _.template(
'<progress value="<%-value%>" max="100"><%-value%>%</progress>', {
value: _.str.sprintf("%.0f", row_data[this.id].value || 0)
});
}
});
instance.web.list.Handle = instance.web.list.Column.extend({
/**
* Return styling hooks for a drag handle
*
* @private
*/
_format: function (row_data, options) {
return '<div class="oe_list_handle">';
}
});
}; };
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:

View File

@ -96,12 +96,10 @@ openerp.web.list_editable = function (instance) {
}, },
on_loaded: function (data, grouped) { on_loaded: function (data, grouped) {
var self = this; var self = this;
if (this.editor) {
this.editor.destroy();
}
// tree/@editable takes priority on everything else if present. // tree/@editable takes priority on everything else if present.
var result = this._super(data, grouped); var result = this._super(data, grouped);
if (this.editable()) { if (this.editable()) {
this.$element.addClass('oe_list_editable');
// FIXME: any hook available to ensure this is only done once? // FIXME: any hook available to ensure this is only done once?
this.$buttons this.$buttons
.off('click', '.oe_list_save') .off('click', '.oe_list_save')
@ -118,6 +116,7 @@ openerp.web.list_editable = function (instance) {
self.start_edition(); self.start_edition();
} }
}); });
this.editor.destroy();
// Editor is not restartable due to formview not being // Editor is not restartable due to formview not being
// restartable // restartable
this.editor = this.make_editor(); this.editor = this.make_editor();
@ -125,6 +124,8 @@ openerp.web.list_editable = function (instance) {
.then(this.proxy('setup_events')); .then(this.proxy('setup_events'));
return $.when(result, editor_ready); return $.when(result, editor_ready);
} else {
this.$element.removeClass('oe_list_editable');
} }
return result; return result;
@ -137,10 +138,13 @@ openerp.web.list_editable = function (instance) {
make_editor: function () { make_editor: function () {
return new instance.web.list.Editor(this); return new instance.web.list.Editor(this);
}, },
do_button_action: function () { do_button_action: function (name, id, callback) {
var self = this, args = arguments; var self = this, args = arguments;
this.ensure_saved().then(function () { this.ensure_saved().then(function (done) {
self.handle_button.apply(self, args); if (!id && done.created) {
id = done.record.get('id');
}
self.handle_button.call(self, name, id, callback);
}); });
}, },
/** /**
@ -283,16 +287,17 @@ openerp.web.list_editable = function (instance) {
}); });
}, },
/** /**
* @param {Boolean} [force=false] discards the data even if the form has been edited
* @return {jQuery.Deferred} * @return {jQuery.Deferred}
*/ */
cancel_edition: function () { cancel_edition: function (force) {
var self = this; var self = this;
return this.with_event('cancel', { return this.with_event('cancel', {
editor: this.editor, editor: this.editor,
form: this.editor.form, form: this.editor.form,
cancel: false cancel: false
}, function () { }, function () {
return this.editor.cancel().pipe(function (attrs) { return this.editor.cancel(force).pipe(function (attrs) {
if (attrs.id) { if (attrs.id) {
var record = self.records.get(attrs.id); var record = self.records.get(attrs.id);
if (!record) { if (!record) {
@ -604,6 +609,7 @@ openerp.web.list_editable = function (instance) {
this.form = new (this.options.formView)( this.form = new (this.options.formView)(
this, this.delegate.dataset, false, { this, this.delegate.dataset, false, {
initial_mode: 'edit', initial_mode: 'edit',
disable_autofocus: true,
$buttons: $(), $buttons: $(),
$pager: $() $pager: $()
}); });
@ -683,9 +689,8 @@ openerp.web.list_editable = function (instance) {
if (!field.$element.is(':visible')) { if (!field.$element.is(':visible')) {
return false; return false;
} }
field.focus();
// Stop as soon as a field got focused // Stop as soon as a field got focused
return true; return field.focus() !== false;
}); });
}, },
edit: function (record, configureField, options) { edit: function (record, configureField, options) {
@ -719,13 +724,13 @@ openerp.web.list_editable = function (instance) {
return self.cancel(); return self.cancel();
}); });
}, },
cancel: function () { cancel: function (force) {
var record = this.record; if (!(force || this.form.can_be_discarded())) {
this.record = null;
if (!this.form.can_be_discarded()) {
return $.Deferred().reject({ return $.Deferred().reject({
message: "The form's data can not be discarded"}).promise(); message: "The form's data can not be discarded"}).promise();
} }
var record = this.record;
this.record = null;
this.form.do_hide(); this.form.do_hide();
return $.when(record); return $.when(record);
} }

View File

@ -14,6 +14,9 @@ instance.web.ActionManager = instance.web.Widget.extend({
this.dialog = null; this.dialog = null;
this.dialog_widget = null; this.dialog_widget = null;
this.breadcrumbs = []; this.breadcrumbs = [];
this.on('history_back', this, function() {
return this.history_back();
});
}, },
start: function() { start: function() {
this._super.apply(this, arguments); this._super.apply(this, arguments);
@ -65,21 +68,46 @@ instance.web.ActionManager = instance.web.Widget.extend({
item.id = _.uniqueId('breadcrumb_'); item.id = _.uniqueId('breadcrumb_');
this.breadcrumbs.push(item); this.breadcrumbs.push(item);
}, },
history_back: function() {
var last = this.breadcrumbs.slice(-1)[0];
if (!last) {
return false;
}
var title = last.get_title();
if (_.isArray(title) && title.length > 1) {
return this.select_breadcrumb(this.breadcrumbs.length - 1, title.length - 2);
} else if (this.breadcrumbs.length === 1) {
// Only one single titled item in breadcrumb, most of the time you want to trigger back to home
return false;
} else {
var prev = this.breadcrumbs[this.breadcrumbs.length - 2];
title = prev.get_title();
return this.select_breadcrumb(this.breadcrumbs.length - 2, _.isArray(title) ? title.length - 1 : undefined);
}
},
on_breadcrumb_clicked: function(ev) { on_breadcrumb_clicked: function(ev) {
var $e = $(ev.target); var $e = $(ev.target);
var id = $e.data('id'); var id = $e.data('id');
var item; var index;
for (var i = this.breadcrumbs.length - 1; i >= 0; i--) { for (var i = this.breadcrumbs.length - 1; i >= 0; i--) {
var it = this.breadcrumbs[i]; if (this.breadcrumbs[i].id == id) {
if (it.id == id) { index = i;
item = it;
break; break;
} }
}
var subindex = $e.parent().find('.oe_breadcrumb_item[data-id=' + $e.data('id') + ']').index($e);
this.select_breadcrumb(index, subindex);
},
select_breadcrumb: function(index, subindex) {
for (var i = this.breadcrumbs.length - 1; i >= 0; i--) {
if (i > index) {
this.remove_breadcrumb(i); this.remove_breadcrumb(i);
} }
var index = $e.parent().find('.oe_breadcrumb_item[data-id=' + $e.data('id') + ']').index($e); }
item.show(index, $e); var item = this.breadcrumbs[index];
item.show(subindex);
this.inner_widget = item.widget; this.inner_widget = item.widget;
return true;
}, },
clear_breadcrumbs: function() { clear_breadcrumbs: function() {
while (this.breadcrumbs.length) { while (this.breadcrumbs.length) {
@ -117,6 +145,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
return titles.join(' <span class="oe_fade">/</span> '); return titles.join(' <span class="oe_fade">/</span> ');
}, },
do_push_state: function(state) { do_push_state: function(state) {
state = state || {};
if (this.getParent() && this.getParent().do_push_state) { if (this.getParent() && this.getParent().do_push_state) {
if (this.inner_action) { if (this.inner_action) {
state['title'] = this.inner_action.name; state['title'] = this.inner_action.name;
@ -124,7 +153,10 @@ instance.web.ActionManager = instance.web.Widget.extend({
state['model'] = this.inner_action.res_model; state['model'] = this.inner_action.res_model;
} }
if (this.inner_action.id) { if (this.inner_action.id) {
state['action_id'] = this.inner_action.id; state['action'] = this.inner_action.id;
} else if (this.inner_action.type == 'ir.actions.client') {
state['action'] = this.inner_action.tag;
//state = _.extend(this.inner_action.params || {}, state);
} }
} }
this.getParent().do_push_state(state); this.getParent().do_push_state(state);
@ -133,15 +165,21 @@ instance.web.ActionManager = instance.web.Widget.extend({
do_load_state: function(state, warm) { do_load_state: function(state, warm) {
var self = this, var self = this,
action_loaded; action_loaded;
if (state.action_id) { if (state.action) {
var run_action = (!this.inner_widget || !this.inner_widget.action) || this.inner_widget.action.id !== state.action_id; if (_.isString(state.action) && instance.web.client_actions.contains(state.action)) {
var action_client = {type: "ir.actions.client", tag: state.action, params: state};
this.null_action();
action_loaded = this.do_action(action_client);
} else {
var run_action = (!this.inner_widget || !this.inner_widget.action) || this.inner_widget.action.id !== state.action;
if (run_action) { if (run_action) {
this.null_action(); this.null_action();
action_loaded = this.do_action(state.action_id); action_loaded = this.do_action(state.action);
instance.webclient.menu.has_been_loaded.then(function() { instance.webclient.menu.has_been_loaded.then(function() {
instance.webclient.menu.open_action(state.action_id); instance.webclient.menu.open_action(state.action);
}); });
} }
}
} else if (state.model && state.id) { } else if (state.model && state.id) {
// TODO handle context & domain ? // TODO handle context & domain ?
this.null_action(); this.null_action();
@ -154,23 +192,12 @@ instance.web.ActionManager = instance.web.Widget.extend({
action_loaded = this.do_action(action); action_loaded = this.do_action(action);
} else if (state.sa) { } else if (state.sa) {
// load session action // load session action
var self = this;
this.null_action(); this.null_action();
action_loaded = this.rpc('/web/session/get_session_action', {key: state.sa}).pipe(function(action) { action_loaded = this.rpc('/web/session/get_session_action', {key: state.sa}).pipe(function(action) {
if (action) { if (action) {
return self.do_action(action); return self.do_action(action);
} }
}); });
} else if (state.client_action) {
this.null_action();
var action = state.client_action;
if(_.isString(action)) {
action = {
tag: action,
params: state,
};
}
this.ir_actions_client(action);
} }
$.when(action_loaded || null).then(function() { $.when(action_loaded || null).then(function() {
@ -191,7 +218,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
} }
if (!action.type) { if (!action.type) {
console.error("No type for action", action); console.error("No type for action", action);
return; return null;
} }
var type = action.type.replace(/\./g,'_'); var type = action.type.replace(/\./g,'_');
var popup = action.target === 'new'; var popup = action.target === 'new';
@ -206,7 +233,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
}, action.flags || {}); }, action.flags || {});
if (!(type in this)) { if (!(type in this)) {
console.error("Action manager can't handle action of type " + action.type, action); console.error("Action manager can't handle action of type " + action.type, action);
return; return null;
} }
return this[type](action, on_close); return this[type](action, on_close);
}, },
@ -216,21 +243,24 @@ instance.web.ActionManager = instance.web.Widget.extend({
}, },
do_ir_actions_common: function(action, on_close) { do_ir_actions_common: function(action, on_close) {
var self = this, klass, widget, add_breadcrumb; var self = this, klass, widget, post_process;
if (action.type === 'ir.actions.client') { if (action.type === 'ir.actions.client') {
var ClientWidget = instance.web.client_actions.get_object(action.tag); var ClientWidget = instance.web.client_actions.get_object(action.tag);
widget = new ClientWidget(this, action.params); widget = new ClientWidget(this, action.params);
klass = 'oe_act_client'; klass = 'oe_act_client';
add_breadcrumb = function() { post_process = function() {
self.push_breadcrumb({ self.push_breadcrumb({
widget: widget, widget: widget,
title: action.name title: action.name
}); });
if (action.tag !== 'reload') {
self.do_push_state({});
} }
};
} else { } else {
widget = new instance.web.ViewManagerAction(this, action); widget = new instance.web.ViewManagerAction(this, action);
klass = 'oe_act_window'; klass = 'oe_act_window';
add_breadcrumb = widget.proxy('add_breadcrumb'); post_process = widget.proxy('add_breadcrumb');
} }
if (action.target === 'new') { if (action.target === 'new') {
if (this.dialog === null) { if (this.dialog === null) {
@ -250,14 +280,9 @@ instance.web.ActionManager = instance.web.Widget.extend({
this.dialog.open(); this.dialog.open();
} else { } else {
this.dialog_stop(); this.dialog_stop();
if(action.menu_id) {
return this.getParent().do_action(action, function () {
instance.webclient.menu.open_menu(action.menu_id);
});
}
this.inner_action = action; this.inner_action = action;
this.inner_widget = widget; this.inner_widget = widget;
add_breadcrumb(); post_process();
this.inner_widget.appendTo(this.$element); this.inner_widget.appendTo(this.$element);
} }
}, },
@ -423,7 +448,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
.find('.oe_view_manager_switch a').filter('[data-view-type="' + view_type + '"]') .find('.oe_view_manager_switch a').filter('[data-view-type="' + view_type + '"]')
.parent().addClass('active'); .parent().addClass('active');
$.when(view_promise).then(function () { return $.when(view_promise).then(function () {
_.each(_.keys(self.views), function(view_name) { _.each(_.keys(self.views), function(view_name) {
var controller = self.views[view_name].controller; var controller = self.views[view_name].controller;
if (controller) { if (controller) {
@ -445,7 +470,6 @@ instance.web.ViewManager = instance.web.Widget.extend({
} }
}); });
}); });
return view_promise;
}, },
do_create_view: function(view_type) { do_create_view: function(view_type) {
// Lazy loading of views // Lazy loading of views
@ -463,6 +487,13 @@ instance.web.ViewManager = instance.web.Widget.extend({
} }
var controller = new controllerclass(this, this.dataset, view.view_id, options); var controller = new controllerclass(this, this.dataset, view.view_id, options);
controller.on('history_back', this, function() {
var am = self.getParent();
if (am && am.trigger) {
return am.trigger('history_back');
}
});
controller.on("change:title", this, function() { controller.on("change:title", this, function() {
if (self.active_view === view_type) { if (self.active_view === view_type) {
self.set_title(controller.get('title')); self.set_title(controller.get('title'));
@ -505,7 +536,8 @@ instance.web.ViewManager = instance.web.Widget.extend({
}); });
this.getParent().push_breadcrumb({ this.getParent().push_breadcrumb({
widget: this, widget: this,
show: function(index, $e) { action: this.action,
show: function(index) {
var view_to_select = views[index]; var view_to_select = views[index];
self.$element.show(); self.$element.show();
if (self.active_view !== view_to_select) { if (self.active_view !== view_to_select) {
@ -513,9 +545,27 @@ instance.web.ViewManager = instance.web.Widget.extend({
} }
}, },
get_title: function() { get_title: function() {
return _.map(views, function(v) { var id;
return self.views[v].controller.get('title'); var currentIndex;
_.each(self.getParent().breadcrumbs, function(bc, i) {
if (bc.widget === self) {
currentIndex = i;
}
}); });
var next = self.getParent().breadcrumbs.slice(currentIndex + 1)[0];
var titles = _.map(views, function(v) {
var controller = self.views[v].controller;
if (v === 'form') {
id = controller.datarecord.id;
}
return controller.get('title');
});
if (next && next.action && next.action.res_id && self.active_view === 'form' && self.model === next.action.res_model && id === next.action.res_id) {
// If the current active view is a formview and the next item in the breadcrumbs
// is an action on same object (model / res_id), then we omit the current formview's title
titles.pop();
}
return titles;
} }
}); });
}, },
@ -737,15 +787,6 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
width: '95%'}, $root).open(); width: '95%'}, $root).open();
}); });
break; break;
case 'manage_views':
if (current_view.fields_view && current_view.fields_view.arch) {
var view_editor = new instance.web.ViewEditor(current_view, current_view.$element, this.dataset, current_view.fields_view.arch);
view_editor.start();
} else {
this.do_warn(_t("Manage Views"),
_t("Could not find current view declaration"));
}
break;
case 'edit_workflow': case 'edit_workflow':
return this.do_action({ return this.do_action({
res_model : 'workflow', res_model : 'workflow',
@ -1034,14 +1075,15 @@ instance.web.TranslateDialog = instance.web.Dialog.extend({
this['on_button_' + _t("Close")] = this.on_btn_close; this['on_button_' + _t("Close")] = this.on_btn_close;
this._super(view, { this._super(view, {
width: '80%', width: '80%',
height: '80%' height: '80%',
destroy_on_close: false,
}); });
this.view = view; this.view = view;
this.view_type = view.fields_view.type || ''; this.view_type = view.fields_view.type || '';
this.$fields_form = null; this.$fields_form = null;
this.$view_form = null; this.$view_form = null;
this.$sidebar_form = null; this.$sidebar_form = null;
this.translatable_fields_keys = _.map(this.view.translatable_fields || [], function(i) { return i.name }); this.translatable_fields_keys = _.map(this.view.translatable_fields || [], function(i) { return i.name; });
this.languages = null; this.languages = null;
this.languages_loaded = $.Deferred(); this.languages_loaded = $.Deferred();
(new instance.web.DataSetSearch(this, 'res.lang', this.view.dataset.get_context(), (new instance.web.DataSetSearch(this, 'res.lang', this.view.dataset.get_context(),
@ -1072,7 +1114,8 @@ instance.web.TranslateDialog = instance.web.Dialog.extend({
deffered.push(deff); deffered.push(deff);
var callback = function(values) { var callback = function(values) {
_.each(self.translatable_fields_keys, function(f) { _.each(self.translatable_fields_keys, function(f) {
self.$fields_form.find('.oe_trad_field[name="' + lg.code + '-' + f + '"]').val(values[0][f] || '').attr('data-value', values[0][f] || ''); var value = values[0][f] || '';
self.$fields_form.find('.oe_trad_field[name="' + lg.code + '-' + f + '"]').val(value).attr('data-value', value);
}); });
deff.resolve(); deff.resolve();
}; };
@ -1083,31 +1126,24 @@ instance.web.TranslateDialog = instance.web.Dialog.extend({
}); });
callback([values]); callback([values]);
} else { } else {
self.rpc('/web/dataset/get', { self.view.dataset.read_ids([self.view.datarecord.id], self.translatable_fields_keys, {
model: self.view.dataset.model, context: { 'lang': lg.code }
ids: [self.view.datarecord.id], }).then(callback);
fields: self.translatable_fields_keys,
context: self.view.dataset.get_context({
'lang': lg.code
})}, callback);
} }
}); });
$.when.apply(null, deffered).then(callback); $.when.apply(null, deffered).then(callback);
}, },
open: function(field) { open: function(field) {
var self = this, var self = this;
sup = this._super; this._super();
$.when(this.languages_loaded).then(function() { $.when(this.languages_loaded).then(function() {
if (self.view.translatable_fields && self.view.translatable_fields.length) { if (self.view.translatable_fields && self.view.translatable_fields.length) {
self.do_load_fields_values(function() { self.do_load_fields_values(function() {
sup.call(self);
// desactivated because it created an exception, plus it does not seem very useful
/*
if (field) { if (field) {
var $field_input = self.$element.find('tr[data-field="' + field.name + '"] td:nth-child(2) *:first-child'); var $field_input = self.$element.find('tr[data-field="' + field.name + '"] td:nth-child(2) *:first-child');
self.$element.scrollTo($field_input); self.$element.scrollTo($field_input);
$field_input.focus(); $field_input.focus();
}*/ }
}); });
} else { } else {
sup.call(self); sup.call(self);
@ -1196,7 +1232,7 @@ instance.web.View = instance.web.Widget.extend({
}, },
open_translate_dialog: function(field) { open_translate_dialog: function(field) {
if (!this.translate_dialog) { if (!this.translate_dialog) {
this.translate_dialog = new instance.web.TranslateDialog(this).start(); this.translate_dialog = new instance.web.TranslateDialog(this);
} }
this.translate_dialog.open(field); this.translate_dialog.open(field);
}, },
@ -1366,7 +1402,6 @@ instance.web.xml_to_json = function(node) {
} }
instance.web.json_node_to_xml = function(node, human_readable, indent) { instance.web.json_node_to_xml = function(node, human_readable, indent) {
// For debugging purpose, this function will convert a json node back to xml // For debugging purpose, this function will convert a json node back to xml
// Maybe useful for xml view editor
indent = indent || 0; indent = indent || 0;
var sindent = (human_readable ? (new Array(indent + 1).join('\t')) : ''), var sindent = (human_readable ? (new Array(indent + 1).join('\t')) : ''),
r = sindent + '<' + node.tag, r = sindent + '<' + node.tag,

View File

@ -25,6 +25,13 @@
</div> </div>
</div> </div>
</t> </t>
<t t-name="Tipsy.alert">
<a class="oe_tooltip_close oe_e">[</a>
<span style="float:left; margin:2px 5px 0 0;" class="ui-icon ui-icon-alert ui-state-error"></span>
<div class="oe_tooltip_message">
<t t-esc="message"/>
</div>
</t>
<t t-name="CrashManager.warning"> <t t-name="CrashManager.warning">
<table cellspacing="0" cellpadding="0" border="0" class="oe_dialog_warning"> <table cellspacing="0" cellpadding="0" border="0" class="oe_dialog_warning">
@ -264,6 +271,31 @@
</div> </div>
</t> </t>
<t t-name="ChangePassword">
<form name="change_password_form" method="POST">
<table align="center">
<tr>
<td><label for="old_pwd">Old Password:</label></td>
<td><input type="password" name="old_pwd"
minlength="1" autofocus="autofocus"/></td>
</tr>
<tr>
<td><label for="new_password">New Password:</label></td>
<td><input type="password" name="new_password"
minlength="1" autofocus="autofocus"/></td>
</tr>
<tr>
<td><label for="confirm_pwd">Confirm Password:</label></td>
<td><input type="password" name="confirm_pwd"
minlength="1"/></td>
</tr>
<tr>
<td colspan="2" align="right"><button class="oe_button">Change Password</button></td>
</tr>
</table>
</form>
</t>
<t t-name="Menu"> <t t-name="Menu">
<ul class="oe_menu" t-if="widget.data"> <ul class="oe_menu" t-if="widget.data">
<li t-foreach="widget.data.data.children" t-as="menu"> <li t-foreach="widget.data.data.children" t-as="menu">
@ -303,7 +335,7 @@
</ul> </ul>
</t> </t>
<t t-name="Menu.secondary.link"> <t t-name="Menu.secondary.link">
<a t-attf-href="#menu_id=#{menu.id}&amp;action_id=#{menu.action ? menu.action.split(',')[1] : ''}" <a t-attf-href="#menu_id=#{menu.id}&amp;action=#{menu.action ? menu.action.split(',')[1] : ''}"
t-att-class="menu.children.length ? 'oe_menu_toggler' : 'oe_menu_leaf'" t-att-class="menu.children.length ? 'oe_menu_toggler' : 'oe_menu_leaf'"
t-att-data-menu="menu.id" t-att-data-menu="menu.id"
t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''" t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''"
@ -331,7 +363,7 @@
<t t-name="UserMenu.about"> <t t-name="UserMenu.about">
<div class="oe_about"> <div class="oe_about">
<a class="oe_activate_debug_mode oe_right" href="?debug">Activate the developer mode</a> <a class="oe_activate_debug_mode oe_right" href="?debug" style="background-color: white; padding:2px 6px; border-radius: 10px;">Activate the developer mode</a>
<img class="oe_logo" src="/web/static/src/img/logo2.png"/> <img class="oe_logo" src="/web/static/src/img/logo2.png"/>
<h3>Version <t t-esc="version_info.version"/></h3> <h3>Version <t t-esc="version_info.version"/></h3>
@ -344,30 +376,6 @@
</div> </div>
</t> </t>
<t t-name="UserMenu.password">
<form name="change_password_form" method="POST">
<table align="center">
<tr>
<td><label for="old_pwd">Old Password:</label></td>
<td><input type="password" name="old_pwd"
minlength="1" autofocus="autofocus"/></td>
</tr>
<tr>
<td><label for="new_password">New Password:</label></td>
<td><input type="password" name="new_password"
minlength="1" autofocus="autofocus"/></td>
</tr>
<tr>
<td><label for="confirm_pwd">Confirm Password:</label></td>
<td><input type="password" name="confirm_pwd"
minlength="1"/></td>
</tr>
<tr>
<td colspan="2" align="right"><button class="oe_button">Change Password</button></td>
</tr>
</table>
</form>
</t>
<t t-name="WebClient"> <t t-name="WebClient">
<div class="openerp openerp_webclient_container"> <div class="openerp openerp_webclient_container">
@ -607,7 +615,7 @@
</th> </th>
<t t-foreach="columns" t-as="column"> <t t-foreach="columns" t-as="column">
<th t-if="!column.meta and column.invisible !== '1'" t-att-data-id="column.id" <th t-if="!column.meta and column.invisible !== '1'" t-att-data-id="column.id"
t-att-class="((options.sortable and column.tag !== 'button') ? 'oe_sortable' : null)"> t-attf-class="oe_list_header_#{column.widget or column.type} #{((options.sortable and column.tag !== 'button') ? 'oe_sortable' : null)}">
<t t-if="column.tag !== 'button'"><t t-esc="column.string"/></t> <t t-if="column.tag !== 'button'"><t t-esc="column.string"/></t>
</th> </th>
</t> </t>
@ -701,7 +709,9 @@
<div t-name="FormView.buttons" class="oe_form_buttons"> <div t-name="FormView.buttons" class="oe_form_buttons">
<t t-if="widget.options.action_buttons !== false"> <t t-if="widget.options.action_buttons !== false">
<span class="oe_form_buttons_view"> <span class="oe_form_buttons_view">
<div style="display: inline-block;"> <!-- required for the bounce effect on button -->
<button type="button" class="oe_button oe_form_button_edit">Edit</button> <button type="button" class="oe_button oe_form_button_edit">Edit</button>
</div>
<button type="button" class="oe_button oe_form_button_create">Create</button> <button type="button" class="oe_button oe_form_button_create">Create</button>
</span> </span>
<span class="oe_form_buttons_edit"> <span class="oe_form_buttons_edit">
@ -921,9 +931,10 @@
t-att-tabindex="widget.node.attrs.tabindex" t-att-tabindex="widget.node.attrs.tabindex"
t-att-autofocus="widget.node.attrs.autofocus" t-att-autofocus="widget.node.attrs.autofocus"
t-att-placeholder="! widget.get('effective_readonly') ? widget.node.attrs.placeholder : ''" t-att-placeholder="! widget.get('effective_readonly') ? widget.node.attrs.placeholder : ''"
></textarea> ></textarea><img class="oe_field_translate oe_input_icon"
<img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-if="widget.field.translate and !widget.get('effective_readonly')"
t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/> t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"
/>
</div> </div>
</t> </t>
<t t-name="web.datepicker"> <t t-name="web.datepicker">
@ -1026,14 +1037,19 @@
</span> </span>
</t> </t>
<t t-name="FieldStatus"> <t t-name="FieldStatus">
<ul class="oe_form_steps" t-att-style="widget.node.attrs.style"/> <ul class="" t-att-style="widget.node.attrs.style"/>
</t> </t>
<t t-name="FieldStatus.content"> <t t-name="FieldStatus.content">
<t t-set="size" t-value="widget.to_show.length"/> <t t-set="size" t-value="widget.to_show.length"/>
<t t-foreach="_.range(size)" t-as="i"> <t t-foreach="_.range(size)" t-as="i">
<li t-att-class="widget.to_show[i][0] === widget.selected_value ? 'oe_form_steps_active' : ''"> <li t-att-class="widget.to_show[i][0] === widget.selected_value ? 'oe_form_steps_active' : 'oe_form_steps_inactive'">
<span><t t-esc="widget.to_show[i][1]"/></span> <div class="oe_form_steps_button" t-att-data-id="widget.to_show[i][0]">
<t t-esc="widget.to_show[i][1]"/>
<span class="oe_form_steps_arrow">
<span></span>
</span>
<img t-att-src='_s + "/web/static/src/img/form_steps.png"' class="oe_form_steps_arrow" t-if="i &lt; size - 1"/> <img t-att-src='_s + "/web/static/src/img/form_steps.png"' class="oe_form_steps_arrow" t-if="i &lt; size - 1"/>
</div>
</li> </li>
</t> </t>
</t> </t>
@ -1184,11 +1200,11 @@
</tr> </tr>
<tr t-foreach="widget.view.translatable_fields" t-as="field" t-att-data-field="field.name"> <tr t-foreach="widget.view.translatable_fields" t-as="field" t-att-data-field="field.name">
<td class="oe_form_group_cell" width="1%" nowrap="nowrap"> <td class="oe_form_group_cell" width="1%" nowrap="nowrap">
<label class="oe_label"><t t-esc="field.node.attrs.string"/>:</label> <label class="oe_label"><t t-esc="field.string"/>:</label>
</td> </td>
<td t-foreach="widget.languages" t-as="lg" class="oe_form_group_cell"> <td t-foreach="widget.languages" t-as="lg" class="oe_form_group_cell">
<input t-if="field.type == 'char'" type="text" t-attf-name="#{lg.code}-#{field.name}" value="" data-value="" class="oe_trad_field" style="width: 100%"/> <input t-if="field.field.type == 'char'" type="text" t-attf-name="#{lg.code}-#{field.name}" value="" data-value="" class="oe_trad_field" style="width: 100%"/>
<textarea t-if="field.type == 'text'" t-attf-name="#{lg.code}-#{field.name}" data-value="" class="oe_trad_field" style="width: 100%"></textarea> <textarea t-if="field.field.type == 'text'" t-attf-name="#{lg.code}-#{field.name}" data-value="" class="oe_trad_field" style="width: 100%"></textarea>
</td> </td>
</tr> </tr>
</table> </table>
@ -1443,18 +1459,18 @@
<div> <div>
</div> </div>
</div> </div>
<div t-name="SearchView.addtodashboard" class="oe_searchview_dashboard"> <div t-name="SearchView.addtoreporting" class="oe_searchview_dashboard">
<h4>Add to Dashboard</h4> <h4>Add to Dashboard</h4>
<form> <form>
<p><input placeholder ="Title of new Dashboard item" title = "Title of new Dashboard item" type="text"/></p> <p><input placeholder="Title of new dashboard item"/></p>
<button class="oe_apply" type="submit">Save</button> <button class="oe_apply" type="submit">Add</button>
</form> </form>
</div> </div>
<t t-name="SearchView.addtodashboard.selection"> <t t-name="SearchView.addtoreporting.selection">
<select title = "Select Dashboard to add this filter to"> <select>
<t t-foreach="selections" t-as="element"> <option t-foreach="selections" t-as="element"
<option t-att-value="element.id || element.res_id "><t t-esc="element.name"/></option> t-att-value="element.id || element.res_id ">
</t> <t t-esc="element.name"/></option>
</select> </select>
</t> </t>
<div t-name="SearchView.advanced" class="oe_searchview_advanced"> <div t-name="SearchView.advanced" class="oe_searchview_advanced">
@ -1502,70 +1518,6 @@
</select> </select>
</t> </t>
<t t-name="view_editor">
<table class="oe_view_editor">
<t t-call="view_editor.row"/>
</table>
</t>
<t t-name="view_editor.row">
<tr t-att-id="'viewedit-' + rec.id" t-att-level="rec.level" t-foreach="data" t-as="rec">
<td width="90%">
<table class="oe_view_editor_field">
<tr>
<td width="16px" t-att-style="'background-position: ' + 20*rec.level + 'px; padding-left: ' + 20*rec.level + 'px'">
<img t-if="rec.child_id.length" t-att-id="'parentimg-' + rec.id"
t-att-src='_s + "/web/static/src/img/collapse.gif"' width="16" height="16" border="0"/>
</td>
<td style="cursor: pointer;">
<a style="text-decoration:none" href="javascript:void(0);">
<t t-esc="rec.name"/>
</a>
</td>
</tr>
</table>
</td>
<td width="2%">
<img t-if="rec.att_list.length"
id="side-add" t-att-src='_s + "/web/static/src/img/icons/gtk-add.png"' style="cursor: pointer;"/>
</td>
<td width="2%">
<img id="side-remove" t-att-src='_s + "/web/static/src/img/icons/gtk-remove.png"' style="cursor: pointer;"/>
</td>
<td width="2%">
<img t-if="rec.att_list.length and !_.include(no_properties, rec.att_list[0])"
id="side-edit" t-att-src='_s + "/web/static/src/img/icons/gtk-edit.png"' style="cursor: pointer;"/>
</td>
<td width="2%">
<img t-if="rec.att_list.length"
id="side-up" t-att-src='_s + "/web/static/src/img/icons/gtk-go-up.png"' style="cursor: pointer;"/>
</td>
<td width="2%">
<img t-if="rec.att_list.length"
id="side-down" t-att-src='_s + "/web/static/src/img/icons/gtk-go-down.png"' style="cursor: pointer;"/>
</td>
<t t-if="rec.child_id.length">
<t t-set="data" t-value="rec.child_id"/>
<t t-call="view_editor.row"/>
</t>
</tr>
</t>
<t t-name="vieweditor_char">
<input type="text" t-att-id="widget.name" class="field_char" size="50"/>
</t>
<t t-name="vieweditor_selection">
<select t-att-id="widget.name" >
<t t-if="widget.selection" t-foreach="widget.selection" t-as="option">
<option
t-att-value="typeof option === 'object' ? option[0] : option">
<t t-esc="typeof option === 'object' ? option[1] : option"/>
</option>
</t>
</select>
</t>
<t t-name="vieweditor_boolean">
<input type="checkbox" t-att-id="widget.name"/>
</t>
<t t-name="ExportView"> <t t-name="ExportView">
<a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a> <a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a>
</t> </t>

View File

@ -0,0 +1,239 @@
$(document).ready(function () {
var $fix = $('#qunit-fixture');
var mod = {
setup: function () {
instance = window.openerp.init([]);
window.openerp.web.corelib(instance);
instance.web.qweb = new QWeb2.Engine();
instance.web.qweb.add_template(
'<no>' +
'<t t-name="test.widget.template">' +
'<ol>' +
'<li t-foreach="5" t-as="counter" ' +
't-attf-class="class-#{counter}">' +
'<input/>' +
'<t t-esc="counter"/>' +
'</li>' +
'</ol>' +
'</t>' +
'<t t-name="test.widget.template-value">' +
'<p><t t-esc="widget.value"/></p>' +
'</t>' +
'</no>');
}
};
var instance;
module('Widget.proxy', mod);
test('(String)', function () {
var W = instance.web.Widget.extend({
exec: function () {
this.executed = true;
}
});
var w = new W;
var fn = w.proxy('exec');
fn();
ok(w.executed, 'should execute the named method in the right context');
});
test('(String)(*args)', function () {
var W = instance.web.Widget.extend({
exec: function (arg) {
this.executed = arg;
}
});
var w = new W;
var fn = w.proxy('exec');
fn(42);
ok(w.executed, "should execute the named method in the right context");
equal(w.executed, 42, "should be passed the proxy's arguments");
});
test('(String), include', function () {
// the proxy function should handle methods being changed on the class
// and should always proxy "by name", to the most recent one
var W = instance.web.Widget.extend({
exec: function () {
this.executed = 1;
}
});
var w = new W;
var fn = w.proxy('exec');
W.include({
exec: function () { this.executed = 2; }
});
fn();
equal(w.executed, 2, "should be lazily resolved");
});
test('(Function)', function () {
var w = new (instance.web.Widget.extend({ }));
var fn = w.proxy(function () { this.executed = true; });
fn();
ok(w.executed, "should set the function's context (like Function#bind)");
});
test('(Function)(*args)', function () {
var w = new (instance.web.Widget.extend({ }));
var fn = w.proxy(function (arg) { this.executed = arg; });
fn(42);
equal(w.executed, 42, "should be passed the proxy's arguments");
});
module('Widget.renderElement', mod);
test('no template, default', function () {
var w = new (instance.web.Widget.extend({ }));
var $original = w.$element;
ok($original, "should initially have a root element");
w.renderElement();
ok(w.$element, "should have generated a root element");
ok($original !== w.$element, "should have generated a new root element");
strictEqual(w.$element, w.$element, "should provide $element alias");
ok(w.$element.is(w.el), "should provide raw DOM alias");
equal(w.el.nodeName, 'DIV', "should have generated the default element");
equal(w.el.attributes.length, 0, "should not have generated any attribute");
ok(_.isEmpty(w.$element.html(), "should not have generated any content"));
});
test('no template, custom tag', function () {
var w = new (instance.web.Widget.extend({
tagName: 'ul'
}));
w.renderElement();
equal(w.el.nodeName, 'UL', "should have generated the custom element tag");
});
test('no template, @id', function () {
var w = new (instance.web.Widget.extend({
id: 'foo'
}));
w.renderElement();
equal(w.el.attributes.length, 1, "should have one attribute");
equal(w.$element.attr('id'), 'foo', "should have generated the id attribute");
equal(w.el.id, 'foo', "should also be available via property");
});
test('no template, @className', function () {
var w = new (instance.web.Widget.extend({
className: 'oe_some_class'
}));
w.renderElement();
equal(w.el.className, 'oe_some_class', "should have the right property");
equal(w.$element.attr('class'), 'oe_some_class', "should have the right attribute");
});
test('no template, bunch of attributes', function () {
var w = new (instance.web.Widget.extend({
attributes: {
'id': 'some_id',
'class': 'some_class',
'data-foo': 'data attribute',
'clark': 'gable',
'spoiler': 'snape kills dumbledore'
}
}));
w.renderElement();
equal(w.el.attributes.length, 5, "should have all the specified attributes");
equal(w.el.id, 'some_id');
equal(w.$element.attr('id'), 'some_id');
equal(w.el.className, 'some_class');
equal(w.$element.attr('class'), 'some_class');
equal(w.$element.attr('data-foo'), 'data attribute');
equal(w.$element.data('foo'), 'data attribute');
equal(w.$element.attr('clark'), 'gable');
equal(w.$element.attr('spoiler'), 'snape kills dumbledore');
});
test('template', function () {
var w = new (instance.web.Widget.extend({
template: 'test.widget.template'
}));
w.renderElement();
equal(w.el.nodeName, 'OL');
equal(w.$element.children().length, 5);
equal(w.el.textContent, '01234');
});
module('Widget.$', mod);
test('basic-alias', function () {
var w = new (instance.web.Widget.extend({
template: 'test.widget.template'
}));
w.renderElement();
ok(w.$('li:eq(3)').is(w.$element.find('li:eq(3)')),
"should do the same thing as calling find on the widget root");
});
module('Widget.events', mod);
test('delegate', function () {
var a = [];
var w = new (instance.web.Widget.extend({
template: 'test.widget.template',
events: {
'click': function () {
a[0] = true;
strictEqual(this, w, "should trigger events in widget")
},
'click li.class-3': 'class3',
'change input': function () { a[2] = true; }
},
class3: function () { a[1] = true; }
}));
w.renderElement();
w.$element.click();
w.$('li:eq(3)').click();
w.$('input:last').val('foo').change();
for(var i=0; i<3; ++i) {
ok(a[i], "should pass test " + i);
}
});
test('undelegate', function () {
var clicked = false, newclicked = false;
var w = new (instance.web.Widget.extend({
template: 'test.widget.template',
events: { 'click li': function () { clicked = true; } }
}));
w.renderElement();
w.$element.on('click', 'li', function () { newclicked = true });
w.$('li').click();
ok(clicked, "should trigger bound events");
ok(newclicked, "should trigger bound events");
clicked = newclicked = false;
w.undelegateEvents();
w.$('li').click();
ok(!clicked, "undelegate should unbind events delegated");
ok(newclicked, "undelegate should only unbind events it created");
});
module('Widget.renderElement', mod);
test('repeated', function () {
var w = new (instance.web.Widget.extend({
template: 'test.widget.template-value'
}));
w.value = 42;
w.appendTo($fix)
.always(start)
.done(function () {
equal($fix.find('p').text(), '42', "DOM fixture should contain initial value");
equal(w.$element.text(), '42', "should set initial value");
w.value = 36;
w.renderElement();
equal($fix.find('p').text(), '36', "DOM fixture should use new value");
equal(w.$element.text(), '36', "should set new value");
});
});
});

View File

@ -133,4 +133,20 @@ $(document).ready(function () {
}]); }]);
deepEqual(result, {type: 'out_invoice'}); deepEqual(result, {type: 'out_invoice'});
}); });
module('eval.domains', {
setup: function () {
openerp = window.openerp.testing.instanceFor('coresetup');
window.openerp.web.dates(openerp);
}
});
test('current_date', function () {
var current_date = openerp.web.date_to_str(new Date());
var result = openerp.connection.test_eval_domains(
[[],{"__ref":"domain","__debug":"[('name','>=',current_date),('name','<=',current_date)]","__id":"5dedcfc96648"}],
openerp.connection.test_eval_get_context());
deepEqual(result, [
['name', '>=', current_date],
['name', '<=', current_date]
]);
})
}); });

View File

@ -72,7 +72,7 @@ $(document).ready(function () {
}); });
asyncTest('base-state', 2, function () { asyncTest('base-state', 2, function () {
var e = new instance.web.list.Editor({ var e = new instance.web.list.Editor({
dataset: {}, dataset: {ids: []},
edition_view: function () { edition_view: function () {
return makeFormView(); return makeFormView();
} }
@ -240,8 +240,7 @@ $(document).ready(function () {
}; };
var ds = new instance.web.DataSetStatic(null, 'demo', null, [1]); var ds = new instance.web.DataSetStatic(null, 'demo', null, [1]);
var l = new instance.web.ListView({}, ds); var l = new instance.web.ListView({}, ds, false, {editable: 'top'});
l.set_editable(true);
l.appendTo($fix) l.appendTo($fix)
.pipe(l.proxy('reload_content')) .pipe(l.proxy('reload_content'))
@ -305,8 +304,7 @@ $(document).ready(function () {
counter: 0, counter: 0,
onEvent: function (e) { this.counter++; } onEvent: function (e) { this.counter++; }
}; };
var l = new instance.web.ListView({}, ds); var l = new instance.web.ListView({}, ds, false, {editable: 'top'});
l.set_editable(true);
l.on('edit:before edit:after', o, o.onEvent); l.on('edit:before edit:after', o, o.onEvent);
l.appendTo($fix) l.appendTo($fix)
.pipe(l.proxy('reload_content')) .pipe(l.proxy('reload_content'))
@ -326,8 +324,7 @@ $(document).ready(function () {
asyncTest('edition events: cancelling', 3, function () { asyncTest('edition events: cancelling', 3, function () {
var edit_after = false; var edit_after = false;
var ds = new instance.web.DataSetStatic(null, 'demo', null, [1]); var ds = new instance.web.DataSetStatic(null, 'demo', null, [1]);
var l = new instance.web.ListView({}, ds); var l = new instance.web.ListView({}, ds, false, {editable: 'top'});
l.set_editable(true);
l.on('edit:before', {}, function (e) { l.on('edit:before', {}, function (e) {
e.cancel = true; e.cancel = true;
}); });

View File

@ -42,7 +42,7 @@
<script src="/web/static/test/testing.js"></script> <script src="/web/static/test/testing.js"></script>
<script type="text/javascript"> <script type="text/javascript">
QUnit.config.testTimeout = 500; QUnit.config.testTimeout = 2000;
</script> </script>
</head> </head>
<body id="oe" class="openerp"> <body id="oe" class="openerp">
@ -61,5 +61,6 @@
<script type="text/javascript" src="/web/static/test/rpc.js"></script> <script type="text/javascript" src="/web/static/test/rpc.js"></script>
<script type="text/javascript" src="/web/static/test/evals.js"></script> <script type="text/javascript" src="/web/static/test/evals.js"></script>
<script type="text/javascript" src="/web/static/test/search.js"></script> <script type="text/javascript" src="/web/static/test/search.js"></script>
<script type="text/javascript" src="/web/static/test/Widget.js"></script>
<script type="text/javascript" src="/web/static/test/list-editable.js"></script> <script type="text/javascript" src="/web/static/test/list-editable.js"></script>
</html> </html>

View File

@ -1,10 +1,7 @@
{ {
"name": "Web Calendar", "name": "Web Calendar",
"category": "Hidden", "category": "Hidden",
"description": "description":"""OpenERP Web Calendar view.""",
"""
OpenERP Web Calendar view.
""",
"version": "2.0", "version": "2.0",
"depends": ['web'], "depends": ['web'],
"js": [ "js": [

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "التقويم" msgstr "التقويم"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr "مرشّح"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139
msgid "Today"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140
msgid "Day"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141
msgid "Week"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142
msgid "Month"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143
msgid "New event"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Save" msgid "Today"
msgstr "" msgstr "اليوم"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Cancel" msgid "Day"
msgstr "" msgstr "اليوم"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Details" msgid "Week"
msgstr "" msgstr "الأسبوع"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Edit" msgid "Month"
msgstr "" msgstr "الشهر"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "Delete" msgid "New event"
msgstr "" msgstr "حدث جديد"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save"
msgstr "حفظ"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Event will be deleted permanently, are you sure?" msgid "Cancel"
msgstr "" msgstr "إلغاء"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:151
#: addons/web_calendar/static/src/js/calendar.js:164 msgid "Details"
msgid "Description" msgstr "التفاصيل"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Time period" msgid "Edit"
msgstr "" msgstr "تحرير"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Full day" msgid "Delete"
msgstr "" msgstr "حذف"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?"
msgstr "سيتم حذف هذا الحدث بشكل دائم، هل أنت متأكد؟"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:156
msgid "Do you want to edit the whole set of repeated events?" #: addons/web_calendar/static/src/js/calendar.js:169
msgstr "" msgid "Description"
msgstr "الوصف"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Repeat event" msgid "Time period"
msgstr "" msgstr "الفترة الزمنية"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Disabled" msgid "Full day"
msgstr "" msgstr "يوم كامل"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Enabled" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr "هل تريد تحرير مجموعة الأحداث المتكررة كاملة؟"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:162
#: addons/web_calendar/static/src/js/calendar.js:170 msgid "Repeat event"
msgid "Agenda" msgstr "تكرار الحدث"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Date" msgid "Disabled"
msgstr "" msgstr "معطّل"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled"
msgstr "مُفعّل"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:167
msgid "Year" #: addons/web_calendar/static/src/js/calendar.js:175
msgstr "" msgid "Agenda"
msgstr "جدول أعمال"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/js/calendar.js:168
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 msgid "Date"
msgstr "التاريخ"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year"
msgstr "السنة"
#. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,131 +14,131 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Календар" msgstr "Календар"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr "Филтър"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139
msgid "Today"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140
msgid "Day"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141
msgid "Week"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142
msgid "Month"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143
msgid "New event"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Save" msgid "Today"
msgstr "" msgstr "Днес"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Cancel" msgid "Day"
msgstr "" msgstr "Ден"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Details" msgid "Week"
msgstr "" msgstr "Седмица"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Edit" msgid "Month"
msgstr "" msgstr "Месец"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "Delete" msgid "New event"
msgstr "" msgstr "Ново събитие"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save"
msgstr "Запис"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Event will be deleted permanently, are you sure?" msgid "Cancel"
msgstr "" msgstr "Отказ"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:151
#: addons/web_calendar/static/src/js/calendar.js:164 msgid "Details"
msgid "Description" msgstr "Детайли"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Time period" msgid "Edit"
msgstr "" msgstr "Редакция"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Full day" msgid "Delete"
msgstr "" msgstr "Изтриване"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?"
msgstr "Събитието ще бъде окончателно изтрито, сигурни ли сте?"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:156
msgid "Do you want to edit the whole set of repeated events?" #: addons/web_calendar/static/src/js/calendar.js:169
msgstr "" msgid "Description"
msgstr "Описание"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Repeat event" msgid "Time period"
msgstr "" msgstr "Времеви период"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Disabled" msgid "Full day"
msgstr "" msgstr "Цял ден"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Enabled" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr "Искатели да редактирате всички повтарящи се събития?"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:162
#: addons/web_calendar/static/src/js/calendar.js:170 msgid "Repeat event"
msgid "Agenda" msgstr "Повтаряне на събитие"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Date" msgid "Disabled"
msgstr "" msgstr "Изключено"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled"
msgstr "Включено"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:167
msgid "Year" #: addons/web_calendar/static/src/js/calendar.js:175
msgstr "" msgid "Agenda"
msgstr "Дневен ред"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/js/calendar.js:168
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 msgid "Date"
msgstr "Дата"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year"
msgstr "Година"
#. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "" msgstr "&nbsp;"
#~ msgid "Navigator" #~ msgid "Navigator"
#~ msgstr "Навигатор" #~ msgstr "Навигатор"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "পুঞ্জিকা" msgstr "পুঞ্জিকা"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Kalendar" msgstr "Kalendar"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,128 +14,128 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "" msgstr ""

View File

@ -14,130 +14,130 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
"X-Poedit-Language: Czech\n" "X-Poedit-Language: Czech\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Kalendář" msgstr "Kalendář"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Kalender" msgstr "Kalender"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Kalender" msgstr "Kalender"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendar" msgstr "Calendar"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendar" msgstr "Calendar"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendario" msgstr "Calendario"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendario" msgstr "Calendario"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -15,130 +15,130 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
"Language: es\n" "Language: es\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendario" msgstr "Calendario"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendario" msgstr "Calendario"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,128 +14,128 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -9,134 +9,134 @@ msgstr ""
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n" "POT-Creation-Date: 2012-07-02 09:06+0200\n"
"PO-Revision-Date: 2012-02-08 07:27+0000\n" "PO-Revision-Date: 2012-02-08 07:27+0000\n"
"Last-Translator: Daniel Campos <Unknown>\n" "Last-Translator: Daniel Campos (Avanzosc) <Unknown>\n"
"Language-Team: Basque <eu@li.org>\n" "Language-Team: Basque <eu@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Egutegia" msgstr "Egutegia"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "kalenteri" msgstr "kalenteri"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendrier" msgstr "Calendrier"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,128 +14,128 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-07 05:24+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15558)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "" msgstr ""

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendario" msgstr "Calendario"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:46+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Kalendar" msgstr "Kalendar"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Kalender" msgstr "Kalender"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp" msgstr "&nbsp"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Calendario" msgstr "Calendario"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15644)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11 #: addons/web_calendar/static/src/js/calendar.js:11

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "კალენდარი" msgstr "კალენდარი"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Календар" msgstr "Календар"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,130 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Цаглабар" msgstr "Хуанли"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr "Шүүлтүүр"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139
msgid "Today"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140
msgid "Day"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141
msgid "Week"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142
msgid "Month"
msgstr ""
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143
msgid "New event"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Save" msgid "Today"
msgstr "" msgstr "Өнөөдөр"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Cancel" msgid "Day"
msgstr "" msgstr "Өдөр"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Details" msgid "Week"
msgstr "" msgstr "7 хоног"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Edit" msgid "Month"
msgstr "" msgstr "Сар"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "Delete" msgid "New event"
msgstr "" msgstr "Шинэ үйл явдал"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save"
msgstr "Хадгалах"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Event will be deleted permanently, are you sure?" msgid "Cancel"
msgstr "" msgstr "Цуцлах"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:151
#: addons/web_calendar/static/src/js/calendar.js:164 msgid "Details"
msgid "Description" msgstr "Дэлгэрэнгүй"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Time period" msgid "Edit"
msgstr "" msgstr "Засах"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Full day" msgid "Delete"
msgstr "Устгах"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
"Үйл явдал эргэлт буцалтгүйгээр устгагдах болно, та итгэлтэй байна уу?"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:156
msgid "Do you want to edit the whole set of repeated events?" #: addons/web_calendar/static/src/js/calendar.js:169
msgstr "" msgid "Description"
msgstr "Тайлбар"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Repeat event" msgid "Time period"
msgstr "" msgstr "Цагийн мөчлөг"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Disabled" msgid "Full day"
msgstr "" msgstr "Бүтэн өдөр"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Enabled" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr "Та давтамжит үйл явдлуудыг багцаар нь засварлахыг хүсч байна уу?"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:162
#: addons/web_calendar/static/src/js/calendar.js:170 msgid "Repeat event"
msgid "Agenda" msgstr "Давтамжит үйл явдал"
msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Date" msgid "Disabled"
msgstr "" msgstr "Идэвхигүй"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled"
msgstr "Идэвхитэй"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:167
msgid "Year" #: addons/web_calendar/static/src/js/calendar.js:175
msgstr "" msgid "Agenda"
msgstr "Төлөвлөгөө"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/js/calendar.js:168
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 msgid "Date"
msgstr "Огноо"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year"
msgstr "Жил"
#. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Kalender" msgstr "Kalender"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

View File

@ -14,129 +14,129 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-03 05:55+0000\n" "X-Launchpad-Export-Date: 2012-08-08 04:45+0000\n"
"X-Generator: Launchpad (build 15531)\n" "X-Generator: Launchpad (build 15757)\n"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:12 #: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar" msgid "Calendar"
msgstr "Agenda" msgstr "Agenda"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:73 #: addons/web_calendar/static/src/js/calendar.js:70
msgid "Filter" msgid "Filter"
msgstr "Filter" msgstr "Filter"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:139 #: addons/web_calendar/static/src/js/calendar.js:144
msgid "Today" msgid "Today"
msgstr "Vandaag" msgstr "Vandaag"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:140 #: addons/web_calendar/static/src/js/calendar.js:145
msgid "Day" msgid "Day"
msgstr "Dag" msgstr "Dag"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:141 #: addons/web_calendar/static/src/js/calendar.js:146
msgid "Week" msgid "Week"
msgstr "Week" msgstr "Week"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:142 #: addons/web_calendar/static/src/js/calendar.js:147
msgid "Month" msgid "Month"
msgstr "Maand" msgstr "Maand"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:143 #: addons/web_calendar/static/src/js/calendar.js:148
msgid "New event" msgid "New event"
msgstr "Nieuwe Gebeurtenis" msgstr "Nieuwe Gebeurtenis"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:144 #: addons/web_calendar/static/src/js/calendar.js:149
msgid "Save" msgid "Save"
msgstr "Opslaan" msgstr "Opslaan"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:145 #: addons/web_calendar/static/src/js/calendar.js:150
msgid "Cancel" msgid "Cancel"
msgstr "Annuleren" msgstr "Annuleren"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:146 #: addons/web_calendar/static/src/js/calendar.js:151
msgid "Details" msgid "Details"
msgstr "Details" msgstr "Details"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:147 #: addons/web_calendar/static/src/js/calendar.js:152
msgid "Edit" msgid "Edit"
msgstr "Wijzig" msgstr "Wijzig"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:148 #: addons/web_calendar/static/src/js/calendar.js:153
msgid "Delete" msgid "Delete"
msgstr "Verwijder" msgstr "Verwijder"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:150 #: addons/web_calendar/static/src/js/calendar.js:155
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "Gebeurtenis wordt definitief verwijderd. Weet u het zeker?" msgstr "Gebeurtenis wordt definitief verwijderd. Weet u het zeker?"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:151 #: addons/web_calendar/static/src/js/calendar.js:156
#: addons/web_calendar/static/src/js/calendar.js:164 #: addons/web_calendar/static/src/js/calendar.js:169
msgid "Description" msgid "Description"
msgstr "Omschrijving" msgstr "Omschrijving"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:152 #: addons/web_calendar/static/src/js/calendar.js:157
msgid "Time period" msgid "Time period"
msgstr "Tijdsinterval" msgstr "Tijdsinterval"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:153 #: addons/web_calendar/static/src/js/calendar.js:158
msgid "Full day" msgid "Full day"
msgstr "Hele dag" msgstr "Hele dag"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:156 #: addons/web_calendar/static/src/js/calendar.js:161
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "Weet u zeker dat u deze herhalende gebeurtenis wilt bewerken?" msgstr "Weet u zeker dat u deze herhalende gebeurtenis wilt bewerken?"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:157 #: addons/web_calendar/static/src/js/calendar.js:162
msgid "Repeat event" msgid "Repeat event"
msgstr "Herhaal gebeurtenis" msgstr "Herhaal gebeurtenis"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:158 #: addons/web_calendar/static/src/js/calendar.js:163
msgid "Disabled" msgid "Disabled"
msgstr "Uitgeschakeld" msgstr "Uitgeschakeld"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:159 #: addons/web_calendar/static/src/js/calendar.js:164
msgid "Enabled" msgid "Enabled"
msgstr "Ingeschakeld" msgstr "Ingeschakeld"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:162 #: addons/web_calendar/static/src/js/calendar.js:167
#: addons/web_calendar/static/src/js/calendar.js:170 #: addons/web_calendar/static/src/js/calendar.js:175
msgid "Agenda" msgid "Agenda"
msgstr "Agenda" msgstr "Agenda"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:163 #: addons/web_calendar/static/src/js/calendar.js:168
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:167 #: addons/web_calendar/static/src/js/calendar.js:172
msgid "Year" msgid "Year"
msgstr "Jaar" msgstr "Jaar"
#. openerp-web #. openerp-web
#: addons/web_calendar/static/src/xml/web_calendar.xml:8 #: addons/web_calendar/static/src/xml/web_calendar.xml:5
#: addons/web_calendar/static/src/xml/web_calendar.xml:9 #: addons/web_calendar/static/src/xml/web_calendar.xml:6
msgid "&nbsp;" msgid "&nbsp;"
msgstr "&nbsp;" msgstr "&nbsp;"

Some files were not shown because too many files have changed in this diff Show More