From ed19666e1bd8f11f213ed43d32613d0b453c9ff1 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 26 Feb 2013 16:36:41 +0530 Subject: [PATCH] added Time Log --- patches/patch_list.py | 1 + .../locale/_messages_doc.json | 10 -- .../bom_replace_tool/locale/ar-doc.json | 10 -- .../bom_replace_tool/locale/es-doc.json | 10 -- .../bom_replace_tool/locale/fr-doc.json | 10 -- .../bom_replace_tool/locale/hi-doc.json | 10 -- .../bom_replace_tool/locale/hr-doc.json | 10 -- .../bom_replace_tool/locale/nl-doc.json | 10 -- .../bom_replace_tool/locale/pt-BR-doc.json | 10 -- .../bom_replace_tool/locale/pt-doc.json | 10 -- .../bom_replace_tool/locale/sr-doc.json | 10 -- .../bom_replace_tool/locale/ta-doc.json | 10 -- .../bom_replace_tool/locale/th-doc.json | 10 -- projects/doctype/time_log/__init__.py | 0 projects/doctype/time_log/time_log.py | 45 +++++++ projects/doctype/time_log/time_log.txt | 121 ++++++++++++++++++ .../doctype/time_log/time_log_calendar.js | 10 ++ projects/doctype/timesheet/timesheet.py | 3 +- .../projects/locale/_messages_doc.json | 4 - .../module_def/projects/locale/ar-doc.json | 4 - .../module_def/projects/locale/es-doc.json | 4 - .../module_def/projects/locale/fr-doc.json | 4 - .../module_def/projects/locale/hi-doc.json | 4 - .../module_def/projects/locale/hr-doc.json | 4 - .../module_def/projects/locale/nl-doc.json | 4 - .../module_def/projects/locale/pt-BR-doc.json | 4 - .../module_def/projects/locale/pt-doc.json | 4 - .../module_def/projects/locale/sr-doc.json | 4 - .../module_def/projects/locale/ta-doc.json | 4 - .../module_def/projects/locale/th-doc.json | 4 - projects/page/projects_home/projects_home.js | 5 + startup/install.py | 2 +- 32 files changed, 185 insertions(+), 170 deletions(-) delete mode 100644 production/doctype/bom_replace_tool/locale/_messages_doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/ar-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/es-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/fr-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/hi-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/hr-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/nl-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/pt-BR-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/pt-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/sr-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/ta-doc.json delete mode 100644 production/doctype/bom_replace_tool/locale/th-doc.json create mode 100644 projects/doctype/time_log/__init__.py create mode 100644 projects/doctype/time_log/time_log.py create mode 100644 projects/doctype/time_log/time_log.txt create mode 100644 projects/doctype/time_log/time_log_calendar.js delete mode 100644 projects/module_def/projects/locale/_messages_doc.json delete mode 100644 projects/module_def/projects/locale/ar-doc.json delete mode 100644 projects/module_def/projects/locale/es-doc.json delete mode 100644 projects/module_def/projects/locale/fr-doc.json delete mode 100644 projects/module_def/projects/locale/hi-doc.json delete mode 100644 projects/module_def/projects/locale/hr-doc.json delete mode 100644 projects/module_def/projects/locale/nl-doc.json delete mode 100644 projects/module_def/projects/locale/pt-BR-doc.json delete mode 100644 projects/module_def/projects/locale/pt-doc.json delete mode 100644 projects/module_def/projects/locale/sr-doc.json delete mode 100644 projects/module_def/projects/locale/ta-doc.json delete mode 100644 projects/module_def/projects/locale/th-doc.json diff --git a/patches/patch_list.py b/patches/patch_list.py index f60b204da7..11608098c1 100644 --- a/patches/patch_list.py +++ b/patches/patch_list.py @@ -199,4 +199,5 @@ patch_list = [ 'execute:webnotes.reload_doc("accounts", "Print Format", "Sales Invoice Classic") # 2013-02-26', 'execute:webnotes.reload_doc("accounts", "Print Format", "Sales Invoice Modern") # 2013-02-26', 'execute:webnotes.reload_doc("accounts", "Print Format", "Sales Invoice Spartan") # 2013-02-26', + "execute:(not webnotes.conn.exists('Role', 'Projects Manager')) and webnotes.doc({'doctype':'Role', 'role_name':'Projects Manager'}).insert()", ] \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/_messages_doc.json b/production/doctype/bom_replace_tool/locale/_messages_doc.json deleted file mode 100644 index d6c8d69198..0000000000 --- a/production/doctype/bom_replace_tool/locale/_messages_doc.json +++ /dev/null @@ -1,10 +0,0 @@ -[ - "BOM Replace Tool", - "The BOM which will be replaced", - "New BOM", - "The new BOM after replacement", - "Production", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM", - "Replace", - "Current BOM" -] \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/ar-doc.json b/production/doctype/bom_replace_tool/locale/ar-doc.json deleted file mode 100644 index f7461310e9..0000000000 --- a/production/doctype/bom_replace_tool/locale/ar-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "BOM \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0623\u062f\u0627\u0629", - "Current BOM": "BOM \u0627\u0644\u062d\u0627\u0644\u064a", - "New BOM": "BOM \u062c\u062f\u064a\u062f\u0629", - "Production": "\u0627\u0644\u0625\u0646\u062a\u0627\u062c", - "Replace": "\u0627\u0633\u062a\u0628\u062f\u0644", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644 BOM \u062e\u0627\u0635\u0629 \u0641\u064a \u062c\u0645\u064a\u0639 BOMs \u0627\u0644\u0623\u062e\u0631\u0649 \u0627\u0644\u062a\u064a \u064a\u0633\u062a\u062e\u062f\u0645 \u0641\u064a\u0647\u0627. \u0648\u0627\u0646\u0647 \u0633\u064a\u062d\u0644 \u0645\u062d\u0644 \u0627\u0644\u0631\u0627\u0628\u0637 BOM \u0627\u0644\u0642\u062f\u064a\u0645\u0629\u060c \u0648\u062a\u062d\u062f\u064a\u062b \u0648\u062a\u062c\u062f\u064a\u062f \u0627\u0644\u062a\u0643\u0644\u0641\u0629 "\u0627\u0644\u0628\u0646\u062f \u0627\u0646\u0641\u062c\u0627\u0631 BOM" \u0627\u0644\u062c\u062f\u0648\u0644 \u0627\u0644\u062c\u062f\u064a\u062f \u0648\u0641\u0642\u0627 BOM", - "The BOM which will be replaced": "\u0648BOM \u0627\u0644\u062a\u064a \u0633\u064a\u062a\u0645 \u0627\u0633\u062a\u0628\u062f\u0627\u0644\u0647\u0627", - "The new BOM after replacement": "\u0648BOM \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u0628\u0639\u062f \u0627\u0633\u062a\u0628\u062f\u0627\u0644" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/es-doc.json b/production/doctype/bom_replace_tool/locale/es-doc.json deleted file mode 100644 index 9834598af4..0000000000 --- a/production/doctype/bom_replace_tool/locale/es-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "BOM Tool Reemplazar", - "Current BOM": "BOM actual", - "New BOM": "Nueva lista de materiales", - "Production": "Producci\u00f3n", - "Replace": "Reemplazar", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "Reemplazar un BOM particular en todas las listas de materiales de otros en los que se utiliza. Se sustituir\u00e1 el enlace BOM viejo, actualizar el costo y regenerar "Explosi\u00f3n lista de materiales Item" tabla seg\u00fan nueva lista de materiales", - "The BOM which will be replaced": "La lista de materiales que ser\u00e1 sustituido", - "The new BOM after replacement": "La lista de materiales nuevo despu\u00e9s de sustituirlo" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/fr-doc.json b/production/doctype/bom_replace_tool/locale/fr-doc.json deleted file mode 100644 index 9284cad148..0000000000 --- a/production/doctype/bom_replace_tool/locale/fr-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "Outil Remplacer BOM", - "Current BOM": "Nomenclature actuelle", - "New BOM": "Nouvelle nomenclature", - "Production": "Production", - "Replace": "Remplacer", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "Remplacer une nomenclature particuli\u00e8re dans toutes les nomenclatures d'autres o\u00f9 il est utilis\u00e9. Il remplacera le lien de nomenclature ancienne, mettre \u00e0 jour les co\u00fbts et r\u00e9g\u00e9n\u00e9rer "Explosion de nomenclature article" la table comme pour une nouvelle nomenclature", - "The BOM which will be replaced": "La nomenclature qui sera remplac\u00e9", - "The new BOM after replacement": "La nouvelle nomenclature apr\u00e8s le remplacement" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/hi-doc.json b/production/doctype/bom_replace_tool/locale/hi-doc.json deleted file mode 100644 index 3d9e9b4fb1..0000000000 --- a/production/doctype/bom_replace_tool/locale/hi-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "\u092c\u0940\u0913\u090f\u092e \u092c\u0926\u0932\u0947\u0902 \u0909\u092a\u0915\u0930\u0923", - "Current BOM": "\u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u092c\u0940\u0913\u090f\u092e", - "New BOM": "\u0928\u0908 \u092c\u0940\u0913\u090f\u092e", - "Production": "\u0909\u0924\u094d\u092a\u093e\u0926\u0928", - "Replace": "\u092c\u0926\u0932\u0947\u0902", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "\u0905\u0928\u094d\u092f \u0938\u092d\u0940 BOMs \u091c\u0939\u093e\u0902 \u092f\u0939 \u092a\u094d\u0930\u092f\u094b\u0917 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948 \u092e\u0947\u0902 \u090f\u0915 \u0935\u093f\u0936\u0947\u0937 \u092c\u0940\u0913\u090f\u092e \u092c\u0926\u0932\u0947\u0902. \u092f\u0939 \u092a\u0941\u0930\u093e\u0928\u0947 \u092c\u0940\u0913\u090f\u092e \u0932\u093f\u0902\u0915 \u0915\u0940 \u091c\u0917\u0939, \u0932\u093e\u0917\u0924 \u0905\u0926\u094d\u092f\u0924\u0928 \u0914\u0930 \u0928\u092f\u093e \u092c\u0940\u0913\u090f\u092e \u0915\u0947 \u0905\u0928\u0941\u0938\u093e\u0930 "BOM \u0927\u092e\u093e\u0915\u093e \u0906\u0907\u091f\u092e" \u0924\u093e\u0932\u093f\u0915\u093e \u092a\u0941\u0928\u0930\u094d\u091c\u0928\u094d\u092e", - "The BOM which will be replaced": "\u092c\u0940\u0913\u090f\u092e \u091c\u094b \u092a\u094d\u0930\u0924\u093f\u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u093f\u092f\u093e \u091c\u093e\u090f\u0917\u093e", - "The new BOM after replacement": "\u092c\u0926\u0932\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926 \u0928\u090f \u092c\u0940\u0913\u090f\u092e" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/hr-doc.json b/production/doctype/bom_replace_tool/locale/hr-doc.json deleted file mode 100644 index c6ff6b6e77..0000000000 --- a/production/doctype/bom_replace_tool/locale/hr-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "BOM Zamijenite alat", - "Current BOM": "Trenutni BOM", - "New BOM": "Novi BOM", - "Production": "Proizvodnja", - "Replace": "Zamijeniti", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "Zamijenite odre\u0111eni BOM u svim drugim sastavnicama gdje se koriste. To \u0107e zamijeniti staru vezu BOM, a\u017eurirati tro\u0161kove i regenerirati "BOM eksploziju predmeta" stol kao i po novom BOM", - "The BOM which will be replaced": "BOM koji \u0107e biti zamijenjen", - "The new BOM after replacement": "Novi BOM nakon zamjene" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/nl-doc.json b/production/doctype/bom_replace_tool/locale/nl-doc.json deleted file mode 100644 index 26a07e8158..0000000000 --- a/production/doctype/bom_replace_tool/locale/nl-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "BOM Replace Tool", - "Current BOM": "Actueel BOM", - "New BOM": "Nieuwe BOM", - "Production": "Productie", - "Replace": "Vervang", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "Vervang een bepaalde BOM in alle andere BOMs waar het wordt gebruikt. Deze vervangt de oude BOM link, updaten kosten en regenereren "BOM Explosion Item" tafel als per nieuwe BOM", - "The BOM which will be replaced": "De BOM die zal worden vervangen", - "The new BOM after replacement": "De nieuwe BOM na vervanging" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/pt-BR-doc.json b/production/doctype/bom_replace_tool/locale/pt-BR-doc.json deleted file mode 100644 index 69ebd0fbb4..0000000000 --- a/production/doctype/bom_replace_tool/locale/pt-BR-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "Ferramenta de Substitui\u00e7\u00e3o da LDM", - "Current BOM": "LDM atual", - "New BOM": "Nova LDM", - "Production": "Produ\u00e7\u00e3o", - "Replace": "Substituir", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "Substituir uma LDM espec\u00edfica em todas as LDMs outros onde ela \u00e9 usada. Isso ir\u00e1 substituir o link da LDM antiga, atualizar o custo e regenerar a tabela "Item de Explos\u00e3o da LDM" com a nova LDM", - "The BOM which will be replaced": "A LDM que ser\u00e1 substitu\u00edda", - "The new BOM after replacement": "A nova LDM ap\u00f3s substitui\u00e7\u00e3o" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/pt-doc.json b/production/doctype/bom_replace_tool/locale/pt-doc.json deleted file mode 100644 index a189dcd87c..0000000000 --- a/production/doctype/bom_replace_tool/locale/pt-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "BOM Ferramenta Substituir", - "Current BOM": "BOM atual", - "New BOM": "Novo BOM", - "Production": "Produ\u00e7\u00e3o", - "Replace": "Substituir", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "Substituir um BOM particular em todas as BOMs outros onde ele \u00e9 usado. Ele ir\u00e1 substituir o link BOM antigo, atualizar o custo e regenerar "Explos\u00e3o BOM Item" tabela como por novo BOM", - "The BOM which will be replaced": "O BOM que ser\u00e1 substitu\u00eddo", - "The new BOM after replacement": "O BOM novo ap\u00f3s substitui\u00e7\u00e3o" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/sr-doc.json b/production/doctype/bom_replace_tool/locale/sr-doc.json deleted file mode 100644 index 6d0ecb0b56..0000000000 --- a/production/doctype/bom_replace_tool/locale/sr-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "\u0411\u041e\u041c \u0417\u0430\u043c\u0435\u043d\u0430 \u0430\u043b\u0430\u0442\u0430", - "Current BOM": "\u0422\u0440\u0435\u043d\u0443\u0442\u043d\u0438 \u0411\u041e\u041c", - "New BOM": "\u041d\u043e\u0432\u0438 \u0411\u041e\u041c", - "Production": "\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u045a\u0430", - "Replace": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0438", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u043e\u0441\u0435\u0431\u043d\u0443 \u0431\u043e\u043c \u0443 \u0441\u0432\u0438\u043c \u043e\u0441\u0442\u0430\u043b\u0438\u043c \u0411\u041e\u041c\u0441 \u0433\u0434\u0435 \u0441\u0435 \u043e\u043d \u043a\u043e\u0440\u0438\u0441\u0442\u0438. \u041e\u043d\u0430 \u045b\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0438 \u0441\u0442\u0430\u0440\u0443 \u0432\u0435\u0437\u0443 \u0431\u043e\u043c, \u0430\u0436\u0443\u0440\u0438\u0440\u0430\u045a\u0435 \u0442\u0440\u043e\u0448\u043a\u043e\u0432\u0435 \u0438 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0438\u0448\u0443 "\u0431\u043e\u043c \u0435\u043a\u0441\u043f\u043b\u043e\u0437\u0438\u0458\u0435 \u0458\u0435\u0434\u0438\u043d\u0438\u0446\u0435" \u0442\u0430\u0431\u0435\u043b\u0443 \u043f\u043e \u043d\u043e\u0432\u043e\u043c \u0411\u041e\u041c", - "The BOM which will be replaced": "\u0411\u041e\u041c \u043a\u043e\u0458\u0438 \u045b\u0435 \u0431\u0438\u0442\u0438 \u0437\u0430\u043c\u0435\u045a\u0435\u043d", - "The new BOM after replacement": "\u041d\u043e\u0432\u0438 \u0411\u041e\u041c \u043d\u0430\u043a\u043e\u043d \u0437\u0430\u043c\u0435\u043d\u0435" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/ta-doc.json b/production/doctype/bom_replace_tool/locale/ta-doc.json deleted file mode 100644 index c2e816d700..0000000000 --- a/production/doctype/bom_replace_tool/locale/ta-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "BOM \u0baa\u0ba4\u0bbf\u0bb2\u0bbe\u0b95 \u0b95\u0bb0\u0bc1\u0bb5\u0bbf", - "Current BOM": "\u0ba4\u0bb1\u0bcd\u0baa\u0bc7\u0bbe\u0ba4\u0bc8\u0baf BOM", - "New BOM": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf BOM", - "Production": "\u0b89\u0bb1\u0bcd\u0baa\u0ba4\u0bcd\u0ba4\u0bbf", - "Replace": "\u0baa\u0ba4\u0bbf\u0bb2\u0bbe\u0b95", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "\u0b87\u0ba4\u0bc1 \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1 \u0b85\u0bae\u0bc8\u0ba8\u0bcd\u0ba4\u0bc1\u0bb3\u0bcd\u0bb3 \u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1 \u0bae\u0bb1\u0bcd\u0bb1 BOM \u0b95\u0bb3\u0bcd \u0b92\u0bb0\u0bc1 \u0b95\u0bc1\u0bb1\u0bbf\u0baa\u0bcd\u0baa\u0bbf\u0b9f\u0bcd\u0b9f BOM \u0baa\u0ba4\u0bbf\u0bb2\u0bbe\u0b95. \u0b87\u0ba4\u0bc1, \u0baa\u0bb4\u0bc8\u0baf BOM \u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0ba4\u0bbf\u0bb2\u0bbe\u0b95 \u0b9a\u0bc6\u0bb2\u0bb5\u0bc1 \u0baa\u0bc1\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95 \u0baa\u0bc1\u0ba4\u0bbf\u0baf BOM \u0baa\u0b9f\u0bbf "BOM \u0bb5\u0bc6\u0b9f\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd" \u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8 \u0bae\u0bb1\u0bc1\u0b89\u0bb1\u0bcd\u0baa\u0ba4\u0bcd\u0ba4\u0bbf", - "The BOM which will be replaced": "\u0baa\u0ba4\u0bbf\u0bb2\u0bc0\u0b9f\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0bae\u0bcd BOM", - "The new BOM after replacement": "\u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1 \u0baa\u0bbf\u0ba9\u0bcd\u0ba9\u0bb0\u0bcd \u0baa\u0bc1\u0ba4\u0bbf\u0baf BOM" -} \ No newline at end of file diff --git a/production/doctype/bom_replace_tool/locale/th-doc.json b/production/doctype/bom_replace_tool/locale/th-doc.json deleted file mode 100644 index c699223fda..0000000000 --- a/production/doctype/bom_replace_tool/locale/th-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "BOM Replace Tool": "\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48 BOM", - "Current BOM": "BOM \u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19", - "New BOM": "BOM \u0e43\u0e2b\u0e21\u0e48", - "Production": "\u0e01\u0e32\u0e23\u0e1c\u0e25\u0e34\u0e15", - "Replace": "\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48", - "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM": "\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48 BOM \u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19 BOMs \u0e2d\u0e37\u0e48\u0e19 \u0e46 \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e19\u0e33\u0e21\u0e32\u0e43\u0e0a\u0e49 \u0e21\u0e31\u0e19\u0e08\u0e30\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e42\u0e22\u0e07 BOM \u0e40\u0e01\u0e48\u0e32\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e41\u0e25\u0e30\u0e43\u0e2b\u0e49\u0e0a\u0e35\u0e27\u0e34\u0e15\u0e43\u0e2b\u0e21\u0e48 "\u0e23\u0e30\u0e40\u0e1a\u0e34\u0e14\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 BOM" \u0e15\u0e32\u0e23\u0e32\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e48\u0e2d\u0e43\u0e2b\u0e21\u0e48 BOM", - "The BOM which will be replaced": "BOM \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e16\u0e39\u0e01\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48", - "The new BOM after replacement": "BOM \u0e43\u0e2b\u0e21\u0e48\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19" -} \ No newline at end of file diff --git a/projects/doctype/time_log/__init__.py b/projects/doctype/time_log/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/projects/doctype/time_log/time_log.py b/projects/doctype/time_log/time_log.py new file mode 100644 index 0000000000..4188503c9f --- /dev/null +++ b/projects/doctype/time_log/time_log.py @@ -0,0 +1,45 @@ +# For license information, please see license.txt + +from __future__ import unicode_literals +import webnotes +from webnotes import _ + +from webnotes.widgets.reportview import build_match_conditions + +class DocType: + def __init__(self, d, dl): + self.doc, self.doclist = d, dl + + def validate(self): + self.validate_overlap() + + def validate_overlap(self): + existing = webnotes.conn.sql_list("""select name from `tabTime Log` where owner=%s and + ((from_time between %s and %s) or (to_time between %s and %s)) and name!=%s""", + (self.doc.owner, self.doc.from_time, self.doc.to_time, self.doc.from_time, + self.doc.to_time, self.doc.name)) + + if existing: + webnotes.msgprint(_("This Time Log conflicts with") + ":" + ', '.join(existing), + raise_exception=True) + +@webnotes.whitelist() +def get_events(start, end): + match = build_match_conditions("Time Log") + data = webnotes.conn.sql("""select name, from_time, to_time, + activity_type, task, project from `tabTime Log` + where from_time between '%(start)s' and '%(end)s' or to_time between '%(start)s' and '%(end)s' + %(match)s""" % { + "start": start, + "end": end, + "match": match and (" and " + match) or "" + }, as_dict=True, update={"allDay": 0}) + + for d in data: + d.title = d.name + ": " + d.activity_type + if d.task: + d.title += " for Task: " + d.task + if d.project: + d.title += " for Project: " + d.project + + return data diff --git a/projects/doctype/time_log/time_log.txt b/projects/doctype/time_log/time_log.txt new file mode 100644 index 0000000000..b8e927a169 --- /dev/null +++ b/projects/doctype/time_log/time_log.txt @@ -0,0 +1,121 @@ +[ + { + "creation": "2013-02-26 14:58:28", + "docstatus": 0, + "modified": "2013-02-26 16:09:53", + "modified_by": "Administrator", + "owner": "Administrator" + }, + { + "autoname": "TL-.######", + "description": "Log of Activities performed by users against Tasks that can be used for tracking time, billing.", + "doctype": "DocType", + "document_type": "Master", + "module": "Projects", + "name": "__common__" + }, + { + "doctype": "DocField", + "name": "__common__", + "parent": "Time Log", + "parentfield": "fields", + "parenttype": "DocType", + "permlevel": 0 + }, + { + "doctype": "DocPerm", + "name": "__common__", + "parent": "Time Log", + "parentfield": "permissions", + "parenttype": "DocType", + "permlevel": 0, + "read": 1, + "write": 1 + }, + { + "doctype": "DocType", + "name": "Time Log" + }, + { + "doctype": "DocField", + "fieldname": "from_time", + "fieldtype": "Datetime", + "label": "From Time", + "reqd": 1 + }, + { + "doctype": "DocField", + "fieldname": "to_time", + "fieldtype": "Datetime", + "label": "To Time", + "reqd": 1 + }, + { + "doctype": "DocField", + "fieldname": "column_break_3", + "fieldtype": "Column Break" + }, + { + "doctype": "DocField", + "fieldname": "activity_type", + "fieldtype": "Link", + "in_list_view": 1, + "label": "Activity Type", + "options": "Activity Type", + "reqd": 1 + }, + { + "doctype": "DocField", + "fieldname": "task", + "fieldtype": "Link", + "label": "Task", + "options": "Task" + }, + { + "doctype": "DocField", + "fieldname": "billable", + "fieldtype": "Check", + "label": "Billable" + }, + { + "doctype": "DocField", + "fieldname": "section_break_7", + "fieldtype": "Section Break" + }, + { + "doctype": "DocField", + "fieldname": "note", + "fieldtype": "Text Editor", + "label": "Note" + }, + { + "doctype": "DocField", + "fieldname": "section_break_9", + "fieldtype": "Section Break" + }, + { + "doctype": "DocField", + "fieldname": "project", + "fieldtype": "Link", + "in_list_view": 1, + "label": "Project", + "options": "Project" + }, + { + "doctype": "DocField", + "fieldname": "sales_invoice", + "fieldtype": "Link", + "label": "Sales Invoice", + "options": "Sales Invoice" + }, + { + "create": 1, + "doctype": "DocPerm", + "match": "owner", + "role": "Projects User" + }, + { + "doctype": "DocPerm", + "role": "Projects Manager" + } +] \ No newline at end of file diff --git a/projects/doctype/time_log/time_log_calendar.js b/projects/doctype/time_log/time_log_calendar.js new file mode 100644 index 0000000000..e5bb774a0c --- /dev/null +++ b/projects/doctype/time_log/time_log_calendar.js @@ -0,0 +1,10 @@ +wn.views.calendar["Time Log"] = wn.views.Calendar.extend({ + field_map: { + "start": "from_time", + "end": "to_time", + "id": "name", + "title": "title", + "allDay": "allDay" + }, + get_events_method: "projects.doctype.time_log.time_log.get_events" +}) \ No newline at end of file diff --git a/projects/doctype/timesheet/timesheet.py b/projects/doctype/timesheet/timesheet.py index 6e6e27acd3..560bc5fdce 100644 --- a/projects/doctype/timesheet/timesheet.py +++ b/projects/doctype/timesheet/timesheet.py @@ -91,4 +91,5 @@ class DocType: webnotes.conn.set(self.doc, 'status', 'Submitted') def on_cancel(self): - webnotes.conn.set(self.doc, 'status', 'Cancelled') \ No newline at end of file + webnotes.conn.set(self.doc, 'status', 'Cancelled') + \ No newline at end of file diff --git a/projects/module_def/projects/locale/_messages_doc.json b/projects/module_def/projects/locale/_messages_doc.json deleted file mode 100644 index da33435bc9..0000000000 --- a/projects/module_def/projects/locale/_messages_doc.json +++ /dev/null @@ -1,4 +0,0 @@ -[ - "Projects Home", - "Projects" -] \ No newline at end of file diff --git a/projects/module_def/projects/locale/ar-doc.json b/projects/module_def/projects/locale/ar-doc.json deleted file mode 100644 index 7e4aaaf3f7..0000000000 --- a/projects/module_def/projects/locale/ar-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "\u0645\u0634\u0627\u0631\u064a\u0639", - "Projects Home": "\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u0627\u062a" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/es-doc.json b/projects/module_def/projects/locale/es-doc.json deleted file mode 100644 index 7ca0100b5d..0000000000 --- a/projects/module_def/projects/locale/es-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "Proyectos", - "Projects Home": "Home Proyectos" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/fr-doc.json b/projects/module_def/projects/locale/fr-doc.json deleted file mode 100644 index d29293617e..0000000000 --- a/projects/module_def/projects/locale/fr-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "Projets", - "Projects Home": "Accueil Projets" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/hi-doc.json b/projects/module_def/projects/locale/hi-doc.json deleted file mode 100644 index 6ec7020c39..0000000000 --- a/projects/module_def/projects/locale/hi-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "\u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e\u0913\u0902", - "Projects Home": "\u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e\u0913\u0902 \u0918\u0930" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/hr-doc.json b/projects/module_def/projects/locale/hr-doc.json deleted file mode 100644 index cdf6a7b1d2..0000000000 --- a/projects/module_def/projects/locale/hr-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "Projekti", - "Projects Home": "Projekti Po\u010detna" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/nl-doc.json b/projects/module_def/projects/locale/nl-doc.json deleted file mode 100644 index a8b753e29b..0000000000 --- a/projects/module_def/projects/locale/nl-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "Projecten", - "Projects Home": "Projecten Home" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/pt-BR-doc.json b/projects/module_def/projects/locale/pt-BR-doc.json deleted file mode 100644 index d50cdd8c84..0000000000 --- a/projects/module_def/projects/locale/pt-BR-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "Projetos", - "Projects Home": "In\u00edcio de Projetos" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/pt-doc.json b/projects/module_def/projects/locale/pt-doc.json deleted file mode 100644 index 602e521055..0000000000 --- a/projects/module_def/projects/locale/pt-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "Projetos", - "Projects Home": "Home Projetos" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/sr-doc.json b/projects/module_def/projects/locale/sr-doc.json deleted file mode 100644 index b831f426ec..0000000000 --- a/projects/module_def/projects/locale/sr-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "\u041f\u0440\u043e\u0458\u0435\u043a\u0442\u0438", - "Projects Home": "\u041f\u0440\u043e\u0458\u0435\u043a\u0442\u0438" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/ta-doc.json b/projects/module_def/projects/locale/ta-doc.json deleted file mode 100644 index 71fd303b78..0000000000 --- a/projects/module_def/projects/locale/ta-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "\u0ba4\u0bbf\u0b9f\u0bcd\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd", - "Projects Home": "\u0ba4\u0bbf\u0b9f\u0bcd\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0bae\u0bc1\u0b95\u0baa\u0bcd\u0baa\u0bc1" -} \ No newline at end of file diff --git a/projects/module_def/projects/locale/th-doc.json b/projects/module_def/projects/locale/th-doc.json deleted file mode 100644 index 17d8bfa457..0000000000 --- a/projects/module_def/projects/locale/th-doc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Projects": "\u0e42\u0e04\u0e23\u0e07\u0e01\u0e32\u0e23", - "Projects Home": "\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e23\u0e01\u0e42\u0e04\u0e23\u0e07\u0e01\u0e32\u0e23" -} \ No newline at end of file diff --git a/projects/page/projects_home/projects_home.js b/projects/page/projects_home/projects_home.js index 3f91468030..c9a6b9375f 100644 --- a/projects/page/projects_home/projects_home.js +++ b/projects/page/projects_home/projects_home.js @@ -21,6 +21,11 @@ wn.module_page["Projects"] = [ description: wn._("Timesheet for tasks."), doctype:"Timesheet" }, + { + label: wn._("Time Log"), + description: wn._("Time Log for tasks."), + doctype:"Time Log" + }, ] }, { diff --git a/startup/install.py b/startup/install.py index b42b7163c0..5ddbf094c8 100644 --- a/startup/install.py +++ b/startup/install.py @@ -30,7 +30,7 @@ def make_roles(): "HR Manager", "HR User", "Leave Approver", "Maintenance Manager", "Maintenance User", "Manufacturing Manager", "Manufacturing User", "Material Manager", "Material Master Manager", "Material User", - "Partner", "Projects User", "Purchase Manager", "Purchase Master Manager", + "Partner", "Projects User", "Projects Manager", "Purchase Manager", "Purchase Master Manager", "Purchase User", "Quality Manager", "Sales Manager", "Sales Master Manager", "Sales User", "Supplier", "Support Manager", "Support Team", "Website Manager"]