mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-25 16:04:46 +00:00
chore: quickbooks migrator integration removal (#45240)
This commit is contained in:
@@ -1,77 +0,0 @@
|
|||||||
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
|
|
||||||
// For license information, please see license.txt
|
|
||||||
|
|
||||||
frappe.ui.form.on("QuickBooks Migrator", {
|
|
||||||
connect: function (frm) {
|
|
||||||
// OAuth requires user intervention to provide application access permissionsto requested scope
|
|
||||||
// Here we open a new window and redirect user to the authorization url.
|
|
||||||
// After user grants us permission to access. We will set authorization details on this doc which will force refresh.
|
|
||||||
window.open(frm.doc.authorization_url);
|
|
||||||
},
|
|
||||||
fetch_data: function (frm) {
|
|
||||||
frm.call("migrate");
|
|
||||||
},
|
|
||||||
onload: function (frm) {
|
|
||||||
frm.trigger("set_indicator");
|
|
||||||
var domain = frappe.urllib.get_base_url();
|
|
||||||
var redirect_url = `${domain}/api/method/erpnext.erpnext_integrations.doctype.quickbooks_migrator.quickbooks_migrator.callback`;
|
|
||||||
if (frm.doc.redirect_url != redirect_url) {
|
|
||||||
frm.set_value("redirect_url", redirect_url);
|
|
||||||
}
|
|
||||||
// Instead of changing percentage width and message of single progress bar
|
|
||||||
// Show a different porgress bar for every action after some time remove the finished progress bar
|
|
||||||
// Former approach causes the progress bar to dance back and forth.
|
|
||||||
frm.trigger("set_indicator");
|
|
||||||
frappe.realtime.on("quickbooks_progress_update", function (data) {
|
|
||||||
frm.dashboard.show_progress(data.message, (data.count / data.total) * 100, data.message);
|
|
||||||
if (data.count == data.total) {
|
|
||||||
window.setTimeout(
|
|
||||||
function (message) {
|
|
||||||
frm.dashboard.hide_progress(message);
|
|
||||||
},
|
|
||||||
1500,
|
|
||||||
data.messsage
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
refresh: function (frm) {
|
|
||||||
frm.trigger("set_indicator");
|
|
||||||
if (!frm.doc.access_token) {
|
|
||||||
// Unset access_token signifies that we don't have enough information to connect to quickbooks api and fetch data
|
|
||||||
if (frm.doc.authorization_url) {
|
|
||||||
frm.add_custom_button(__("Connect to Quickbooks"), function () {
|
|
||||||
frm.trigger("connect");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (frm.doc.access_token) {
|
|
||||||
// If we have access_token that means we also have refresh_token we don't need user intervention anymore
|
|
||||||
// All we need now is a Company from erpnext
|
|
||||||
frm.remove_custom_button(__("Connect to Quickbooks"));
|
|
||||||
|
|
||||||
frm.toggle_display("company_settings", 1);
|
|
||||||
frm.set_df_property("company", "reqd", 1);
|
|
||||||
if (frm.doc.company) {
|
|
||||||
frm.add_custom_button(__("Fetch Data"), function () {
|
|
||||||
frm.trigger("fetch_data");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
set_indicator: function (frm) {
|
|
||||||
var indicator_map = {
|
|
||||||
"Connecting to QuickBooks": [__("Connecting to QuickBooks"), "orange"],
|
|
||||||
"Connected to QuickBooks": [__("Connected to QuickBooks"), "green"],
|
|
||||||
"In Progress": [__("In Progress"), "orange"],
|
|
||||||
Complete: [__("Complete"), "green"],
|
|
||||||
Failed: [__("Failed"), "red"],
|
|
||||||
};
|
|
||||||
if (frm.doc.status) {
|
|
||||||
var indicator = indicator_map[frm.doc.status];
|
|
||||||
var label = indicator[0];
|
|
||||||
var color = indicator[1];
|
|
||||||
frm.page.set_indicator(label, color);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@@ -1,216 +0,0 @@
|
|||||||
{
|
|
||||||
"actions": [],
|
|
||||||
"beta": 1,
|
|
||||||
"creation": "2018-07-10 14:48:16.757030",
|
|
||||||
"doctype": "DocType",
|
|
||||||
"editable_grid": 1,
|
|
||||||
"engine": "InnoDB",
|
|
||||||
"field_order": [
|
|
||||||
"status",
|
|
||||||
"application_settings",
|
|
||||||
"client_id",
|
|
||||||
"redirect_url",
|
|
||||||
"token_endpoint",
|
|
||||||
"application_column_break",
|
|
||||||
"client_secret",
|
|
||||||
"scope",
|
|
||||||
"api_endpoint",
|
|
||||||
"authorization_settings",
|
|
||||||
"authorization_endpoint",
|
|
||||||
"refresh_token",
|
|
||||||
"code",
|
|
||||||
"authorization_column_break",
|
|
||||||
"authorization_url",
|
|
||||||
"access_token",
|
|
||||||
"quickbooks_company_id",
|
|
||||||
"company_settings",
|
|
||||||
"company",
|
|
||||||
"default_shipping_account",
|
|
||||||
"default_warehouse",
|
|
||||||
"company_column_break",
|
|
||||||
"default_cost_center",
|
|
||||||
"undeposited_funds_account"
|
|
||||||
],
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"fieldname": "status",
|
|
||||||
"fieldtype": "Select",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Status",
|
|
||||||
"options": "Connecting to QuickBooks\nConnected to QuickBooks\nIn Progress\nComplete\nFailed"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"collapsible": 1,
|
|
||||||
"collapsible_depends_on": "eval:doc.client_id && doc.client_secret && doc.redirect_url",
|
|
||||||
"fieldname": "application_settings",
|
|
||||||
"fieldtype": "Section Break",
|
|
||||||
"label": "Application Settings"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "client_id",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"in_list_view": 1,
|
|
||||||
"label": "Client ID",
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "redirect_url",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"in_list_view": 1,
|
|
||||||
"label": "Redirect URL",
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"default": "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer",
|
|
||||||
"fieldname": "token_endpoint",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"label": "Token Endpoint",
|
|
||||||
"read_only": 1,
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "application_column_break",
|
|
||||||
"fieldtype": "Column Break"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "client_secret",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"in_list_view": 1,
|
|
||||||
"label": "Client Secret",
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"default": "com.intuit.quickbooks.accounting",
|
|
||||||
"fieldname": "scope",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"in_list_view": 1,
|
|
||||||
"label": "Scope",
|
|
||||||
"read_only": 1,
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"default": "https://quickbooks.api.intuit.com/v3",
|
|
||||||
"fieldname": "api_endpoint",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"label": "API Endpoint",
|
|
||||||
"read_only": 1,
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"collapsible": 1,
|
|
||||||
"fieldname": "authorization_settings",
|
|
||||||
"fieldtype": "Section Break",
|
|
||||||
"label": "Authorization Settings"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"default": "https://appcenter.intuit.com/connect/oauth2",
|
|
||||||
"fieldname": "authorization_endpoint",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"label": "Authorization Endpoint",
|
|
||||||
"read_only": 1,
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "refresh_token",
|
|
||||||
"fieldtype": "Small Text",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Refresh Token"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "code",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Code"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "authorization_column_break",
|
|
||||||
"fieldtype": "Column Break"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "authorization_url",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"label": "Authorization URL",
|
|
||||||
"read_only": 1,
|
|
||||||
"reqd": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "access_token",
|
|
||||||
"fieldtype": "Small Text",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Access Token"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "quickbooks_company_id",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Quickbooks Company ID"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "company_settings",
|
|
||||||
"fieldtype": "Section Break",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Company Settings"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "company",
|
|
||||||
"fieldtype": "Link",
|
|
||||||
"label": "Company",
|
|
||||||
"options": "Company"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "default_shipping_account",
|
|
||||||
"fieldtype": "Link",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Default Shipping Account",
|
|
||||||
"options": "Account"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "default_warehouse",
|
|
||||||
"fieldtype": "Link",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Default Warehouse",
|
|
||||||
"options": "Warehouse"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "company_column_break",
|
|
||||||
"fieldtype": "Column Break"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "default_cost_center",
|
|
||||||
"fieldtype": "Link",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Default Cost Center",
|
|
||||||
"options": "Cost Center"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "undeposited_funds_account",
|
|
||||||
"fieldtype": "Link",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "Undeposited Funds Account",
|
|
||||||
"options": "Account"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"issingle": 1,
|
|
||||||
"links": [],
|
|
||||||
"modified": "2024-03-27 13:10:30.599062",
|
|
||||||
"modified_by": "Administrator",
|
|
||||||
"module": "ERPNext Integrations",
|
|
||||||
"name": "QuickBooks Migrator",
|
|
||||||
"owner": "Administrator",
|
|
||||||
"permissions": [
|
|
||||||
{
|
|
||||||
"create": 1,
|
|
||||||
"delete": 1,
|
|
||||||
"email": 1,
|
|
||||||
"print": 1,
|
|
||||||
"read": 1,
|
|
||||||
"role": "System Manager",
|
|
||||||
"share": 1,
|
|
||||||
"write": 1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"quick_entry": 1,
|
|
||||||
"sort_field": "creation",
|
|
||||||
"sort_order": "DESC",
|
|
||||||
"states": []
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +0,0 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
|
||||||
# See license.txt
|
|
||||||
import unittest
|
|
||||||
|
|
||||||
from frappe.tests import IntegrationTestCase
|
|
||||||
|
|
||||||
|
|
||||||
class TestQuickBooksMigrator(IntegrationTestCase):
|
|
||||||
pass
|
|
||||||
Reference in New Issue
Block a user