update ERPNext - JERP
This commit is contained in:
parent
da7e0f8f1d
commit
93794fd6c4
@ -26,7 +26,7 @@ Jcloude is a 100% open-source cloud hosting for the Jingrow stack.
|
||||
|
||||
### Motivation
|
||||
|
||||
We originally hosted our customer sites on an internal cloud platform called "Central," designed to automate creating and hosting sites when customers signed up on our website. Central was primarily built to host ERPNext, our flagship product. However, as our customers' needs evolved, they began requesting the ability to host custom applications, a feature that was not a priority in Central.
|
||||
We originally hosted our customer sites on an internal cloud platform called "Central," designed to automate creating and hosting sites when customers signed up on our website. Central was primarily built to host JERP, our flagship product. However, as our customers' needs evolved, they began requesting the ability to host custom applications, a feature that was not a priority in Central.
|
||||
|
||||
Additionally, customers lacked full control over their servers—no SSH access, no ability to manage updates, and limited flexibility in interacting with their environment. This led us to launch Jingrow Cloud, to build a self-serve cloud platform that would empower our customers with complete control over their hosting experience.
|
||||
|
||||
|
||||
@ -128,7 +128,7 @@ export default {
|
||||
'Missing Country Compliance App',
|
||||
'Apps are too complex to use and setup',
|
||||
'Jingrow Cloud is complex and difficult to use',
|
||||
'ERPNext is too complex for my needs',
|
||||
'JERP is too complex for my needs',
|
||||
'Unable to migrate to Jingrow Cloud',
|
||||
'My reason is not listed here',
|
||||
];
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<div class="prose prose-sm max-w-none">
|
||||
<h1 class="text-2xl font-semibold">Welcome to Jingrow Cloud</h1>
|
||||
<p>
|
||||
Jingrow Cloud makes it easy to manage sites and apps like ERPNext in an
|
||||
Jingrow Cloud makes it easy to manage sites and apps like JERP in an
|
||||
easy to use dashboard with powerful features like automatic backups,
|
||||
custom domains, SSL certificates, custom apps, automatic updates and
|
||||
more.
|
||||
|
||||
@ -56,7 +56,7 @@ import { toast } from 'vue-sonner';
|
||||
|
||||
const courseTypes = [
|
||||
{ label: 'Framework', value: 'jingrow-developer-certification' },
|
||||
{ label: 'ERPNext', value: 'jerp-distribution' },
|
||||
{ label: 'JERP', value: 'jerp-distribution' },
|
||||
];
|
||||
const show = ref(true);
|
||||
|
||||
|
||||
@ -58,7 +58,7 @@ import { toast } from 'vue-sonner';
|
||||
|
||||
const courseTypes = [
|
||||
{ label: 'Framework', value: 'jingrow-developer-certification' },
|
||||
{ label: 'ERPNext', value: 'jerp-distribution' },
|
||||
{ label: 'JERP', value: 'jerp-distribution' },
|
||||
];
|
||||
const show = ref(true);
|
||||
|
||||
|
||||
@ -60,7 +60,7 @@ export default {
|
||||
format(value) {
|
||||
return value == 'jingrow-developer-certification'
|
||||
? 'Framework'
|
||||
: 'ERPNext';
|
||||
: 'JERP';
|
||||
},
|
||||
width: 0.6,
|
||||
},
|
||||
@ -157,7 +157,7 @@ export default {
|
||||
type: 'select',
|
||||
fieldname: 'course',
|
||||
label: 'Course',
|
||||
options: ['', 'Framework', 'ERPNext'],
|
||||
options: ['', 'Framework', 'JERP'],
|
||||
},
|
||||
];
|
||||
},
|
||||
|
||||
@ -27,7 +27,7 @@ const partnerMembers = createResource({
|
||||
course:
|
||||
d.course == 'jingrow-developer-certification'
|
||||
? 'Framework'
|
||||
: 'ERPNext',
|
||||
: 'JERP',
|
||||
version: d.version,
|
||||
};
|
||||
});
|
||||
|
||||
@ -48,7 +48,7 @@ export default {
|
||||
format(value) {
|
||||
return value == 'jingrow-developer-certification'
|
||||
? 'Framework'
|
||||
: 'ERPNext';
|
||||
: 'JERP';
|
||||
},
|
||||
width: 0.5,
|
||||
},
|
||||
@ -117,7 +117,7 @@ export default {
|
||||
label: 'Course',
|
||||
options: [
|
||||
{ label: 'Framework', value: 'jingrow-developer-certification' },
|
||||
{ label: 'ERPNext', value: 'jerp-distribution' },
|
||||
{ label: 'JERP', value: 'jerp-distribution' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@ -119,7 +119,7 @@ In some cases, it may be so that multiple partners are working on features for a
|
||||
>
|
||||
>
|
||||
|
||||
### Central/ERPNext.com Sites
|
||||
### Central/JERP.com Sites
|
||||
|
||||
* These sites are the ones migrated from central to Frappecloud.
|
||||
* They are all under common team i.e *central@jcloud.jingrow.com* and common plan i.e *Central Site*
|
||||
@ -129,7 +129,7 @@ In some cases, it may be so that multiple partners are working on features for a
|
||||
|
||||
* In the Site's desk page, click Subscription -> **Extend Trial**
|
||||
|
||||
### Update limits/expiry of Central/ERPNext Site
|
||||
### Update limits/expiry of Central/JERP Site
|
||||
|
||||
* Open the **Support Profile** pg on `framework.jingrow.com`
|
||||
|
||||
@ -204,9 +204,9 @@ DEL <db_name>|rate-limit-counter-XXXXX
|
||||
1. From Site pg, go to Subscription > Change Team and select the team you want to move the account to
|
||||
2. From Site pg, go to Subscription > Change Plan and select desired plan
|
||||
3. From dashboard page of site config, remove `limits` key and values
|
||||
4. Uninstall Journeys app and ERPNext Support app
|
||||
4. Uninstall Journeys app and JERP Support app
|
||||
5. Uncheck free site checkbox if checked (Billing Section)
|
||||
6. Move them to a non ERPNext Release Group (`bench-0001`, `bench-0020`) so they don’t get free emails and other things in `common_site_config` (You may skip this step for now)
|
||||
6. Move them to a non JERP Release Group (`bench-0001`, `bench-0020`) so they don’t get free emails and other things in `common_site_config` (You may skip this step for now)
|
||||
|
||||
### Replicate a Site
|
||||
|
||||
|
||||
@ -321,7 +321,7 @@ class Agent:
|
||||
def setup_jerp(self, site, user, config):
|
||||
data = {"user": user, "config": config}
|
||||
return self.create_agent_job(
|
||||
"Setup ERPNext",
|
||||
"Setup JERP",
|
||||
f"benches/{site.bench}/sites/{site.name}/jerp",
|
||||
data,
|
||||
bench=site.bench,
|
||||
|
||||
@ -184,7 +184,7 @@ def check_subdomain_availability(subdomain, app):
|
||||
"""
|
||||
Checks if subdomain is available to create a new site
|
||||
"""
|
||||
# Only for ERPNext domains
|
||||
# Only for JERP domains
|
||||
|
||||
if len(subdomain) <= 4:
|
||||
return False
|
||||
|
||||
@ -438,7 +438,7 @@ class TestAPISite(FrappeTestCase):
|
||||
from jcloude.api.site import installed_apps
|
||||
|
||||
app1 = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
group = create_test_release_group([app1, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
|
||||
@ -456,7 +456,7 @@ class TestAPISite(FrappeTestCase):
|
||||
from jcloude.api.site import available_apps
|
||||
|
||||
app1 = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
app3 = create_test_app("insights", "Insights")
|
||||
group = create_test_release_group([app1, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
@ -479,7 +479,7 @@ class TestAPISite(FrappeTestCase):
|
||||
from jcloude.api.site import install_app
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
group = create_test_release_group([app, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
|
||||
@ -507,7 +507,7 @@ class TestAPISite(FrappeTestCase):
|
||||
from jcloude.api.site import uninstall_app
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
group = create_test_release_group([app, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
|
||||
@ -537,7 +537,7 @@ class TestAPISite(FrappeTestCase):
|
||||
from jcloude.api.site import restore
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
app3 = create_test_app("insights", "Insights")
|
||||
group = create_test_release_group([app, app2, app3])
|
||||
bench = create_test_bench(group=group)
|
||||
@ -584,7 +584,7 @@ insights 0.8.3 HEAD
|
||||
from jcloude.api.site import restore
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
group = create_test_release_group([app, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
|
||||
@ -626,7 +626,7 @@ insights 0.8.3 HEAD
|
||||
from jcloude.api.site import restore
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
create_test_marketplace_app("jerp")
|
||||
app3 = create_test_app("insights", "Insights")
|
||||
create_test_marketplace_app("insights")
|
||||
@ -676,7 +676,7 @@ insights 0.8.3 HEAD
|
||||
from jcloude.api.site import new
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
group = create_test_release_group([app, app2])
|
||||
plan = create_test_plan("Site")
|
||||
create_test_bench(group=group)
|
||||
|
||||
@ -725,7 +725,7 @@
|
||||
"pagetype": "Agent Job Type",
|
||||
"max_retry_count": 6,
|
||||
"modified": "2023-11-06 07:28:19.180358",
|
||||
"name": "Setup ERPNext",
|
||||
"name": "Setup JERP",
|
||||
"request_method": "POST",
|
||||
"request_path": "/benches/{site.bench}/sites/{site.name}/jerp",
|
||||
"steps": [
|
||||
@ -733,7 +733,7 @@
|
||||
"step_name": "Create User"
|
||||
},
|
||||
{
|
||||
"step_name": "Update ERPNext Configuration"
|
||||
"step_name": "Update JERP Configuration"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@ -338,7 +338,7 @@
|
||||
{
|
||||
"fieldname": "jerp_success_pack_interested_in",
|
||||
"fieldtype": "Data",
|
||||
"label": "ERPNext Success Pack Interested In"
|
||||
"label": "JERP Success Pack Interested In"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
|
||||
@ -114,7 +114,7 @@
|
||||
"fieldname": "jerp",
|
||||
"fieldtype": "Check",
|
||||
"hidden": 1,
|
||||
"label": "ERPNext"
|
||||
"label": "JERP"
|
||||
},
|
||||
{
|
||||
"fieldname": "company",
|
||||
@ -140,7 +140,7 @@
|
||||
"collapsible": 1,
|
||||
"fieldname": "section_break_8",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext Sign Up"
|
||||
"label": "JERP Sign Up"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_14",
|
||||
|
||||
@ -1076,7 +1076,7 @@ def process_job_updates(job_name: str, response_data: dict | None = None): # no
|
||||
process_update_site_recover_job_update(job)
|
||||
elif job.job_type == "Rename Site" or job.job_type == "Rename Site on Upstream":
|
||||
process_rename_site_job_update(job)
|
||||
elif job.job_type == "Setup ERPNext":
|
||||
elif job.job_type == "Setup JERP":
|
||||
process_setup_jerp_site_job_update(job)
|
||||
elif job.job_type == "Restore Site Tables":
|
||||
process_restore_tables_job_update(job)
|
||||
|
||||
@ -38,7 +38,7 @@ class TestApp(FrappeTestCase):
|
||||
self.assertEqual(source.versions[0].version, "Version 12")
|
||||
|
||||
def test_create_non_jingrow_app(self):
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
app = create_test_app("jerp", "JERP")
|
||||
self.assertEqual(app.jingrow, False)
|
||||
|
||||
source = app.add_source(
|
||||
@ -77,7 +77,7 @@ class TestApp(FrappeTestCase):
|
||||
self.assertEqual(source_2.versions[0].version, "Version 13")
|
||||
|
||||
def test_create_app_with_one_source_multiple_versions(self):
|
||||
app = create_test_app("jerp_documentation", "ERPNext Documentation")
|
||||
app = create_test_app("jerp_documentation", "JERP Documentation")
|
||||
team_name = create_test_team().name
|
||||
|
||||
source_1 = app.add_source(
|
||||
|
||||
@ -182,7 +182,7 @@ class TestDeployCandidate(FrappeTestCase):
|
||||
bench = create_test_bench()
|
||||
# Create another app
|
||||
group = jingrow.get_pg("Release Group", bench.group)
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
app = create_test_app("jerp", "JERP")
|
||||
source = create_test_app_source(group.version, app)
|
||||
release = create_test_app_release(source)
|
||||
group.update_source(source)
|
||||
@ -204,14 +204,14 @@ class TestDeployCandidate(FrappeTestCase):
|
||||
bench = create_test_bench()
|
||||
# Create another app
|
||||
group = jingrow.get_pg("Release Group", bench.group)
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
app = create_test_app("jerp", "JERP")
|
||||
jerp_source = create_test_app_source(group.version, app)
|
||||
group.update_source(jerp_source)
|
||||
first_candidate = group.create_deploy_candidate(group.apps)
|
||||
|
||||
dc_count_before = jingrow.db.count("Deploy Candidate", filters={"group": group.name})
|
||||
|
||||
# Enable auto deploy on ERPNext app
|
||||
# Enable auto deploy on JERP app
|
||||
group.apps[1].enable_auto_deploy = True
|
||||
group.save()
|
||||
|
||||
|
||||
@ -134,16 +134,16 @@ class DripEmail(Page):
|
||||
|
||||
def select_consultant(self, site) -> str:
|
||||
"""
|
||||
Select random ERPNext Consultant to send email.
|
||||
Select random JERP Consultant to send email.
|
||||
|
||||
Also set sender details.
|
||||
"""
|
||||
if not site.jerp_consultant:
|
||||
# set a random consultant for the site for the first time
|
||||
site.jerp_consultant = get_random("ERPNext Consultant", dict(active=1))
|
||||
site.jerp_consultant = get_random("JERP Consultant", dict(active=1))
|
||||
jingrow.db.set_value("Site", site.name, "jerp_consultant", site.jerp_consultant)
|
||||
|
||||
consultant = jingrow.get_pg("ERPNext Consultant", site.jerp_consultant)
|
||||
consultant = jingrow.get_pg("JERP Consultant", site.jerp_consultant)
|
||||
self.sender = consultant.name
|
||||
self.sender_name = consultant.full_name
|
||||
return consultant
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"modified": "2021-03-31 11:08:26.860569",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Jcloude",
|
||||
"name": "ERPNext App",
|
||||
"name": "JERP App",
|
||||
"owner": "Administrator",
|
||||
"permissions": [],
|
||||
"sort_field": "modified",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// Copyright (c) 2019, JINGROW
|
||||
// For license information, please see license.txt
|
||||
|
||||
jingrow.ui.form.on('ERPNext Consultant', {
|
||||
jingrow.ui.form.on('JERP Consultant', {
|
||||
refresh: function (frm) {},
|
||||
});
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
"fieldname": "territories",
|
||||
"fieldtype": "Table MultiSelect",
|
||||
"label": "Territories",
|
||||
"options": "ERPNext Consultant Region"
|
||||
"options": "JERP Consultant Region"
|
||||
},
|
||||
{
|
||||
"fieldname": "user",
|
||||
@ -43,7 +43,7 @@
|
||||
"modified": "2021-04-21 18:08:19.750497",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Jcloude",
|
||||
"name": "ERPNext Consultant",
|
||||
"name": "JERP Consultant",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"modified": "2021-04-29 20:25:56.246263",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Jcloude",
|
||||
"name": "ERPNext Consultant Region",
|
||||
"name": "JERP Consultant Region",
|
||||
"owner": "Administrator",
|
||||
"permissions": [],
|
||||
"sort_field": "modified",
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Copyright (c) 2022, JINGROW
|
||||
// For license information, please see license.txt
|
||||
|
||||
jingrow.ui.form.on('ERPNext Site Settings', {
|
||||
jingrow.ui.form.on('JERP Site Settings', {
|
||||
refresh: function (frm) {
|
||||
frm.add_custom_button(__('Open Site'), () => {
|
||||
window.open(`https://jcloud.jingrow.com/dashboard/sites/${frm.pg.site}`);
|
||||
|
||||
@ -77,7 +77,7 @@
|
||||
"modified": "2022-06-20 06:58:05.388164",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Jcloude",
|
||||
"name": "ERPNext Site Settings",
|
||||
"name": "JERP Site Settings",
|
||||
"naming_rule": "By fieldname",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
|
||||
@ -393,22 +393,22 @@
|
||||
"collapsible": 1,
|
||||
"fieldname": "jerp_authentication",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext Authentication"
|
||||
"label": "JERP Authentication"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_url",
|
||||
"fieldtype": "Data",
|
||||
"label": "ERPNext URL"
|
||||
"label": "JERP URL"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_api_key",
|
||||
"fieldtype": "Data",
|
||||
"label": "ERPNext API Key"
|
||||
"label": "JERP API Key"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_api_secret",
|
||||
"fieldtype": "Password",
|
||||
"label": "ERPNext API Secret"
|
||||
"label": "JERP API Secret"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_38",
|
||||
@ -657,17 +657,17 @@
|
||||
{
|
||||
"fieldname": "jerp_tab",
|
||||
"fieldtype": "Tab Break",
|
||||
"label": "ERPNext"
|
||||
"label": "JERP"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_signups_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext Signups"
|
||||
"label": "JERP Signups"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_domain",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Domain",
|
||||
"label": "JERP Domain",
|
||||
"options": "Root Domain"
|
||||
},
|
||||
{
|
||||
@ -675,19 +675,19 @@
|
||||
"fetch_if_empty": 1,
|
||||
"fieldname": "jerp_cluster",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Cluster",
|
||||
"label": "JERP Cluster",
|
||||
"options": "Cluster"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_plan",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Plan",
|
||||
"label": "JERP Plan",
|
||||
"options": "Site Plan"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_group",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Group",
|
||||
"label": "JERP Group",
|
||||
"options": "Release Group"
|
||||
},
|
||||
{
|
||||
@ -697,8 +697,8 @@
|
||||
{
|
||||
"fieldname": "jerp_apps",
|
||||
"fieldtype": "Table",
|
||||
"label": "ERPNext Apps",
|
||||
"options": "ERPNext App"
|
||||
"label": "JERP Apps",
|
||||
"options": "JERP App"
|
||||
},
|
||||
{
|
||||
"fieldname": "central_migration_server",
|
||||
@ -728,7 +728,7 @@
|
||||
"collapsible": 1,
|
||||
"fieldname": "jerp_site_pool_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext Site Pool"
|
||||
"label": "JERP Site Pool"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"fieldname": "last_allocated_to",
|
||||
"fieldtype": "Link",
|
||||
"label": "Last Allocated To",
|
||||
"options": "ERPNext Consultant",
|
||||
"options": "JERP Consultant",
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
|
||||
@ -107,7 +107,7 @@ class TestReleaseGroup(FrappeTestCase):
|
||||
source1 = app1.add_source(
|
||||
"Version 12", "http://git.jingrow.com/jingrow/jingrow", "version-12", team=self.team
|
||||
)
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
source2 = app2.add_source(
|
||||
"Version 12", "http://git.jingrow.com/jingrow/jerp", "version-12", team=self.team
|
||||
)
|
||||
@ -120,7 +120,7 @@ class TestReleaseGroup(FrappeTestCase):
|
||||
self.assertEqual(group.apps[0].app, source1.app)
|
||||
|
||||
def test_create_release_group_fail_when_first_app_is_not_jingrow(self):
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
app = create_test_app("jerp", "JERP")
|
||||
source = app.add_source(
|
||||
"Version 12", "http://git.jingrow.com/jingrow/jerp", "version-12", team=self.team
|
||||
)
|
||||
@ -431,7 +431,7 @@ class TestReleaseGroup(FrappeTestCase):
|
||||
release_group.insert()
|
||||
|
||||
# Insert dependant app and check if it works
|
||||
jerp = create_test_app("jerp", "ERPNext")
|
||||
jerp = create_test_app("jerp", "JERP")
|
||||
jerp_app_source = create_test_app_source(
|
||||
"Nightly", jerp, "http://git.jingrow.com/jingrow/jerp", "master", self.team
|
||||
)
|
||||
|
||||
@ -360,13 +360,13 @@
|
||||
"default": "0",
|
||||
"fieldname": "is_jerp_setup",
|
||||
"fieldtype": "Check",
|
||||
"label": "Is ERPNext Setup"
|
||||
"label": "Is JERP Setup"
|
||||
},
|
||||
{
|
||||
"fieldname": "jerp_consultant",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Consultant",
|
||||
"options": "ERPNext Consultant"
|
||||
"label": "JERP Consultant",
|
||||
"options": "JERP Consultant"
|
||||
},
|
||||
{
|
||||
"fieldname": "plan",
|
||||
@ -785,7 +785,7 @@
|
||||
},
|
||||
{
|
||||
"group": "Related Documents",
|
||||
"link_pagetype": "ERPNext Site Settings",
|
||||
"link_pagetype": "JERP Site Settings",
|
||||
"link_fieldname": "site"
|
||||
},
|
||||
{
|
||||
|
||||
@ -4594,7 +4594,7 @@ def archive_suspended_sites():
|
||||
filters = [
|
||||
["status", "=", "Suspended"],
|
||||
["trial_end_date", "is", "not set"],
|
||||
["plan", "!=", "ERPNext Trial"],
|
||||
["plan", "!=", "JERP Trial"],
|
||||
]
|
||||
|
||||
sites = jingrow.db.get_all(
|
||||
|
||||
@ -481,7 +481,7 @@ class TestSite(FrappeTestCase):
|
||||
@patch.object(AppSource, "validate_dependent_apps", new=Mock())
|
||||
def test_sync_apps_updates_apps_child_table(self):
|
||||
app1 = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
group = create_test_release_group([app1, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
site = create_test_site(bench=bench.name)
|
||||
@ -513,7 +513,7 @@ class TestSite(FrappeTestCase):
|
||||
|
||||
def test_apps_are_reordered_to_follow_bench_order(self):
|
||||
app1 = create_test_app()
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app2 = create_test_app("jerp", "JERP")
|
||||
app3 = create_test_app("crm", "Jingrow CRM")
|
||||
group = create_test_release_group([app1, app2, app3])
|
||||
bench = create_test_bench(group=group)
|
||||
@ -540,7 +540,7 @@ class TestSite(FrappeTestCase):
|
||||
) # site2 suspended recently
|
||||
site3 = create_test_site() # active site should not be archived
|
||||
|
||||
create_test_saas_settings(None, [create_test_app(), create_test_app("jerp", "ERPNext")])
|
||||
create_test_saas_settings(None, [create_test_app(), create_test_app("jerp", "JERP")])
|
||||
|
||||
archive_suspended_sites()
|
||||
site.reload()
|
||||
@ -574,7 +574,7 @@ class TestSite(FrappeTestCase):
|
||||
|
||||
create_test_site_backup(site2.name)
|
||||
|
||||
create_test_saas_settings(None, [create_test_app(), create_test_app("jerp", "ERPNext")])
|
||||
create_test_saas_settings(None, [create_test_app(), create_test_app("jerp", "JERP")])
|
||||
|
||||
self.assertEqual(jingrow.db.count("Site Backup", {"site": site.name, "status": "Pending"}), 0)
|
||||
self.assertEqual(jingrow.db.count("Site Backup", {"site": site2.name, "status": "Pending"}), 0)
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
{
|
||||
"fieldname": "jerp_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext"
|
||||
"label": "JERP"
|
||||
},
|
||||
{
|
||||
"fieldname": "country",
|
||||
|
||||
@ -9,7 +9,7 @@ jingrow.ui.form.on('Team', {
|
||||
if (!frm.pg.jerp_partner) {
|
||||
frm.add_custom_button('Enable Partner Privileges', () =>
|
||||
jingrow.confirm(
|
||||
`Enable ERPNext Partner Privileges for ${frm.pg.name.bold()}? They will be allowed to create sites without adding a card and can use Partner Credits to pay for invoices.`,
|
||||
`Enable JERP Partner Privileges for ${frm.pg.name.bold()}? They will be allowed to create sites without adding a card and can use Partner Credits to pay for invoices.`,
|
||||
() =>
|
||||
frm.call('enable_jerp_partner_privileges').then(() =>
|
||||
jingrow.msgprint({
|
||||
@ -23,7 +23,7 @@ jingrow.ui.form.on('Team', {
|
||||
} else {
|
||||
frm.add_custom_button('Disable Partner Privileges', () =>
|
||||
jingrow.confirm(
|
||||
`Disable ERPNext Partner Privileges for ${frm.pg.name.bold()}? `,
|
||||
`Disable JERP Partner Privileges for ${frm.pg.name.bold()}? `,
|
||||
() =>
|
||||
frm.call('disable_jerp_partner_privileges').then(() => {
|
||||
jingrow.msgprint({
|
||||
|
||||
@ -209,10 +209,10 @@
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"description": "Enabled if this account was created via the ERPNext signup form",
|
||||
"description": "Enabled if this account was created via the JERP signup form",
|
||||
"fieldname": "via_jerp",
|
||||
"fieldtype": "Check",
|
||||
"label": "Via ERPNext",
|
||||
"label": "Via JERP",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
@ -520,7 +520,7 @@
|
||||
"fieldname": "jerp_partner",
|
||||
"fieldtype": "Check",
|
||||
"in_standard_filter": 1,
|
||||
"label": "ERPNext Partner",
|
||||
"label": "JERP Partner",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
|
||||
@ -203,7 +203,7 @@ class ProductTrialRequest(Page):
|
||||
"language": "en",
|
||||
"currency": team_details.currency,
|
||||
# setup wizard will override currency anyway
|
||||
# but adding this since ERPNext will throw an error otherwise
|
||||
# but adding this since JERP will throw an error otherwise
|
||||
}
|
||||
)
|
||||
except Exception as e:
|
||||
|
||||
@ -88,7 +88,7 @@
|
||||
"fieldname": "apps",
|
||||
"fieldtype": "Table",
|
||||
"label": "Apps",
|
||||
"options": "ERPNext App"
|
||||
"options": "JERP App"
|
||||
},
|
||||
{
|
||||
"fieldname": "site_plan",
|
||||
@ -121,7 +121,7 @@
|
||||
"fieldname": "whitelisted_apps",
|
||||
"fieldtype": "Table",
|
||||
"label": "Whitelisted Apps",
|
||||
"options": "ERPNext App"
|
||||
"options": "JERP App"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<div class="p-8 bg-white from-markdown">
|
||||
<p>Hello,</p>
|
||||
<strong>
|
||||
Thanks for signing up for ERPNext!
|
||||
Thanks for signing up for JERP!
|
||||
</strong>
|
||||
<p>
|
||||
Please confirm your email address by clicking the button below:
|
||||
@ -16,7 +16,7 @@
|
||||
{{ utils.separator() }}
|
||||
<p class="m-0">
|
||||
Thanks,<br>
|
||||
Team ERPNext
|
||||
Team JERP
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<a class="mr-4 text-lg text-[#4C5A67] leading-8 font-medium" href="https://framework.jingrow.com"
|
||||
rel="noreferrer">Jingrow</a>
|
||||
<a class="mr-4 text-lg text-[#4C5A67] leading-8 font-medium" href="https://jerp.jingrow.com"
|
||||
rel="noreferrer">ERPNext</a>
|
||||
rel="noreferrer">JERP</a>
|
||||
<a class="mr-4 text-lg text-[#4C5A67] leading-8 font-medium" href="https://jingrow.school"
|
||||
rel="noreferrer">Jingrow
|
||||
School</a>
|
||||
|
||||
@ -62,7 +62,7 @@ def get_jerp.jingrow.com_connection():
|
||||
jerp_api_secret = jcloude_settings.get_password("jerp_api_secret", raise_exception=False)
|
||||
|
||||
if not (jcloude_settings.jerp_api_key and jcloude_settings.jerp_url and jerp_api_secret):
|
||||
jingrow.throw("ERPNext.com URL not set up in Jcloude Settings", exc=CentralServerNotSet)
|
||||
jingrow.throw("JERP.com URL not set up in Jcloude Settings", exc=CentralServerNotSet)
|
||||
|
||||
return FrappeClient(
|
||||
jcloude_settings.jerp_url,
|
||||
|
||||
@ -70,13 +70,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="source">Where did you hear about ERPNext?</label>
|
||||
<label for="source">Where did you hear about JERP?</label>
|
||||
<select id="source" class="custom-select" name="referral_source">
|
||||
<option></option>
|
||||
<option>Social media</option>
|
||||
<option>Google Search</option>
|
||||
<option>Recommended by a friend/colleague</option>
|
||||
<option>ERPNext Blog</option>
|
||||
<option>JERP Blog</option>
|
||||
<option>Online reviews (like Capterra/G2)</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
data-step="1"
|
||||
data-action="submit_account_request"
|
||||
>
|
||||
<h1 class="step-1">Signup for ERPNext SMB</h1>
|
||||
<h1 class="step-1">Signup for JERP SMB</h1>
|
||||
<div class="form-group">
|
||||
<label for="subdomain">Site Name</label>
|
||||
<div class="input-group">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user