Ver código fonte

Merge pull request #17900 from frappe/mergify/bp/version-14-hotfix/pr-17847

version-14
Shariq Ansari 2 anos atrás
committed by GitHub
pai
commit
8b339ea838
Nenhuma chave conhecida encontrada para esta assinatura no banco de dados ID da chave GPG: 4AEE18F83AFDEB23
3 arquivos alterados com 42 adições e 7 exclusões
  1. +9
    -4
      frappe/desk/doctype/workspace/workspace.json
  2. +17
    -3
      frappe/desk/doctype/workspace/workspace.py
  3. +16
    -0
      frappe/modules/export_file.py

+ 9
- 4
frappe/desk/doctype/workspace/workspace.json Ver arquivo

@@ -107,7 +107,8 @@
{
"fieldname": "icon",
"fieldtype": "Icon",
"label": "Icon"
"label": "Icon",
"read_only": 1
},
{
"fieldname": "links",
@@ -122,18 +123,21 @@
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Public",
"read_only": 1,
"search_index": 1
},
{
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"read_only": 1,
"reqd": 1
},
{
"fieldname": "parent_page",
"fieldtype": "Data",
"label": "Parent Page"
"label": "Parent Page",
"read_only": 1
},
{
"default": "[]",
@@ -145,7 +149,8 @@
{
"fieldname": "sequence_id",
"fieldtype": "Float",
"label": "Sequence Id"
"label": "Sequence Id",
"read_only": 1
},
{
"fieldname": "roles",
@@ -172,7 +177,7 @@
],
"in_create": 1,
"links": [],
"modified": "2022-05-12 13:00:03.925605",
"modified": "2022-08-16 18:01:42.632238",
"modified_by": "Administrator",
"module": "Desk",
"name": "Workspace",


+ 17
- 3
frappe/desk/doctype/workspace/workspace.py Ver arquivo

@@ -9,7 +9,7 @@ from frappe.desk.desktop import save_new_widget
from frappe.desk.utils import validate_route_conflict
from frappe.model.document import Document
from frappe.model.rename_doc import rename_doc
from frappe.modules.export_file import export_to_files
from frappe.modules.export_file import delete_folder, export_to_files


class Workspace(Document):
@@ -28,8 +28,22 @@ class Workspace(Document):
if disable_saving_as_public():
return

if frappe.conf.developer_mode and self.module and self.public:
export_to_files(record_list=[["Workspace", self.name]], record_module=self.module)
if frappe.conf.developer_mode and self.public:
if self.module:
export_to_files(record_list=[["Workspace", self.name]], record_module=self.module)

if self.has_value_changed("title") or self.has_value_changed("module"):
previous = self.get_doc_before_save()
if previous and previous.get("module") and previous.get("title"):
delete_folder(previous.get("module"), "Workspace", previous.get("title"))

def before_export(self, doc):
if doc.title != doc.label and doc.label == doc.name:
self.name = doc.name = doc.label = doc.title

def after_delete(self):
if self.module:
delete_folder(self.module, "Workspace", self.title)

@staticmethod
def get_module_page_map():


+ 16
- 0
frappe/modules/export_file.py Ver arquivo

@@ -2,6 +2,7 @@
# License: MIT. See LICENSE

import os
import shutil

import frappe
import frappe.model
@@ -90,6 +91,21 @@ def get_module_name(doc):
return module


def delete_folder(module, dt, dn):
if frappe.db.get_value("Module Def", module, "custom"):
module_path = get_custom_module_path(module)
else:
module_path = get_module_path(module)

dt, dn = scrub_dt_dn(dt, dn)

# delete folder
folder = os.path.join(module_path, dt, dn)

if os.path.exists(folder):
shutil.rmtree(folder)


def create_folder(module, dt, dn, create_init):
if frappe.db.get_value("Module Def", module, "custom"):
module_path = get_custom_module_path(module)


Carregando…
Cancelar
Salvar