[MERGE] trunk
bzr revid: al@openerp.com-20111215120749-zran9bu9yibr2zru
This commit is contained in:
+231
-130
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,12 +17,69 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 0.9.6\n"
|
||||
|
||||
#: addons/web/static/src/js/chrome.js:162
|
||||
#: addons/web/static/src/js/chrome.js:175
|
||||
#: addons/web/static/src/js/chrome.js:369
|
||||
#: addons/web/static/src/js/view_form.js:341
|
||||
#: addons/web/static/src/js/view_form.js:1055
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/chrome.js:678
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/chrome.js:758
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/chrome.js:762
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/chrome.js:763
|
||||
#: addons/web/static/src/js/search.js:235
|
||||
#: addons/web/static/src/js/search.js:276
|
||||
#: addons/web/static/src/js/view_editor.js:97
|
||||
#: addons/web/static/src/js/view_editor.js:778
|
||||
#: addons/web/static/src/js/view_editor.js:907
|
||||
#: addons/web/static/src/js/view_form.js:1062
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/chrome.js:764
|
||||
#: addons/web/static/src/js/view_editor.js:75
|
||||
#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/data_export.js:6
|
||||
msgid "Export Data"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/data_export.js:23
|
||||
#: addons/web/static/src/js/data_import.js:73
|
||||
#: addons/web/static/src/js/view_form.js:2746
|
||||
#: addons/web/static/src/js/views.js:803
|
||||
#: addons/web/static/src/js/view_editor.js:49
|
||||
#: addons/web/static/src/js/view_editor.js:387
|
||||
#: addons/web/static/src/js/view_form.js:2741
|
||||
#: addons/web/static/src/js/views.js:849
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/data_export.js:24
|
||||
msgid "Export To File"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/data_import.js:34
|
||||
msgid "Import Data"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/data_import.js:74
|
||||
msgid "Import File"
|
||||
msgstr ""
|
||||
@@ -31,161 +88,209 @@ msgstr ""
|
||||
msgid "External ID"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:230
|
||||
#: addons/web/static/src/js/search.js:233
|
||||
msgid "Filter Entry"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:232
|
||||
#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:235
|
||||
#: addons/web/static/src/js/search.js:276
|
||||
#: addons/web/static/src/js/search.js:238
|
||||
#: addons/web/static/src/js/search.js:279
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0
|
||||
#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0
|
||||
msgid "Add to Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:400
|
||||
#: addons/web/static/src/js/search.js:403
|
||||
msgid "Invalid Search"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:400
|
||||
#: addons/web/static/src/js/search.js:403
|
||||
msgid "triggered from search view"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:482
|
||||
#: addons/web/static/src/js/search.js:490
|
||||
#, python-format
|
||||
msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:803
|
||||
#: addons/web/static/src/js/search.js:811
|
||||
msgid "not a valid integer"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:817
|
||||
#: addons/web/static/src/js/search.js:825
|
||||
msgid "not a valid number"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1233
|
||||
#: addons/web/static/src/js/search.js:1241
|
||||
msgid "contains"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1234
|
||||
#: addons/web/static/src/js/search.js:1242
|
||||
msgid "doesn't contain"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1235
|
||||
#: addons/web/static/src/js/search.js:1250
|
||||
#: addons/web/static/src/js/search.js:1270
|
||||
#: addons/web/static/src/js/search.js:1290
|
||||
#: addons/web/static/src/js/search.js:1312
|
||||
#: addons/web/static/src/js/search.js:1243
|
||||
#: addons/web/static/src/js/search.js:1258
|
||||
#: addons/web/static/src/js/search.js:1278
|
||||
#: addons/web/static/src/js/search.js:1298
|
||||
#: addons/web/static/src/js/search.js:1320
|
||||
msgid "is equal to"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1236
|
||||
#: addons/web/static/src/js/search.js:1251
|
||||
#: addons/web/static/src/js/search.js:1271
|
||||
#: addons/web/static/src/js/search.js:1291
|
||||
#: addons/web/static/src/js/search.js:1313
|
||||
#: addons/web/static/src/js/search.js:1244
|
||||
#: addons/web/static/src/js/search.js:1259
|
||||
#: addons/web/static/src/js/search.js:1279
|
||||
#: addons/web/static/src/js/search.js:1299
|
||||
#: addons/web/static/src/js/search.js:1321
|
||||
msgid "is not equal to"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1237
|
||||
#: addons/web/static/src/js/search.js:1252
|
||||
#: addons/web/static/src/js/search.js:1272
|
||||
#: addons/web/static/src/js/search.js:1292
|
||||
#: addons/web/static/src/js/search.js:1314
|
||||
#: addons/web/static/src/js/search.js:1245
|
||||
#: addons/web/static/src/js/search.js:1260
|
||||
#: addons/web/static/src/js/search.js:1280
|
||||
#: addons/web/static/src/js/search.js:1300
|
||||
#: addons/web/static/src/js/search.js:1322
|
||||
msgid "greater than"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1238
|
||||
#: addons/web/static/src/js/search.js:1253
|
||||
#: addons/web/static/src/js/search.js:1273
|
||||
#: addons/web/static/src/js/search.js:1293
|
||||
#: addons/web/static/src/js/search.js:1315
|
||||
#: addons/web/static/src/js/search.js:1246
|
||||
#: addons/web/static/src/js/search.js:1261
|
||||
#: addons/web/static/src/js/search.js:1281
|
||||
#: addons/web/static/src/js/search.js:1301
|
||||
#: addons/web/static/src/js/search.js:1323
|
||||
msgid "less than"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1239
|
||||
#: addons/web/static/src/js/search.js:1254
|
||||
#: addons/web/static/src/js/search.js:1274
|
||||
#: addons/web/static/src/js/search.js:1294
|
||||
#: addons/web/static/src/js/search.js:1316
|
||||
#: addons/web/static/src/js/search.js:1247
|
||||
#: addons/web/static/src/js/search.js:1262
|
||||
#: addons/web/static/src/js/search.js:1282
|
||||
#: addons/web/static/src/js/search.js:1302
|
||||
#: addons/web/static/src/js/search.js:1324
|
||||
msgid "greater or equal than"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1240
|
||||
#: addons/web/static/src/js/search.js:1255
|
||||
#: addons/web/static/src/js/search.js:1275
|
||||
#: addons/web/static/src/js/search.js:1295
|
||||
#: addons/web/static/src/js/search.js:1317
|
||||
#: addons/web/static/src/js/search.js:1248
|
||||
#: addons/web/static/src/js/search.js:1263
|
||||
#: addons/web/static/src/js/search.js:1283
|
||||
#: addons/web/static/src/js/search.js:1303
|
||||
#: addons/web/static/src/js/search.js:1325
|
||||
msgid "less or equal than"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1306
|
||||
#: addons/web/static/src/js/search.js:1331
|
||||
#: addons/web/static/src/js/search.js:1314
|
||||
#: addons/web/static/src/js/search.js:1339
|
||||
msgid "is"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1332
|
||||
#: addons/web/static/src/js/search.js:1340
|
||||
msgid "is not"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1345
|
||||
#: addons/web/static/src/js/search.js:1353
|
||||
msgid "is true"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/search.js:1346
|
||||
#: addons/web/static/src/js/search.js:1354
|
||||
msgid "is false"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:181
|
||||
msgid "Do you really want to remove this view?"
|
||||
#: addons/web/static/src/js/view_editor.js:42
|
||||
msgid "ViewEditor"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:453
|
||||
msgid "Do you really want to remove this node?"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:387
|
||||
msgid "Warning, the record has been modified, your changes will be discarded."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:595
|
||||
msgid "Attachments"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:1823
|
||||
msgid "<em> Search More...</em>"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:1836
|
||||
#, python-format
|
||||
msgid "<em> Create \"<strong>%s</strong>\"</em>"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:1842
|
||||
msgid "<em> Create and Edit...</em>"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_list.js:14
|
||||
#: addons/web/static/src/js/view_editor.js:46
|
||||
#: addons/web/static/src/js/view_list.js:15
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_list.js:263
|
||||
#: addons/web/static/src/js/view_editor.js:47
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:48
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:71
|
||||
#, python-format
|
||||
msgid "Create a view (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:170
|
||||
msgid "Do you really want to remove this view?"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:367
|
||||
#, python-format
|
||||
msgid "View Editor %d - %s"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:371
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:442
|
||||
msgid "Do you really want to remove this node?"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:756
|
||||
#: addons/web/static/src/js/view_editor.js:883
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_editor.js:760
|
||||
#: addons/web/static/src/js/view_editor.js:887
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:384
|
||||
msgid "Warning, the record has been modified, your changes will be discarded."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:592
|
||||
msgid "Attachments"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:630
|
||||
#, python-format
|
||||
msgid "Do you really want to delete the attachment %s?"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:1052
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:1815
|
||||
msgid "<em> Search More...</em>"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:1828
|
||||
#, python-format
|
||||
msgid "<em> Create \"<strong>%s</strong>\"</em>"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:1834
|
||||
msgid "<em> Create and Edit...</em>"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_form.js:2377
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_list.js:265
|
||||
msgid "Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_list.js:483
|
||||
#: addons/web/static/src/js/view_list.js:488
|
||||
msgid "Do you really want to remove these records?"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/view_list.js:1159
|
||||
#: addons/web/static/src/js/view_list.js:1167
|
||||
msgid "Undefined"
|
||||
msgstr ""
|
||||
|
||||
@@ -193,83 +298,79 @@ msgstr ""
|
||||
msgid "Do you really want to delete this record?"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:518
|
||||
#: addons/web/static/src/js/views.js:572
|
||||
msgid "Search: "
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:621
|
||||
#: addons/web/static/src/js/views.js:687
|
||||
msgid "Customize"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:624
|
||||
#: addons/web/static/src/js/views.js:690
|
||||
msgid "Manage Views"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630
|
||||
#: addons/web/static/src/js/views.js:635
|
||||
#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696
|
||||
#: addons/web/static/src/js/views.js:701
|
||||
msgid "Manage views of the current object"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:628
|
||||
#: addons/web/static/src/js/views.js:694
|
||||
msgid "Edit Workflow"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:633
|
||||
#: addons/web/static/src/js/views.js:699
|
||||
msgid "Customize Object"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:637
|
||||
#: addons/web/static/src/js/views.js:703
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:639
|
||||
#: addons/web/static/src/js/views.js:705
|
||||
msgid "Technical translation"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:644
|
||||
#: addons/web/static/src/js/views.js:710
|
||||
msgid "Other Options"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0
|
||||
#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0
|
||||
#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:653
|
||||
#: addons/web/static/src/js/views.js:719
|
||||
msgid "View Log"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:682
|
||||
#: addons/web/static/src/js/views.js:728
|
||||
msgid "Reports"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:682
|
||||
#: addons/web/static/src/js/views.js:728
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:682
|
||||
#: addons/web/static/src/js/views.js:728
|
||||
msgid "Links"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:762
|
||||
#: addons/web/static/src/js/views.js:808
|
||||
msgid "You must choose at least one record."
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:763
|
||||
#: addons/web/static/src/js/views.js:809
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:797
|
||||
#: addons/web/static/src/js/views.js:843
|
||||
msgid "Translations"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "x"
|
||||
msgstr ""
|
||||
@@ -382,10 +483,6 @@ msgstr ""
|
||||
msgid "Confirm new master password:"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "User:"
|
||||
msgstr ""
|
||||
@@ -481,11 +578,31 @@ msgid "Disable all tips"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "View#"
|
||||
msgid "More…"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "More…"
|
||||
msgid "Debug View#"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "- Fields View Get"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "- Edit"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "- Edit SearchView"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "- Edit Action"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
@@ -532,18 +649,10 @@ msgstr ""
|
||||
msgid ">>"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Duplicate"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Unhandled widget"
|
||||
msgstr ""
|
||||
@@ -776,10 +885,6 @@ msgstr ""
|
||||
msgid "Save fields list"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Remove All"
|
||||
msgstr ""
|
||||
@@ -796,10 +901,6 @@ msgstr ""
|
||||
msgid "Save as:"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web/static/src/xml/base.xml:0
|
||||
msgid "Saved exports:"
|
||||
msgstr ""
|
||||
|
||||
@@ -717,11 +717,9 @@ label.error {
|
||||
.openerp .oe_search-view-buttons {
|
||||
padding: 10px 0 10px 0;
|
||||
}
|
||||
.openerp .oe_search-view-custom-filter-btn span {
|
||||
background: url(/web/static/src/img/icons/gtk-add.png) repeat-y;
|
||||
padding-left: 18px;
|
||||
.openerp .oe_search-view-filters-management {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.openerp .searchview_extended_add_proposition span {
|
||||
font-size: 0.9em;
|
||||
background: url(/web/static/src/img/icons/gtk-add.png) repeat-y;
|
||||
@@ -1108,7 +1106,8 @@ label.error {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.openerp .oe_form_field_one2many .oe-actions h3.oe_view_title {
|
||||
.openerp .oe_form_field_one2many .oe-actions h3.oe_view_title,
|
||||
.openerp .oe_form_field_one2many_list .oe-actions h3.oe_view_title{
|
||||
display: inline;
|
||||
margin: 0 0.5em 0 0;
|
||||
}
|
||||
@@ -1151,7 +1150,11 @@ label.error {
|
||||
.openerp .oe_forms select{
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
.openerp .oe_forms input[disabled],
|
||||
.openerp .oe_forms select[disabled],
|
||||
.openerp .oe_forms textarea[disabled]{
|
||||
background: #E0E0E0;
|
||||
}
|
||||
.openerp .oe_forms textarea {
|
||||
resize:vertical;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
* OpenERP Web chrome
|
||||
*---------------------------------------------------------*/
|
||||
openerp.web.chrome = function(openerp) {
|
||||
var QWeb = openerp.web.qweb;
|
||||
var QWeb = openerp.web.qweb,
|
||||
_t = openerp.web._t;
|
||||
|
||||
openerp.web.Notification = openerp.web.Widget.extend(/** @lends openerp.web.Notification# */{
|
||||
template: 'Notification',
|
||||
@@ -157,11 +158,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
|
||||
on_managed_error: function(error) {
|
||||
$('<div>' + QWeb.render('DialogWarning', {error: error}) + '</div>').dialog({
|
||||
title: "OpenERP " + _.str.capitalize(error.type),
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
buttons: [
|
||||
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
|
||||
]
|
||||
});
|
||||
},
|
||||
on_traceback: function(error) {
|
||||
@@ -172,11 +171,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
|
||||
height: '90%',
|
||||
min_width: '800px',
|
||||
min_height: '600px',
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
buttons: [
|
||||
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
|
||||
]
|
||||
}).start();
|
||||
dialog.$element.html(QWeb.render('DialogTraceback', {error: error}));
|
||||
}
|
||||
@@ -368,11 +365,9 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
|
||||
return $('<div>').dialog({
|
||||
modal: true,
|
||||
title: error.title,
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
buttons: [
|
||||
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
|
||||
]
|
||||
}).html(error.error);
|
||||
},
|
||||
do_create: function() {
|
||||
@@ -663,7 +658,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
|
||||
self.$content.remove();
|
||||
if (!self.session.uid)
|
||||
return;
|
||||
var func = new openerp.web.Model(self.session, "res.users").get_func("read");
|
||||
var func = new openerp.web.Model("res.users").get_func("read");
|
||||
return func(self.session.uid, ["name", "company_id"]).pipe(function(res) {
|
||||
self.$content = $(QWeb.render("Header-content", {widget: self, user: res}));
|
||||
self.$content.appendTo(self.$element);
|
||||
@@ -680,7 +675,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
|
||||
self.rpc("/web/webclient/version_info", {}).then(function(res) {
|
||||
var $help = $(QWeb.render("About-Page", {version_info: res}));
|
||||
$help.dialog({autoOpen: true,
|
||||
modal: true, width: 960, title: "About"});
|
||||
modal: true, width: 960, title: _t("About")});
|
||||
});
|
||||
},
|
||||
shortcut_load :function(){
|
||||
@@ -760,25 +755,22 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
|
||||
});
|
||||
this.dialog = new openerp.web.Dialog(this,{
|
||||
modal: true,
|
||||
title: 'Preferences',
|
||||
title: _t("Preferences"),
|
||||
width: 600,
|
||||
height: 500,
|
||||
buttons: {
|
||||
"Change password": function(){
|
||||
self.change_password();
|
||||
},
|
||||
Cancel: function(){
|
||||
$(this).dialog('destroy');
|
||||
},
|
||||
Save: function(){
|
||||
var inner_viewmanager = action_manager.inner_viewmanager;
|
||||
inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save()
|
||||
.then(function() {
|
||||
self.dialog.stop();
|
||||
window.location.reload();
|
||||
});
|
||||
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_viewmanager = action_manager.inner_viewmanager;
|
||||
inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save()
|
||||
.then(function() {
|
||||
self.dialog.stop();
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
this.dialog.start().open();
|
||||
action_manager.appendTo(this.dialog);
|
||||
@@ -789,7 +781,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
|
||||
var self = this;
|
||||
this.dialog = new openerp.web.Dialog(this,{
|
||||
modal : true,
|
||||
title : 'Change Password',
|
||||
title: _t("Change Password"),
|
||||
width : 'auto',
|
||||
height : 'auto'
|
||||
});
|
||||
@@ -814,11 +806,9 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
|
||||
return $('<div>').dialog({
|
||||
modal: true,
|
||||
title: error.title,
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
buttons: [
|
||||
{text: _("Ok"), click: function() { $(this).dialog("close"); }}
|
||||
]
|
||||
}).html(error.error);
|
||||
},
|
||||
on_logout: function() {
|
||||
@@ -916,6 +906,8 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{
|
||||
|
||||
if (!(this.folded && manual)) {
|
||||
this.do_show_secondary($sub_menu, $main_menu);
|
||||
} else {
|
||||
this.do_show_secondary();
|
||||
}
|
||||
|
||||
if ($main_menu != $clicked_menu) {
|
||||
@@ -941,8 +933,15 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{
|
||||
}
|
||||
return false;
|
||||
},
|
||||
do_hide_secondary: function() {
|
||||
this.$secondary_menu.hide();
|
||||
},
|
||||
do_show_secondary: function($sub_menu, $main_menu) {
|
||||
var self = this;
|
||||
this.$secondary_menu.show();
|
||||
if (!arguments.length) {
|
||||
return;
|
||||
}
|
||||
if (this.folded) {
|
||||
var css = $main_menu.position(),
|
||||
fold_width = this.$secondary_menu.width() + 2,
|
||||
@@ -1052,7 +1051,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
|
||||
if(this.action_manager)
|
||||
this.action_manager.stop();
|
||||
this.action_manager = new openerp.web.ActionManager(this);
|
||||
this.action_manager.do_push_state.add(this.do_push_state);
|
||||
this.action_manager.appendTo($("#oe_app"));
|
||||
|
||||
if (openerp._modules_loaded) { // TODO: find better option than this
|
||||
@@ -1067,7 +1065,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
|
||||
},
|
||||
on_logged_out: function() {
|
||||
$(window).unbind('hashchange', this.on_hashchange);
|
||||
this.do_push_state({},true);
|
||||
this.do_push_state({});
|
||||
if(this.action_manager)
|
||||
this.action_manager.stop();
|
||||
this.action_manager = null;
|
||||
@@ -1089,11 +1087,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
|
||||
}
|
||||
this._current_state = state;
|
||||
},
|
||||
do_push_state: function(state, overwrite) {
|
||||
if (!overwrite) {
|
||||
var hash = $.deparam.fragment(true);
|
||||
state = _.extend({}, hash, state);
|
||||
}
|
||||
do_push_state: function(state) {
|
||||
var url = '#' + $.param(state);
|
||||
this._current_state = _.clone(state);
|
||||
$.bbq.pushState(url);
|
||||
|
||||
@@ -811,7 +811,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
|
||||
});
|
||||
|
||||
openerp.web.Model = openerp.web.CallbackEnabled.extend({
|
||||
init: function(_, model_name) {
|
||||
init: function(model_name) {
|
||||
this._super();
|
||||
this.model_name = model_name;
|
||||
},
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
openerp.web.data_export = function(openerp) {
|
||||
var QWeb = openerp.web.qweb;
|
||||
var QWeb = openerp.web.qweb,
|
||||
_t = openerp.web._t;
|
||||
openerp.web.DataExport = openerp.web.Dialog.extend({
|
||||
template: 'ExportTreeView',
|
||||
dialog_title: 'Export Data',
|
||||
dialog_title: {toString: function () { return _t("Export Data"); }},
|
||||
init: function(parent, dataset) {
|
||||
this._super(parent);
|
||||
this.records = {};
|
||||
@@ -18,14 +19,10 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
|
||||
width: '55%',
|
||||
height: 'auto',
|
||||
position: 'top',
|
||||
buttons : {
|
||||
"Close" : function() {
|
||||
self.close();
|
||||
},
|
||||
"Export To File" : function() {
|
||||
self.on_click_export_data();
|
||||
}
|
||||
},
|
||||
buttons : [
|
||||
{text: _t("Close"), click: function() { self.close(); }},
|
||||
{text: _t("Export To File"), click: function() { self.on_click_export_data(); }}
|
||||
],
|
||||
close: function(event, ui){ self.close();}
|
||||
});
|
||||
self.$element.removeClass('ui-dialog-content ui-widget-content');
|
||||
|
||||
@@ -31,7 +31,7 @@ function jsonp(form, attributes, callback) {
|
||||
|
||||
openerp.web.DataImport = openerp.web.Dialog.extend({
|
||||
template: 'ImportDataView',
|
||||
dialog_title: "Import Data",
|
||||
dialog_title: {toString: function () { return _t("Import Data"); }},
|
||||
init: function(parent, dataset){
|
||||
var self = this;
|
||||
this._super(parent, {});
|
||||
|
||||
@@ -155,6 +155,7 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
|
||||
var ext = new openerp.web.search.ExtendedSearch(this, this.model);
|
||||
lines.push([ext]);
|
||||
this.inputs.push(ext);
|
||||
this.extended_search = ext;
|
||||
|
||||
var render = QWeb.render("SearchView", {
|
||||
'view': data.fields_view['arch'],
|
||||
@@ -163,7 +164,6 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
|
||||
});
|
||||
|
||||
this.$element.html(render);
|
||||
this.$element.find(".oe_search-view-custom-filter-btn").click(ext.on_activate);
|
||||
|
||||
var f = this.$element.find('form');
|
||||
this.$element.find('form')
|
||||
@@ -199,6 +199,9 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
|
||||
var select = this.$element.find(".oe_search-view-filters-management");
|
||||
var val = select.val();
|
||||
switch(val) {
|
||||
case 'advanced_filter':
|
||||
this.extended_search.on_activate();
|
||||
break;
|
||||
case 'add_to_dashboard':
|
||||
this.on_add_to_dashboard();
|
||||
break;
|
||||
|
||||
@@ -35,28 +35,19 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||
pager: false,
|
||||
radio: true,
|
||||
select_view_id: self.parent.fields_view.view_id
|
||||
},
|
||||
}
|
||||
};
|
||||
this.view_edit_dialog = new openerp.web.Dialog(this, {
|
||||
modal: true,
|
||||
title: 'ViewEditor',
|
||||
title: _t("ViewEditor"),
|
||||
width: 750,
|
||||
height: 500,
|
||||
buttons: {
|
||||
"Create": function(){
|
||||
self.on_create_view();
|
||||
},
|
||||
"Edit": function(){
|
||||
self.xml_element_id = 0;
|
||||
self.get_arch();
|
||||
},
|
||||
"Remove": function(){
|
||||
self.do_delete_view();
|
||||
},
|
||||
"Close": function(){
|
||||
self.view_edit_dialog.close();
|
||||
}
|
||||
},
|
||||
buttons: [
|
||||
{text: _t("Create"), click: function() { self.on_create_view(); }},
|
||||
{text: _t("Edit"), click: function() { self.xml_element_id = 0; self.get_arch(); }},
|
||||
{text: _t("Remove"), click: function() { self.do_delete_view(); }},
|
||||
{text: _t("Close"), click: function() { self.view_edit_dialog.close(); }}
|
||||
]
|
||||
}).start().open();
|
||||
this.main_view_id = this.parent.fields_view.view_id;
|
||||
this.action_manager = new openerp.web.ActionManager(this);
|
||||
@@ -77,36 +68,34 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||
var self = this;
|
||||
this.create_view_dialog = new openerp.web.Dialog(this, {
|
||||
modal: true,
|
||||
title: _.str.sprintf("Create a view (%s)", self.model),
|
||||
title: _.str.sprintf(_t("Create a view (%s)"), self.model),
|
||||
width: 500,
|
||||
height: 400,
|
||||
buttons: {
|
||||
"Save": function(){
|
||||
var view_values = {};
|
||||
var warn = false;
|
||||
_.each(self.create_view_widget, function(widget) {
|
||||
if (widget.is_invalid) {
|
||||
warn = true;
|
||||
return false;
|
||||
};
|
||||
if (widget.dirty && !widget.is_invalid) {
|
||||
view_values[widget.name] = widget.get_value();
|
||||
}
|
||||
});
|
||||
if (warn) {
|
||||
self.on_valid_create_view(self.create_view_widget);
|
||||
} else {
|
||||
$.when(self.do_save_view(view_values)).then(function() {
|
||||
self.create_view_dialog.close();
|
||||
var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller;
|
||||
controller.reload_content();
|
||||
});
|
||||
buttons: [
|
||||
{text: _t("Save"), click: function () {
|
||||
var view_values = {};
|
||||
var warn = false;
|
||||
_.each(self.create_view_widget, function(widget) {
|
||||
if (widget.is_invalid) {
|
||||
warn = true;
|
||||
return false;
|
||||
}
|
||||
},
|
||||
"Cancel": function(){
|
||||
self.create_view_dialog.close();
|
||||
if (widget.dirty && !widget.is_invalid) {
|
||||
view_values[widget.name] = widget.get_value();
|
||||
}
|
||||
});
|
||||
if (warn) {
|
||||
self.on_valid_create_view(self.create_view_widget);
|
||||
} else {
|
||||
$.when(self.do_save_view(view_values)).then(function() {
|
||||
self.create_view_dialog.close();
|
||||
var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller;
|
||||
controller.reload_content();
|
||||
});
|
||||
}
|
||||
}
|
||||
}},
|
||||
{text: _t("Cancel"), click: function () { self.create_view_dialog.close(); }}
|
||||
]
|
||||
});
|
||||
this.create_view_dialog.start().open();
|
||||
var view_widget = [{'name': 'view_name', 'string':'View Name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)},
|
||||
@@ -375,11 +364,11 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||
this.one_object = one_object;
|
||||
this.edit_xml_dialog = new openerp.web.Dialog(this, {
|
||||
modal: true,
|
||||
title: _.str.sprintf("View Editor %d - %s", self.main_view_id, self.model),
|
||||
title: _.str.sprintf(_t("View Editor %d - %s"), self.main_view_id, self.model),
|
||||
width: 750,
|
||||
height: 500,
|
||||
buttons: {
|
||||
"Preview": function() {
|
||||
buttons: [
|
||||
{text: _t("Preview"), click: function() {
|
||||
var action = {
|
||||
context: self.session.user_context,
|
||||
res_model: self.model,
|
||||
@@ -389,16 +378,16 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||
flags: {
|
||||
sidebar: false,
|
||||
views_switcher: false,
|
||||
action_buttons: false,
|
||||
},
|
||||
action_buttons: false
|
||||
}
|
||||
};
|
||||
var action_manager = new openerp.web.ActionManager(self);
|
||||
action_manager.do_action(action);
|
||||
},
|
||||
"Close": function(){
|
||||
}},
|
||||
{text: _t("Close"), click: function(){
|
||||
self.edit_xml_dialog.close();
|
||||
}
|
||||
}
|
||||
}}
|
||||
]
|
||||
}).start().open();
|
||||
var no_property_att = [];
|
||||
_.each(_PROPERTIES, function(val, key) {
|
||||
@@ -764,17 +753,17 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||
var self = this;
|
||||
this.edit_node_dialog = new openerp.web.Dialog(this,{
|
||||
modal: true,
|
||||
title: 'Properties',
|
||||
title: _t("Properties"),
|
||||
width: 500,
|
||||
height: 400,
|
||||
buttons: {
|
||||
"Update": function(){
|
||||
buttons: [
|
||||
{text: _t("Update"), click: function () {
|
||||
var warn = false, update_values = [];
|
||||
_.each(self.edit_widget, function(widget) {
|
||||
if (widget.is_invalid) {
|
||||
warn = true;
|
||||
return false;
|
||||
};
|
||||
}
|
||||
if (widget.dirty && !widget.is_invalid) {
|
||||
update_values.push([widget.name, widget.get_value()]);
|
||||
}
|
||||
@@ -785,11 +774,9 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||
self.do_save_update_arch("update_node", update_values);
|
||||
self.edit_node_dialog.close();
|
||||
}
|
||||
},
|
||||
"Cancel": function(){
|
||||
self.edit_node_dialog.close();
|
||||
}
|
||||
}
|
||||
}},
|
||||
{text: _t("Cancel"), click: function () { self.edit_node_dialog.close(); }}
|
||||
]
|
||||
});
|
||||
this.edit_node_dialog.start().open();
|
||||
var _PROPERTIES_ATTRIBUTES = {
|
||||
@@ -893,32 +880,32 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||
this.add_widget = [];
|
||||
this.add_node_dialog = new openerp.web.Dialog(this,{
|
||||
modal: true,
|
||||
title: 'Properties',
|
||||
title: _t("Properties"),
|
||||
width: 450,
|
||||
height: 190,
|
||||
buttons: {
|
||||
"Update": function(){
|
||||
var check_add_node = true, values = {};
|
||||
_.each(self.add_widget, function(widget) {
|
||||
values[widget.name] = widget.get_value() || false;
|
||||
});
|
||||
(values.position == "Inside")?
|
||||
check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false:
|
||||
check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false;
|
||||
if(values.node_type == "field" && check_add_node )
|
||||
{check_add_node = (values.field_value != " ")?true:false;
|
||||
}
|
||||
if(check_add_node){
|
||||
var tag = (values.node_type == "field")?
|
||||
_.str.sprintf("<%s name='%s'> </%s>",values.node_type,values.field_value,values.node_type):
|
||||
_.str.sprintf("<%s> </%s>",values.node_type,values.node_type);
|
||||
self.do_save_update_arch("add_node", [tag, values.position]);
|
||||
}else{alert("Can't Update View");}
|
||||
},
|
||||
"Cancel": function(){
|
||||
self.add_node_dialog.close();
|
||||
buttons: [
|
||||
{text: _t("Update"), click: function() {
|
||||
var check_add_node = true, values = {};
|
||||
_.each(self.add_widget, function(widget) {
|
||||
values[widget.name] = widget.get_value() || false;
|
||||
});
|
||||
(values.position == "Inside")?
|
||||
check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false:
|
||||
check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false;
|
||||
if(values.node_type == "field" && check_add_node )
|
||||
{check_add_node = (values.field_value != " ")?true:false;
|
||||
}
|
||||
}
|
||||
if(check_add_node){
|
||||
var tag = (values.node_type == "field")?
|
||||
_.str.sprintf("<%s name='%s'> </%s>",values.node_type,values.field_value,values.node_type):
|
||||
_.str.sprintf("<%s> </%s>",values.node_type,values.node_type);
|
||||
self.do_save_update_arch("add_node", [tag, values.position]);
|
||||
} else {
|
||||
alert("Can't Update View");
|
||||
}
|
||||
}},
|
||||
{text: _t("Cancel"), click: function() { self.add_node_dialog.close(); }}
|
||||
]
|
||||
}).start().open();
|
||||
this.add_node_dialog.$element.append('<table id="rec_table" style="width:420px" class="oe_forms"><tbody><tr></tbody></table>');
|
||||
var table_selector = self.add_node_dialog.$element.find('table[id=rec_table] tbody');
|
||||
|
||||
@@ -132,7 +132,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||
return promise;
|
||||
},
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
this._super();
|
||||
if (this.sidebar) {
|
||||
this.sidebar.$element.hide();
|
||||
}
|
||||
@@ -140,7 +140,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||
on_record_loaded: function(record) {
|
||||
var self = this, set_values = [];
|
||||
if (!record) {
|
||||
throw("Form: No record received");
|
||||
throw new Error("Form: No record received");
|
||||
}
|
||||
this.datarecord = record;
|
||||
|
||||
@@ -175,6 +175,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||
if (self.default_focus_field && !self.embedded_view) {
|
||||
self.default_focus_field.focus();
|
||||
}
|
||||
if (record.id) {
|
||||
self.do_push_state({id:record.id});
|
||||
}
|
||||
});
|
||||
},
|
||||
on_form_changed: function() {
|
||||
@@ -334,11 +337,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||
if (!_.isEmpty(result.warning)) {
|
||||
$(QWeb.render("DialogWarning", result.warning)).dialog({
|
||||
modal: true,
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
buttons: [
|
||||
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
|
||||
]
|
||||
});
|
||||
}
|
||||
if (result.domain) {
|
||||
@@ -619,14 +620,14 @@ openerp.web.form.SidebarAttachments = openerp.web.Widget.extend({
|
||||
var $e = $(e.target);
|
||||
if ($e.val() != '') {
|
||||
this.$element.find('form.oe-binary-form').submit();
|
||||
$e.parent().find('input[type=file]').attr('disabled', 'true');
|
||||
$e.parent().find('button').attr('disabled', 'true').find('img, span').toggle();
|
||||
$e.parent().find('input[type=file]').prop('disabled', true);
|
||||
$e.parent().find('button').prop('disabled', true).find('img, span').toggle();
|
||||
}
|
||||
},
|
||||
on_attachment_delete: function(e) {
|
||||
var self = this, $e = $(e.currentTarget);
|
||||
var name = _.str.trim($e.parent().find('a.oe-sidebar-attachments-link').text());
|
||||
if (confirm("Do you really want to delete the attachment " + name + " ?")) {
|
||||
if (confirm(_.sprintf(_t("Do you really want to delete the attachment %s?"), name))) {
|
||||
this.rpc('/web/dataset/unlink', {
|
||||
model: 'ir.attachment',
|
||||
ids: [parseInt($e.attr('data-id'))]
|
||||
@@ -1048,20 +1049,22 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({
|
||||
if (self.node.attrs.confirm) {
|
||||
var def = $.Deferred();
|
||||
var dialog = $('<div>' + self.node.attrs.confirm + '</div>').dialog({
|
||||
title: 'Confirm',
|
||||
title: _t('Confirm'),
|
||||
modal: true,
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
self.on_confirmed().then(function() {
|
||||
def.resolve();
|
||||
});
|
||||
$(this).dialog("close");
|
||||
buttons: [
|
||||
{text: _t("Ok"), click: function() {
|
||||
self.on_confirmed().then(function() {
|
||||
def.resolve();
|
||||
});
|
||||
$(this).dialog("close");
|
||||
}
|
||||
},
|
||||
Cancel: function() {
|
||||
def.resolve();
|
||||
$(this).dialog("close");
|
||||
{text: _t("Cancel"), click: function() {
|
||||
def.resolve();
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
return def.promise();
|
||||
} else {
|
||||
@@ -1094,13 +1097,9 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({
|
||||
this.check_disable();
|
||||
},
|
||||
check_disable: function() {
|
||||
if (this.readonly || this.force_disabled || !this.view.is_interactible_record()) {
|
||||
this.$element.find("button").attr("disabled", "disabled");
|
||||
this.$element.find("button").css("color", "grey");
|
||||
} else {
|
||||
this.$element.find("button").removeAttr("disabled");
|
||||
this.$element.find("button").css("color", "");
|
||||
}
|
||||
var disabled = (this.readonly || this.force_disabled || !this.view.is_interactible_record());
|
||||
this.$element.find('button').prop('disabled', disabled);
|
||||
this.$element.find("button").css('color', disabled ? 'grey' : '');
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1268,7 +1267,7 @@ openerp.web.form.FieldChar = openerp.web.form.Field.extend({
|
||||
},
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$element.find('input').attr('disabled', this.readonly);
|
||||
this.$element.find('input').prop('disabled', this.readonly);
|
||||
},
|
||||
set_value_from_ui: function() {
|
||||
this.value = openerp.web.parse_value(this.$element.find('input').val(), this);
|
||||
@@ -1392,7 +1391,7 @@ openerp.web.DateTimeWidget = openerp.web.Widget.extend({
|
||||
},
|
||||
set_readonly: function(readonly) {
|
||||
this.readonly = readonly;
|
||||
this.$input.attr('disabled', this.readonly);
|
||||
this.$input.prop('disabled', this.readonly);
|
||||
this.$element.find('img.oe_datepicker_trigger').toggleClass('oe_input_icon_disabled', readonly);
|
||||
},
|
||||
is_valid: function(required) {
|
||||
@@ -1479,7 +1478,7 @@ openerp.web.form.FieldText = openerp.web.form.Field.extend({
|
||||
},
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$element.find('textarea').attr('disabled', this.readonly);
|
||||
this.$element.find('textarea').prop('disabled', this.readonly);
|
||||
},
|
||||
set_value_from_ui: function() {
|
||||
this.value = openerp.web.parse_value(this.$element.find('textarea').val(), this);
|
||||
@@ -1516,7 +1515,7 @@ openerp.web.form.FieldBoolean = openerp.web.form.Field.extend({
|
||||
},
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$element.find('input').attr('disabled', this.readonly);
|
||||
this.$element.find('input').prop('disabled', this.readonly);
|
||||
},
|
||||
focus: function() {
|
||||
this.$element.find('input').focus();
|
||||
@@ -1599,7 +1598,7 @@ openerp.web.form.FieldSelection = openerp.web.form.Field.extend({
|
||||
},
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$element.find('select').attr('disabled', this.readonly);
|
||||
this.$element.find('select').prop('disabled', this.readonly);
|
||||
},
|
||||
validate: function() {
|
||||
var value = this.values[this.$element.find('select')[0].selectedIndex];
|
||||
@@ -1948,7 +1947,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({
|
||||
},
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$input.attr('disabled', this.readonly);
|
||||
this.$input.prop('disabled', this.readonly);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2059,7 +2058,9 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||
});
|
||||
this.views = views;
|
||||
|
||||
this.viewmanager = new openerp.web.ViewManager(this, this.dataset, views);
|
||||
this.viewmanager = new openerp.web.ViewManager(this, this.dataset, views, {
|
||||
action_buttons : false
|
||||
});
|
||||
this.viewmanager.template = 'One2Many.viewmanager';
|
||||
this.viewmanager.registry = openerp.web.views.clone({
|
||||
list: 'openerp.web.form.One2ManyListView',
|
||||
@@ -2087,7 +2088,6 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||
controller.on_pager_action.add_first(function() {
|
||||
self.save_any_view();
|
||||
});
|
||||
controller.$element.find(".oe_form_button_save").hide();
|
||||
} else if (view_type == "graph") {
|
||||
self.reload_current_view()
|
||||
}
|
||||
@@ -2374,7 +2374,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({
|
||||
load_view: function() {
|
||||
var self = this;
|
||||
this.list_view = new openerp.web.form.Many2ManyListView(this, this.dataset, false, {
|
||||
'addable': self.is_readonly() ? null : 'Add',
|
||||
'addable': self.is_readonly() ? null : _t("Add"),
|
||||
'deletable': self.is_readonly() ? false : true,
|
||||
'selectable': self.multi_selection
|
||||
});
|
||||
@@ -2905,7 +2905,7 @@ openerp.web.form.FieldBinaryFile = openerp.web.form.FieldBinary.extend({
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$element.find('.oe-binary-file-set, .oe-binary-file-clear').toggle(!this.readonly);
|
||||
this.$element.find('input[type=text]').attr('disabled', this.readonly);
|
||||
this.$element.find('input[type=text]').prop('disabled', this.readonly);
|
||||
},
|
||||
set_value: function(value) {
|
||||
this._super.apply(this, arguments);
|
||||
|
||||
@@ -12,7 +12,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
|
||||
// whether the column headers should be displayed
|
||||
'header': true,
|
||||
// display addition button, with that label
|
||||
'addable': _t("Create"),
|
||||
'addable': {toString: function () { return _t("Create"); }},
|
||||
// whether the list view can be sorted, note that once a view has been
|
||||
// sorted it can not be reordered anymore
|
||||
'sortable': true,
|
||||
@@ -79,6 +79,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
|
||||
self.compute_aggregates();
|
||||
});
|
||||
|
||||
this.no_leaf = false;
|
||||
},
|
||||
/**
|
||||
* Retrieves the view's number of records per page (|| section)
|
||||
@@ -401,13 +402,13 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
|
||||
}, this));
|
||||
},
|
||||
do_show: function () {
|
||||
this.$element.show();
|
||||
this._super();
|
||||
if (this.sidebar) {
|
||||
this.sidebar.$element.show();
|
||||
}
|
||||
},
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
this._super();
|
||||
if (this.sidebar) {
|
||||
this.sidebar.$element.hide();
|
||||
}
|
||||
@@ -473,6 +474,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
|
||||
if (_.isEmpty(group_by) && !context['group_by_no_leaf']) {
|
||||
group_by = null;
|
||||
}
|
||||
this.no_leaf = !!context['group_by_no_leaf'];
|
||||
|
||||
this.reload_view(!!group_by, context).then(
|
||||
$.proxy(this, 'reload_content'));
|
||||
|
||||
@@ -102,9 +102,10 @@ openerp.web.page = function (openerp) {
|
||||
this._super(s[2]);
|
||||
}
|
||||
});
|
||||
openerp.web.page.FieldBooleanReadonly = openerp.web.page.FieldCharReadonly.extend({
|
||||
set_value: function (value) {
|
||||
this._super(value ? '\u2611' : '\u2610');
|
||||
openerp.web.page.FieldBooleanReadonly = openerp.web.form.FieldBoolean.extend({
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$element.find('input').prop('disabled', true);
|
||||
}
|
||||
});
|
||||
openerp.web.page.FieldSelectionReadonly = openerp.web.page.FieldReadonly.extend({
|
||||
|
||||
@@ -20,6 +20,7 @@ session.web.ActionManager = session.web.Widget.extend({
|
||||
identifier_prefix: "actionmanager",
|
||||
init: function(parent) {
|
||||
this._super(parent);
|
||||
this.inner_action = null;
|
||||
this.inner_viewmanager = null;
|
||||
this.dialog = null;
|
||||
this.dialog_viewmanager = null;
|
||||
@@ -46,10 +47,14 @@ session.web.ActionManager = session.web.Widget.extend({
|
||||
this.client_widget = null;
|
||||
}
|
||||
},
|
||||
|
||||
do_push_state: function(state, overwrite) {
|
||||
do_push_state: function(state) {
|
||||
if (this.widget_parent && this.widget_parent.do_push_state) {
|
||||
if (this.inner_action && this.inner_action.id) {
|
||||
state['action_id'] = this.inner_action.id;
|
||||
}
|
||||
this.widget_parent.do_push_state(state);
|
||||
}
|
||||
},
|
||||
|
||||
do_load_state: function(state) {
|
||||
if (state.action_id) {
|
||||
this.null_action();
|
||||
@@ -69,7 +74,6 @@ session.web.ActionManager = session.web.Widget.extend({
|
||||
this.inner_viewmanager.do_load_state(state);
|
||||
}
|
||||
},
|
||||
|
||||
do_action: function(action, on_close) {
|
||||
if (_.isNumber(action)) {
|
||||
var self = this;
|
||||
@@ -128,10 +132,6 @@ session.web.ActionManager = session.web.Widget.extend({
|
||||
this.content_stop();
|
||||
this.inner_action = action;
|
||||
this.inner_viewmanager = new session.web.ViewManagerAction(this, action);
|
||||
this.inner_viewmanager.do_push_state.add(function(state,overwrite) {
|
||||
state['action_id'] = action.id;
|
||||
self.do_push_state(state,true);
|
||||
});
|
||||
this.inner_viewmanager.appendTo(this.$element);
|
||||
}
|
||||
},
|
||||
@@ -152,12 +152,9 @@ session.web.ActionManager = session.web.Widget.extend({
|
||||
},
|
||||
ir_actions_client: function (action) {
|
||||
this.content_stop();
|
||||
this.dialog_stop();
|
||||
var ClientWidget = session.web.client_actions.get_object(action.tag);
|
||||
(this.client_widget = new ClientWidget(this, action.params)).appendTo(this);
|
||||
|
||||
var client_action = {tag: action.tag};
|
||||
if (action.params) _.extend(client_action, {params: action.params});
|
||||
this.do_push_state({client_action: client_action}, true);
|
||||
},
|
||||
ir_actions_report_xml: function(action, on_closed) {
|
||||
var self = this;
|
||||
@@ -200,7 +197,7 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View
|
||||
* @param dataset
|
||||
* @param views
|
||||
*/
|
||||
init: function(parent, dataset, views) {
|
||||
init: function(parent, dataset, views, flags) {
|
||||
this._super(parent);
|
||||
this.model = dataset ? dataset.model : undefined;
|
||||
this.dataset = dataset;
|
||||
@@ -208,7 +205,7 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View
|
||||
this.active_view = null;
|
||||
this.views_src = _.map(views, function(x) {return x instanceof Array? {view_id: x[0], view_type: x[1]} : x;});
|
||||
this.views = {};
|
||||
this.flags = this.flags || {};
|
||||
this.flags = flags || {};
|
||||
this.registry = session.web.views;
|
||||
this.views_history = [];
|
||||
},
|
||||
@@ -314,8 +311,6 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View
|
||||
});
|
||||
return view_promise;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Returns to the view preceding the caller view in this manager's
|
||||
* navigation history (the navigation history is appended to via
|
||||
@@ -391,7 +386,8 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View
|
||||
/**
|
||||
* Called by children view after executing an action
|
||||
*/
|
||||
on_action_executed: function () {},
|
||||
on_action_executed: function () {
|
||||
},
|
||||
display_title: function () {
|
||||
var view = this.views[this.active_view];
|
||||
if (view) {
|
||||
@@ -415,19 +411,10 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
|
||||
// dataset initialization will take the session from ``this``, so if we
|
||||
// do not have it yet (and we don't, because we've not called our own
|
||||
// ``_super()``) rpc requests will blow up.
|
||||
this._super(parent, null, action.views);
|
||||
this.session = parent.session;
|
||||
this.action = action;
|
||||
var dataset = new session.web.DataSetSearch(this, action.res_model, action.context, action.domain);
|
||||
if (action.res_id) {
|
||||
dataset.ids.push(action.res_id);
|
||||
dataset.index = 0;
|
||||
}
|
||||
this.dataset = dataset;
|
||||
this.flags = this.action.flags || {};
|
||||
var flags = action.flags || {};
|
||||
if (action.res_model == 'board.board' && action.view_mode === 'form') {
|
||||
// Special case for Dashboards
|
||||
_.extend(this.flags, {
|
||||
_.extend(flags, {
|
||||
views_switcher : false,
|
||||
display_title : false,
|
||||
search_view : false,
|
||||
@@ -436,6 +423,15 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
|
||||
action_buttons : false
|
||||
});
|
||||
}
|
||||
this._super(parent, null, action.views, flags);
|
||||
this.session = parent.session;
|
||||
this.action = action;
|
||||
var dataset = new session.web.DataSetSearch(this, action.res_model, action.context, action.domain);
|
||||
if (action.res_id) {
|
||||
dataset.ids.push(action.res_id);
|
||||
dataset.index = 0;
|
||||
}
|
||||
this.dataset = dataset;
|
||||
|
||||
// setup storage for session-wise menu hiding
|
||||
if (this.session.hidden_menutips) {
|
||||
@@ -466,12 +462,6 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
|
||||
|
||||
var main_view_loaded = this._super();
|
||||
|
||||
_.each(_.keys(this.views), function(view_type) {
|
||||
$.when(self.views[view_type].deferred).done(function(view_type) {
|
||||
self.views[view_type].controller.do_push_state.add(self.do_push_state);
|
||||
});
|
||||
});
|
||||
|
||||
var manager_ready = $.when(searchview_loaded, main_view_loaded);
|
||||
|
||||
this.$element.find('.oe_debug_view').change(this.on_debug_changed);
|
||||
@@ -584,21 +574,20 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
|
||||
} else {
|
||||
$search_prefix.remove();
|
||||
}
|
||||
|
||||
self.do_push_state({view_type: self.active_view});
|
||||
});
|
||||
},
|
||||
|
||||
do_push_state: function(state, overwrite) {
|
||||
do_push_state: function(state) {
|
||||
if (this.widget_parent && this.widget_parent.do_push_state) {
|
||||
state["view_type"] = this.active_view;
|
||||
this.widget_parent.do_push_state(state);
|
||||
}
|
||||
},
|
||||
|
||||
do_load_state: function(state) {
|
||||
var self = this;
|
||||
$.when(this.on_mode_switch(state.view_type, true)).done(function() {
|
||||
self.views[self.active_view].controller.do_load_state(state);
|
||||
});
|
||||
},
|
||||
|
||||
shortcut_check : function(view) {
|
||||
var self = this;
|
||||
var grandparent = this.widget_parent && this.widget_parent.widget_parent;
|
||||
@@ -851,7 +840,7 @@ session.web.Sidebar = session.web.Widget.extend({
|
||||
});
|
||||
|
||||
session.web.TranslateDialog = session.web.Dialog.extend({
|
||||
dialog_title: _t("Translations"),
|
||||
dialog_title: {toString: function () { return _t("Translations"); }},
|
||||
init: function(view) {
|
||||
// TODO fme: should add the language to fields_view_get because between the fields view get
|
||||
// and the moment the user opens the translation dialog, the user language could have been changed
|
||||
@@ -1064,19 +1053,34 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{
|
||||
this.embedded_view = embedded_view;
|
||||
this.options.sidebar = false;
|
||||
},
|
||||
do_show: function () {
|
||||
this.$element.show();
|
||||
this.do_push_state({});
|
||||
},
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
},
|
||||
do_push_state: function(state) {
|
||||
if (this.widget_parent && this.widget_parent.do_push_state) {
|
||||
this.widget_parent.do_push_state(state);
|
||||
}
|
||||
},
|
||||
do_load_state: function(state) {
|
||||
},
|
||||
/**
|
||||
* Switches to a specific view type
|
||||
*
|
||||
* @param {String} view view type to switch to
|
||||
*/
|
||||
do_switch_view: function(view) { },
|
||||
do_switch_view: function(view) {
|
||||
},
|
||||
/**
|
||||
* Cancels the switch to the current view, switches to the previous one
|
||||
*/
|
||||
do_prev_view: function () { },
|
||||
do_prev_view: function () {
|
||||
},
|
||||
do_search: function(view) {
|
||||
},
|
||||
|
||||
set_common_sidebar_sections: function(sidebar) {
|
||||
sidebar.add_default_sections();
|
||||
},
|
||||
@@ -1144,12 +1148,6 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{
|
||||
},
|
||||
sidebar_context: function () {
|
||||
return $.Deferred().resolve({}).promise();
|
||||
},
|
||||
|
||||
do_push_state: function(state, overwrite) {
|
||||
},
|
||||
|
||||
do_load_state: function(state) {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -483,6 +483,10 @@
|
||||
</t>
|
||||
<t t-extend="ViewManager" t-name="One2Many.viewmanager">
|
||||
<t t-jquery="span.oe_view_title_text" t-operation="replace"/>
|
||||
|
||||
<t t-jquery=".oe-view-manager-header">
|
||||
this.attr('t-if', 'views.length != 1');
|
||||
</t>
|
||||
</t>
|
||||
|
||||
<t t-name="Sidebar">
|
||||
@@ -569,7 +573,7 @@
|
||||
<th t-att-colspan="columns_count">
|
||||
<table>
|
||||
<tr>
|
||||
<td t-if="options.action_buttons !== false" class="oe-actions">
|
||||
<td t-if="!no_leaf and options.action_buttons !== false" class="oe-actions">
|
||||
<button type="button" class="oe-list-add"
|
||||
t-if="options.addable">
|
||||
<t t-esc="options.addable"/>
|
||||
@@ -619,6 +623,9 @@
|
||||
<t t-jquery="thead.ui-widget-header > tr:first">
|
||||
this.removeAttr('t-if');
|
||||
</t>
|
||||
|
||||
<t t-jquery="tfoot > tr:last-child" t-operation="replace"/>
|
||||
|
||||
<t t-jquery="td.oe-actions">
|
||||
this.removeAttr('t-if');
|
||||
var $title = $(document.createElement('h3')).addClass('oe_view_title');
|
||||
@@ -627,7 +634,7 @@
|
||||
this.prepend($title);
|
||||
</t>
|
||||
</t>
|
||||
<th t-name="Listview.navigation.button" t-if="options.pager !== false"
|
||||
<th t-name="Listview.navigation.button" t-if="!no_leaf and options.pager !== false"
|
||||
class="oe-list-pager" t-att-colspan="columns_count">
|
||||
<button type="button" disabled="disabled"
|
||||
data-pager-action="first">First</button>
|
||||
@@ -1148,7 +1155,6 @@
|
||||
<div class="oe_search-view-buttons">
|
||||
<button>Search</button>
|
||||
<button type="reset">Clear</button>
|
||||
<button type="button" class="oe_search-view-custom-filter-btn"><span>Advanced Filter</span></button>
|
||||
<select class="oe_search-view-filters-management">
|
||||
</select>
|
||||
</div>
|
||||
@@ -1162,6 +1168,7 @@
|
||||
</t>
|
||||
</optgroup>
|
||||
<optgroup label="-- Actions --">
|
||||
<option value="advanced_filter">Advanced Filter</option>
|
||||
<option value="save_filter">Save Filter</option>
|
||||
<option value="add_to_dashboard">Add to Dashboard</option>
|
||||
<option value="manage_filters">Manage Filters</option>
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,11 +17,11 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 0.9.6\n"
|
||||
|
||||
#: addons/web_calendar/static/src/js/calendar.js:412
|
||||
#: addons/web_calendar/static/src/js/calendar.js:444
|
||||
msgid "Responsible"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_calendar/static/src/js/calendar.js:441
|
||||
#: addons/web_calendar/static/src/js/calendar.js:473
|
||||
msgid "Navigator"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||
// Dhtmlx scheduler ?
|
||||
init: function(parent, dataset, view_id, options) {
|
||||
this._super(parent);
|
||||
this.ready = $.Deferred();
|
||||
this.set_default_options(options);
|
||||
this.dataset = dataset;
|
||||
this.model = dataset.model;
|
||||
@@ -26,6 +27,9 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||
'#905000', '#9b0000', '#840067', '#510090', '#0000c9', '#009b00', '#9abe00', '#ffc900' ];
|
||||
this.color_map = {};
|
||||
this.last_search = [];
|
||||
this.range_start = null;
|
||||
this.range_stop = null;
|
||||
this.update_range_dates(Date.today());
|
||||
},
|
||||
start: function() {
|
||||
this._super();
|
||||
@@ -126,9 +130,8 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||
scheduler.attachEvent('onClick', this.do_edit_event);
|
||||
scheduler.attachEvent('onLightbox', this.do_edit_event);
|
||||
|
||||
scheduler.attachEvent('onViewChange', function(mode, date) {
|
||||
self.$element.removeClass('oe_cal_day oe_cal_week oe_cal_month').addClass('oe_cal_' + mode);
|
||||
});
|
||||
scheduler.attachEvent('onViewChange', this.on_view_changed);
|
||||
this.refresh_scheduler();
|
||||
|
||||
if (this.options.sidebar) {
|
||||
this.mini_calendar = scheduler.renderCalendar({
|
||||
@@ -141,6 +144,18 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||
});
|
||||
}
|
||||
},
|
||||
on_view_changed: function(mode, date) {
|
||||
this.$element.removeClass('oe_cal_day oe_cal_week oe_cal_month').addClass('oe_cal_' + mode);
|
||||
if (!date.between(this.range_start, this.range_stop)) {
|
||||
this.update_range_dates(date);
|
||||
this.do_ranged_search();
|
||||
}
|
||||
this.ready.resolve();
|
||||
},
|
||||
update_range_dates: function(date) {
|
||||
this.range_start = date.clone().moveToFirstDayOfMonth();
|
||||
this.range_stop = this.range_start.clone().addMonths(1).addSeconds(-1);
|
||||
},
|
||||
refresh_scheduler: function() {
|
||||
scheduler.setCurrentView(scheduler._date);
|
||||
},
|
||||
@@ -345,23 +360,30 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||
return data;
|
||||
},
|
||||
do_search: function(domain, context, group_by) {
|
||||
this.last_search = arguments;
|
||||
this.do_ranged_search();
|
||||
},
|
||||
do_ranged_search: function() {
|
||||
var self = this
|
||||
if (!domain) {
|
||||
this.do_search.apply(this, this.last_search);
|
||||
} else {
|
||||
this.last_search = [domain, context, group_by];
|
||||
}
|
||||
scheduler.clearAll();
|
||||
$.when(this.has_been_loaded).then(function() {
|
||||
$.when(this.has_been_loaded, this.ready).then(function() {
|
||||
self.dataset.read_slice(_.keys(self.fields), {
|
||||
offset: 0,
|
||||
limit: self.limit
|
||||
domain: self.get_range_domain(),
|
||||
context: self.last_search[1]
|
||||
}, function(events) {
|
||||
self.dataset_events = events;
|
||||
self.on_events_loaded(events);
|
||||
});
|
||||
});
|
||||
},
|
||||
get_range_domain: function() {
|
||||
var format = openerp.web.date_to_str,
|
||||
domain = this.last_search[0].slice(0);
|
||||
domain.unshift([this.date_start, '>=', format(this.range_start.clone().addDays(-6))]);
|
||||
domain.unshift([this.date_start, '<=', format(this.range_stop.clone().addDays(6))]);
|
||||
return domain;
|
||||
},
|
||||
do_show: function () {
|
||||
var self = this;
|
||||
$.when(this.has_been_loaded).then(function() {
|
||||
@@ -372,7 +394,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||
});
|
||||
},
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
this._super();
|
||||
if (this.sidebar) {
|
||||
this.sidebar.$element.hide();
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,6 +17,10 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 0.9.6\n"
|
||||
|
||||
#: addons/web_dashboard/static/src/js/dashboard.js:63
|
||||
msgid "Edit Layout"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
@@ -39,6 +39,11 @@
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
.openerp .oe_dashboard_button_create {
|
||||
margin-left: 4px;
|
||||
padding: 0 4px 0 4px;
|
||||
}
|
||||
|
||||
.openerp a.oe-dashboard-action-rename {
|
||||
float: left;
|
||||
padding-right: 4px;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
openerp.web_dashboard = function(openerp) {
|
||||
var QWeb = openerp.web.qweb;
|
||||
var QWeb = openerp.web.qweb,
|
||||
_t = openerp.web._t;
|
||||
|
||||
if (!openerp.web_dashboard) {
|
||||
/** @namespace */
|
||||
@@ -59,7 +60,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({
|
||||
};
|
||||
var $dialog = $('<div>').dialog({
|
||||
modal: true,
|
||||
title: 'Edit Layout',
|
||||
title: _t("Edit Layout"),
|
||||
width: 'auto',
|
||||
height: 'auto'
|
||||
}).html(QWeb.render('DashBoard.layouts', qdict));
|
||||
@@ -149,12 +150,13 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({
|
||||
view_mode = action_attrs.view_mode;
|
||||
|
||||
if (action_attrs.context) {
|
||||
action.context = action_attrs.context;
|
||||
action.context = _.extend((action.context || {}), action_attrs.context);
|
||||
}
|
||||
if (action_attrs.domain) {
|
||||
action.domain = action_attrs.domain;
|
||||
action.domain = action.domain || [];
|
||||
action.domain.unshift.apply(action.domain, action_attrs.domain);
|
||||
}
|
||||
var action_orig = _.extend({}, action);
|
||||
var action_orig = _.extend({ flags : {} }, action);
|
||||
|
||||
if (view_mode && view_mode != action.view_mode) {
|
||||
var action_view_mode = action.view_mode.split(',');
|
||||
@@ -195,7 +197,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({
|
||||
var action_id = parseInt(action_attrs.creatable, 10);
|
||||
$action.parent().find('button.oe_dashboard_button_create').click(function() {
|
||||
if (isNaN(action_id)) {
|
||||
action.flags.default_view = 'form';
|
||||
action_orig.flags.default_view = 'form';
|
||||
self.do_action(action_orig);
|
||||
} else {
|
||||
self.rpc('/web/action/load', {
|
||||
@@ -397,8 +399,8 @@ openerp.web_dashboard.ApplicationTiles = openerp.web.Widget.extend({
|
||||
this._super(parent);
|
||||
},
|
||||
start: function() {
|
||||
// TODO menu hide
|
||||
var self = this;
|
||||
openerp.webclient.menu.do_hide_secondary();
|
||||
var domain = [['application','=',true], ['state','=','installed'], ['name', '!=', 'base']];
|
||||
var ds = new openerp.web.DataSetSearch(this, 'ir.module.module',{},domain);
|
||||
ds.read_slice(['id'], {}, function(result) {
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
<h2 t-attf-class="oe-dashboard-action-header #{action.attrs.string ? '' : 'oe-dashboard-action-header-empty'}">
|
||||
<t t-esc="action.attrs.string"/>
|
||||
<t t-if="!action.attrs.string">&nbsp;</t>
|
||||
<button t-if="action.attrs.creatable and action.attrs.creatable !== 'false'" class="oe_dashboard_button_create">Create</button>
|
||||
<span class='ui-icon ui-icon-closethick'></span>
|
||||
<span class='ui-icon ui-icon-minusthick oe-dashboard-fold' t-if="!action.attrs.fold"></span>
|
||||
<span class='ui-icon ui-icon-plusthick oe-dashboard-fold' t-if="action.attrs.fold"></span>
|
||||
</h2>
|
||||
<button t-if="action.attrs.creatable and action.attrs.creatable !== 'false'" class="oe_dashboard_button_create">Create</button>
|
||||
<div t-attf-id="#{view.element_id}_action_#{column_index}_#{action_index}" class="oe-dashboard-action-content" t-att-style="action.attrs.fold ? 'display: none' : null"></div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,6 +17,14 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 0.9.6\n"
|
||||
|
||||
#: addons/web_diagram/static/src/js/diagram.js:208
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_diagram/static/src/js/diagram.js:209
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: addons/web_diagram/static/src/xml/base_diagram.xml:0
|
||||
msgid "New Node"
|
||||
msgstr ""
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
*---------------------------------------------------------*/
|
||||
|
||||
openerp.web_diagram = function (openerp) {
|
||||
var QWeb = openerp.web.qweb;
|
||||
var QWeb = openerp.web.qweb,
|
||||
_t = openerp.web._t;
|
||||
openerp.web.views.add('diagram', 'openerp.web.DiagramView');
|
||||
openerp.web.DiagramView = openerp.web.View.extend({
|
||||
searchable: false,
|
||||
@@ -203,19 +204,18 @@ openerp.web.DiagramView = openerp.web.View.extend({
|
||||
var dialog = new openerp.web.Dialog(this, {
|
||||
width: 800,
|
||||
height: 600,
|
||||
buttons : {
|
||||
Cancel : function() {
|
||||
$(this).dialog('destroy');
|
||||
},
|
||||
Save : function() {
|
||||
var form_view = action_manager.inner_viewmanager.views.form.controller;
|
||||
buttons : [
|
||||
{text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }},
|
||||
{text: _t("Save"), click: function() {
|
||||
var form_view = action_manager.inner_viewmanager.views.form.controller;
|
||||
|
||||
form_view.do_save(function() {
|
||||
self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded);
|
||||
});
|
||||
$(this).dialog('destroy');
|
||||
form_view.do_save(function() {
|
||||
self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded);
|
||||
});
|
||||
$(this).dialog('destroy');
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}).start().open();
|
||||
action_manager.appendTo(dialog.$element);
|
||||
action_manager.do_action({
|
||||
@@ -298,14 +298,6 @@ openerp.web.DiagramView = openerp.web.View.extend({
|
||||
}
|
||||
$pager.find('span.oe_pager_index').html(index);
|
||||
$pager.find('span.oe_pager_count').html(this.dataset.count);
|
||||
},
|
||||
|
||||
do_show: function () {
|
||||
this.$element.show();
|
||||
},
|
||||
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -459,14 +459,6 @@ openerp.web_gantt.GanttView = openerp.web.View.extend({
|
||||
}
|
||||
},
|
||||
|
||||
do_show: function () {
|
||||
this.$element.show();
|
||||
},
|
||||
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
},
|
||||
|
||||
convert_str_date: function (str) {
|
||||
if (typeof str == 'string') {
|
||||
if (str.length == 19) {
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -37,12 +37,6 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
}
|
||||
this._super();
|
||||
},
|
||||
do_show: function () {
|
||||
this.$element.show();
|
||||
},
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
},
|
||||
start: function() {
|
||||
var self = this;
|
||||
this._super();
|
||||
@@ -177,19 +171,20 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
graph_data = _(graph_data).sortBy(function (point) {
|
||||
return point[self.abscissa] + '[[--]]' + point[self.group_field];
|
||||
});
|
||||
|
||||
if (this.chart == 'bar') {
|
||||
return this.schedule_bar(graph_data);
|
||||
if (this.chart == 'bar' || 'line' || 'area') {
|
||||
return this.schedule_bar_line_area(graph_data);
|
||||
} else if (this.chart == "pie") {
|
||||
return this.schedule_pie(graph_data);
|
||||
}
|
||||
},
|
||||
|
||||
schedule_bar: function(results) {
|
||||
schedule_bar_line_area: function(results) {
|
||||
var self = this;
|
||||
var group_list, view_chart;
|
||||
var group_list,
|
||||
view_chart = (self.chart == 'line')?'line':(self.chart == 'area')?'area':'';
|
||||
if (!this.group_field) {
|
||||
view_chart = (this.orientation === 'horizontal') ? 'barH' : 'bar';
|
||||
if (self.chart == 'bar'){
|
||||
view_chart = (this.orientation === 'horizontal') ? 'barH' : 'bar';
|
||||
}
|
||||
group_list = _(this.columns).map(function (column, index) {
|
||||
return {
|
||||
group: column.name,
|
||||
@@ -202,7 +197,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
// value) and stacked bar charts (basically the same but with the
|
||||
// columns on top of one another instead of side by side), but it
|
||||
// does not handle clustered stacked bar charts
|
||||
if (this.columns.length > 1) {
|
||||
if (self.chart == 'bar' && (this.columns.length > 1)) {
|
||||
this.$element.text(
|
||||
'OpenERP Web does not support combining grouping and '
|
||||
+ 'multiple columns in graph at this time.');
|
||||
@@ -211,8 +206,10 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
}
|
||||
// transform series for clustered charts into series for stacked
|
||||
// charts
|
||||
view_chart = (this.orientation === 'horizontal')
|
||||
? 'stackedBarH' : 'stackedBar';
|
||||
if (self.chart == 'bar'){
|
||||
view_chart = (this.orientation === 'horizontal')
|
||||
? 'stackedBarH' : 'stackedBar';
|
||||
}
|
||||
group_list = _(results).chain()
|
||||
.pluck(this.group_field)
|
||||
.uniq()
|
||||
@@ -253,7 +250,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
};
|
||||
|
||||
var x_axis, y_axis;
|
||||
if (self.orientation == 'horizontal') {
|
||||
if (self.chart == 'bar' && self.orientation == 'horizontal') {
|
||||
x_axis = ordinate_description;
|
||||
y_axis = abscissa_description;
|
||||
} else {
|
||||
@@ -266,11 +263,12 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
return;
|
||||
}
|
||||
self.renderer = null;
|
||||
var bar_chart = new dhtmlXChart({
|
||||
var charts = new dhtmlXChart({
|
||||
view: view_chart,
|
||||
container: self.element_id+"-barchart",
|
||||
container: self.element_id+"-"+self.chart+"chart",
|
||||
value:"#"+group_list[0].group+"#",
|
||||
gradient: "3d",
|
||||
gradient: (self.chart == "bar") ? "3d" : "light",
|
||||
alpha: (self.chart == "area") ? 0.6 : 1,
|
||||
border: false,
|
||||
width: 1024,
|
||||
tooltip:{
|
||||
@@ -278,7 +276,15 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
self.abscissa, group_list[0].text, group_list[0].group)
|
||||
},
|
||||
radius: 0,
|
||||
color:group_list[0].color,
|
||||
color: (self.chart != "line") ? group_list[0].color : "",
|
||||
item: (self.chart == "line") ? {
|
||||
borderColor: group_list[0].color,
|
||||
color: "#000000"
|
||||
} : "",
|
||||
line: (self.chart == "line") ? {
|
||||
color: group_list[0].color,
|
||||
width: 3
|
||||
} : "",
|
||||
origin:0,
|
||||
xAxis: x_axis,
|
||||
yAxis: y_axis,
|
||||
@@ -296,23 +302,32 @@ openerp.web_graph.GraphView = openerp.web.View.extend({
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
for (var m = 1; m<group_list.length;m++){
|
||||
var column = group_list[m];
|
||||
if (column.group === self.group_field) { continue; }
|
||||
bar_chart.addSeries({
|
||||
charts.addSeries({
|
||||
value: "#"+column.group+"#",
|
||||
tooltip:{
|
||||
template: _.str.sprintf("#%s#, %s=#%s#",
|
||||
self.abscissa, column.text, column.group)
|
||||
},
|
||||
color: column.color
|
||||
color: (self.chart != "line") ? column.color : "",
|
||||
item: (self.chart == "line") ? {
|
||||
borderColor: column.color,
|
||||
color: "#000000"
|
||||
} : "",
|
||||
line: (self.chart == "line") ? {
|
||||
color: column.color,
|
||||
width: 3
|
||||
} : ""
|
||||
});
|
||||
}
|
||||
bar_chart.parse(results, "json");
|
||||
self.$element.find("#"+self.element_id+"-barchart").height(
|
||||
self.$element.find("#"+self.element_id+"-barchart").height()+50);
|
||||
bar_chart.attachEvent("onItemClick", function(id) {
|
||||
self.open_list_view(bar_chart.get(id));
|
||||
charts.parse(results, "json");
|
||||
self.$element.find("#"+self.element_id+"-"+self.chart+"chart").height(
|
||||
self.$element.find("#"+self.element_id+"-"+self.chart+"chart").height()+50);
|
||||
charts.attachEvent("onItemClick", function(id) {
|
||||
self.open_list_view(charts.get(id));
|
||||
});
|
||||
};
|
||||
if (this.renderer) {
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -258,12 +258,6 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
|
||||
});
|
||||
}
|
||||
},
|
||||
do_show: function () {
|
||||
this.$element.show();
|
||||
},
|
||||
do_hide: function () {
|
||||
this.$element.hide();
|
||||
},
|
||||
compute_groups_width: function() {
|
||||
var unfolded = 0;
|
||||
_.each(this.groups, function(group) {
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
openerp.web_process = function (openerp) {
|
||||
var QWeb = openerp.web.qweb;
|
||||
var QWeb = openerp.web.qweb,
|
||||
_t = openerp.web._t;
|
||||
openerp.web.ViewManager.include({
|
||||
start: function() {
|
||||
this._super();
|
||||
@@ -275,19 +276,17 @@ openerp.web_process = function (openerp) {
|
||||
var dialog = new openerp.web.Dialog(this, {
|
||||
width: 800,
|
||||
height: 600,
|
||||
buttons : {
|
||||
Cancel : function() {
|
||||
$(this).dialog('destroy');
|
||||
},
|
||||
Save : function() {
|
||||
buttons : [
|
||||
{text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }},
|
||||
{text: _t("Save"), click: function() {
|
||||
var form_view = action_manager.inner_viewmanager.views.form.controller;
|
||||
|
||||
form_view.do_save(function() {
|
||||
self.initialize_process_view();
|
||||
});
|
||||
$(this).dialog('destroy');
|
||||
}
|
||||
}
|
||||
}}
|
||||
]
|
||||
}).start().open();
|
||||
|
||||
action_manager.appendTo(dialog.$element);
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2011-12-09 10:33+0100\n"
|
||||
"POT-Creation-Date: 2011-12-15 11:40+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
Reference in New Issue
Block a user