From 5ac2c49444e0240b5470b3768b868b6e61063641 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 1 May 2020 10:49:26 +0530 Subject: [PATCH] fix: Move Video Doctype from Education module to Core (#21234) (#21533) * fix: move Video Doctype from Education module to Core * fix: patch to retain Permissions Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> (cherry picked from commit f65fb1fcf80a3c0bbf0605c782efa192abc3236d) Co-authored-by: Rucha Mahabal --- erpnext/education/doctype/video/__init__.py | 0 erpnext/education/doctype/video/test_video.js | 23 ---- erpnext/education/doctype/video/test_video.py | 10 -- erpnext/education/doctype/video/video.js | 8 -- erpnext/education/doctype/video/video.json | 112 ------------------ erpnext/education/doctype/video/video.py | 13 -- erpnext/patches.txt | 3 +- ...tain_permission_rules_for_video_doctype.py | 21 ++++ .../operations/install_fixtures.py | 4 +- 9 files changed, 25 insertions(+), 169 deletions(-) delete mode 100644 erpnext/education/doctype/video/__init__.py delete mode 100644 erpnext/education/doctype/video/test_video.js delete mode 100644 erpnext/education/doctype/video/test_video.py delete mode 100644 erpnext/education/doctype/video/video.js delete mode 100644 erpnext/education/doctype/video/video.json delete mode 100644 erpnext/education/doctype/video/video.py create mode 100644 erpnext/patches/v12_0/retain_permission_rules_for_video_doctype.py diff --git a/erpnext/education/doctype/video/__init__.py b/erpnext/education/doctype/video/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/education/doctype/video/test_video.js b/erpnext/education/doctype/video/test_video.js deleted file mode 100644 index a82a221319..0000000000 --- a/erpnext/education/doctype/video/test_video.js +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ -// rename this file from _test_[name] to test_[name] to activate -// and remove above this line - -QUnit.test("test: Video", function (assert) { - let done = assert.async(); - - // number of asserts - assert.expect(1); - - frappe.run_serially([ - // insert a new Video - () => frappe.tests.make('Video', [ - // values to be set - {key: 'value'} - ]), - () => { - assert.equal(cur_frm.doc.key, 'value'); - }, - () => done() - ]); - -}); diff --git a/erpnext/education/doctype/video/test_video.py b/erpnext/education/doctype/video/test_video.py deleted file mode 100644 index ecb09a2f9e..0000000000 --- a/erpnext/education/doctype/video/test_video.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors -# See license.txt -from __future__ import unicode_literals - -import frappe -import unittest - -class TestVideo(unittest.TestCase): - pass diff --git a/erpnext/education/doctype/video/video.js b/erpnext/education/doctype/video/video.js deleted file mode 100644 index c35c19b0c1..0000000000 --- a/erpnext/education/doctype/video/video.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt - -frappe.ui.form.on('Video', { - refresh: function(frm) { - - } -}); diff --git a/erpnext/education/doctype/video/video.json b/erpnext/education/doctype/video/video.json deleted file mode 100644 index e912eb32cb..0000000000 --- a/erpnext/education/doctype/video/video.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "allow_import": 1, - "allow_rename": 1, - "autoname": "field:title", - "creation": "2018-10-17 05:47:13.087395", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "title", - "provider", - "url", - "column_break_4", - "publish_date", - "duration", - "section_break_7", - "description" - ], - "fields": [ - { - "fieldname": "title", - "fieldtype": "Data", - "in_list_view": 1, - "label": "Title", - "reqd": 1, - "unique": 1 - }, - { - "fieldname": "description", - "fieldtype": "Text Editor", - "in_list_view": 1, - "label": "Description", - "reqd": 1 - }, - { - "fieldname": "duration", - "fieldtype": "Data", - "label": "Duration" - }, - { - "fieldname": "url", - "fieldtype": "Data", - "in_list_view": 1, - "label": "URL", - "reqd": 1 - }, - { - "fieldname": "publish_date", - "fieldtype": "Date", - "label": "Publish Date" - }, - { - "fieldname": "provider", - "fieldtype": "Select", - "in_list_view": 1, - "label": "Provider", - "options": "YouTube\nVimeo", - "reqd": 1 - }, - { - "fieldname": "column_break_4", - "fieldtype": "Column Break" - }, - { - "fieldname": "section_break_7", - "fieldtype": "Section Break" - } - ], - "modified": "2019-06-12 12:36:48.753092", - "modified_by": "Administrator", - "module": "Education", - "name": "Video", - "owner": "Administrator", - "permissions": [ - { - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "Academics User", - "share": 1, - "write": 1 - }, - { - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "Instructor", - "share": 1, - "write": 1 - }, - { - "email": 1, - "export": 1, - "print": 1, - "read": 1, - "report": 1, - "role": "LMS User", - "share": 1 - } - ], - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1 -} \ No newline at end of file diff --git a/erpnext/education/doctype/video/video.py b/erpnext/education/doctype/video/video.py deleted file mode 100644 index b19f81258c..0000000000 --- a/erpnext/education/doctype/video/video.py +++ /dev/null @@ -1,13 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.model.document import Document - -class Video(Document): - - - def get_video(self): - pass diff --git a/erpnext/patches.txt b/erpnext/patches.txt index a216f53a8b..c85e593b47 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -674,4 +674,5 @@ erpnext.patches.v12_0.repost_stock_ledger_entries_for_target_warehouse erpnext.patches.v12_0.update_end_date_and_status_in_email_campaign erpnext.patches.v13_0.move_tax_slabs_from_payroll_period_to_income_tax_slab #123 erpnext.patches.v12_0.fix_quotation_expired_status -erpnext.patches.v12_0.update_appointment_reminder_scheduler_entry \ No newline at end of file +erpnext.patches.v12_0.update_appointment_reminder_scheduler_entry +erpnext.patches.v12_0.retain_permission_rules_for_video_doctype diff --git a/erpnext/patches/v12_0/retain_permission_rules_for_video_doctype.py b/erpnext/patches/v12_0/retain_permission_rules_for_video_doctype.py new file mode 100644 index 0000000000..ca8a13b13c --- /dev/null +++ b/erpnext/patches/v12_0/retain_permission_rules_for_video_doctype.py @@ -0,0 +1,21 @@ +from __future__ import unicode_literals +import frappe + +def execute(): + # to retain the roles and permissions from Education Module + # after moving doctype to core + permissions = frappe.db.sql(""" + SELECT + * + FROM + `tabDocPerm` + WHERE + parent='Video' + """, as_dict=True) + + frappe.reload_doc('core', 'doctype', 'video') + doc = frappe.get_doc('DocType', 'Video') + doc.permissions = [] + for perm in permissions: + doc.append('permissions', perm) + doc.save() diff --git a/erpnext/setup/setup_wizard/operations/install_fixtures.py b/erpnext/setup/setup_wizard/operations/install_fixtures.py index e4986e36b7..3be6f44832 100644 --- a/erpnext/setup/setup_wizard/operations/install_fixtures.py +++ b/erpnext/setup/setup_wizard/operations/install_fixtures.py @@ -32,7 +32,7 @@ def install(country=None): { 'doctype': 'Domain', 'domain': 'Agriculture'}, { 'doctype': 'Domain', 'domain': 'Non Profit'}, - # ensure at least an empty Address Template exists for this Country + # ensure at least an empty Address Template exists for this Country {'doctype':"Address Template", "country": country}, # item group @@ -271,7 +271,7 @@ def install(country=None): # Records for the Supplier Scorecard from erpnext.buying.doctype.supplier_scorecard.supplier_scorecard import make_default_records - + make_default_records() make_records(records) set_up_address_templates(default_country=country)