chore: quickbooks migrator integration removal (#45240)

This commit is contained in:
Diptanil Saha
2025-01-17 16:53:36 +05:30
committed by GitHub
parent 98d401bee4
commit d13c03676b
5 changed files with 0 additions and 1723 deletions

View File

@@ -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);
}
},
});

View File

@@ -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": []
}

View File

@@ -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