update erpnext to jerp
This commit is contained in:
parent
3f6f130113
commit
da7e0f8f1d
@ -170,7 +170,7 @@
|
||||
"equivs",
|
||||
"erikgeiser",
|
||||
"erpdb",
|
||||
"erpnext",
|
||||
"jerp",
|
||||
"erpnextcom",
|
||||
"erpnextsmb",
|
||||
"errgo",
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="88px" height="88px" viewBox="0 0 88 88" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 56.2 (81672) - https://sketch.com -->
|
||||
<title>erpnext-logo</title>
|
||||
<title>jerp-logo</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="erpnext-logo" fill-rule="nonzero">
|
||||
<g id="jerp-logo" fill-rule="nonzero">
|
||||
<path d="M74.0833425,8.65999998e-07 C81.4123344,8.65999998e-07 87.3125279,5.90019975 87.3125279,13.2291584 L87.3125279,74.0833368 C87.3125279,81.4122954 81.4123344,87.3125043 74.0833425,87.3125043 L13.2292094,87.3125043 C5.90031746,87.3125043 2.3949e-05,81.4122954 2.3949e-05,74.0833368 L2.3949e-05,13.2291584 C2.3949e-05,5.90019975 5.90031746,8.65999998e-07 13.2292094,8.65999998e-07 L74.0833425,8.65999998e-07 Z" id="Box" fill="#5A67D8"></path>
|
||||
<path d="M29.7776717,21.8279666 C29.5028225,21.8279666 29.2349848,21.8558854 28.9761694,21.9085798 C28.7173275,21.9612743 28.4675079,22.0389083 28.229965,22.1390584 C28.1111671,22.1891334 27.9957029,22.2450161 27.8832021,22.3059734 C27.6582269,22.4278829 27.4465337,22.5707975 27.2506891,22.7323019 C26.3693091,23.4590779 25.8089216,24.5599536 25.8089216,25.7967167 L25.8089216,26.0385617 L25.8089216,61.2741253 L25.8089216,61.5154782 C25.8089216,63.7141657 27.5789842,65.4842283 29.7776717,65.4842283 L57.5346337,65.4842283 C59.7333212,65.4842283 61.5033838,63.7141657 61.5033838,61.5154782 L61.5033838,61.2741253 C61.5033838,59.0754377 59.7333212,57.3053752 57.5346337,57.3053752 L33.988251,57.3053752 L33.988251,47.4201976 L51.4957041,47.4201976 C53.6943917,47.4201976 55.4644542,45.6501351 55.4644542,43.4514475 L55.4644542,43.2101211 C55.4644542,41.0114335 53.6943917,39.241371 51.4957041,39.241371 L33.988251,39.241371 L33.988251,30.0073118 L57.5346337,30.0073118 C59.7333212,30.0073118 61.5033838,28.2372493 61.5033838,26.0385617 L61.5033838,25.7967167 C61.5033838,23.5980291 59.7333212,21.8279666 57.5346337,21.8279666 L29.7776717,21.8279666 Z" id="E" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@ -83,7 +83,7 @@ export default {
|
||||
validate() {
|
||||
if (
|
||||
this.amount < this.minimumAmount &&
|
||||
!this.$team.pg.erpnext_partner
|
||||
!this.$team.pg.jerp_partner
|
||||
) {
|
||||
throw new DashboardError(
|
||||
`Amount must be greater than or equal to ${this.minimumAmount}`,
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
</td>
|
||||
<td class="whitespace-nowrap pb-2 pr-2 pt-4 text-right font-medium">
|
||||
{{
|
||||
$team.pg.erpnext_partner
|
||||
$team.pg.jerp_partner
|
||||
? formatCurrency(pg.total_discount_amount)
|
||||
: formatCurrency(0)
|
||||
}}
|
||||
|
||||
@ -208,7 +208,7 @@ export default {
|
||||
icon: () => h(Globe),
|
||||
route: '/partners',
|
||||
isActive: routeName === 'Partnership',
|
||||
condition: Boolean(this.$team.pg.erpnext_partner),
|
||||
condition: Boolean(this.$team.pg.jerp_partner),
|
||||
disabled: enforce2FA,
|
||||
},
|
||||
{
|
||||
|
||||
@ -82,7 +82,7 @@ const createPaymentIntent = createResource({
|
||||
url: 'jcloude.api.billing.create_payment_intent_for_buying_credits',
|
||||
params: { amount: props.amount },
|
||||
validate() {
|
||||
if (props.amount < props.minimumAmount && !team.pg.erpnext_partner) {
|
||||
if (props.amount < props.minimumAmount && !team.pg.jerp_partner) {
|
||||
throw new DashboardError(
|
||||
`Amount must be greater than or equal to ${props.minimumAmount}`,
|
||||
);
|
||||
|
||||
@ -56,7 +56,7 @@ import { toast } from 'vue-sonner';
|
||||
|
||||
const courseTypes = [
|
||||
{ label: 'Framework', value: 'jingrow-developer-certification' },
|
||||
{ label: 'ERPNext', value: 'erpnext-distribution' },
|
||||
{ label: 'ERPNext', 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: 'erpnext-distribution' },
|
||||
{ label: 'ERPNext', value: 'jerp-distribution' },
|
||||
];
|
||||
const show = ref(true);
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@
|
||||
:disabled="adminAccess"
|
||||
/>
|
||||
<Switch
|
||||
v-if="$team.pg.erpnext_partner"
|
||||
v-if="$team.pg.jerp_partner"
|
||||
v-model="allowPartner"
|
||||
label="Allow Partner Access"
|
||||
:disabled="adminAccess"
|
||||
|
||||
@ -57,7 +57,7 @@
|
||||
type="select"
|
||||
size="sm"
|
||||
variant="subtle"
|
||||
placeholder="erpnext.jingrow.cloud"
|
||||
placeholder="jerp.jingrow.cloud"
|
||||
model-value=""
|
||||
:options="resourceOptions"
|
||||
@update:model-value="
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<Card
|
||||
v-if="!$team.pg?.erpnext_partner"
|
||||
v-if="!$team.pg?.jerp_partner"
|
||||
title="Jingrow Partner"
|
||||
subtitle="Jingrow Partner associated with your account"
|
||||
class="mx-auto max-w-3xl"
|
||||
|
||||
@ -117,7 +117,7 @@ export default {
|
||||
label: 'Course',
|
||||
options: [
|
||||
{ label: 'Framework', value: 'jingrow-developer-certification' },
|
||||
{ label: 'ERPNext', value: 'erpnext-distribution' },
|
||||
{ label: 'ERPNext', value: 'jerp-distribution' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@ -147,7 +147,7 @@ export default {
|
||||
return {
|
||||
partnerInput: '',
|
||||
paymentGateway: '',
|
||||
partnerCommission: this.$team.pg.erpnext_partner ? 10 : 5,
|
||||
partnerCommission: this.$team.pg.jerp_partner ? 10 : 5,
|
||||
from_date: new Date().toISOString().split('T')[0],
|
||||
to_date: new Date().toISOString().split('T')[0],
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
</div>
|
||||
<TabsWithRouter
|
||||
v-if="
|
||||
Boolean(this.$team.pg.erpnext_partner) && $session.hasPartnerAccess
|
||||
Boolean(this.$team.pg.jerp_partner) && $session.hasPartnerAccess
|
||||
"
|
||||
:tabs="tabs"
|
||||
/>
|
||||
@ -45,19 +45,19 @@ export default {
|
||||
{
|
||||
label: 'Overview',
|
||||
route: { name: 'PartnerOverview' },
|
||||
condition: () => Boolean(this.$team.pg.erpnext_partner),
|
||||
condition: () => Boolean(this.$team.pg.jerp_partner),
|
||||
},
|
||||
{
|
||||
label: 'Website Details',
|
||||
route: { name: 'PartnerWebsiteDetails' },
|
||||
condition: () => Boolean(this.$team.pg.erpnext_partner),
|
||||
condition: () => Boolean(this.$team.pg.jerp_partner),
|
||||
},
|
||||
{
|
||||
label: 'Dashboard',
|
||||
route: { name: 'PartnerDashboard' },
|
||||
condition: () =>
|
||||
Boolean(
|
||||
this.$team.pg.erpnext_partner &&
|
||||
this.$team.pg.jerp_partner &&
|
||||
this.$team.pg.partner_status === 'Active' &&
|
||||
this.$session.hasPartnerDashboardAccess,
|
||||
),
|
||||
@ -67,7 +67,7 @@ export default {
|
||||
route: { name: 'PartnerCustomers' },
|
||||
condition: () =>
|
||||
Boolean(
|
||||
this.$team.pg.erpnext_partner &&
|
||||
this.$team.pg.jerp_partner &&
|
||||
this.$team.pg.partner_status === 'Active' &&
|
||||
this.$session.hasPartnerCustomerAccess,
|
||||
),
|
||||
@ -77,7 +77,7 @@ export default {
|
||||
route: { name: 'PartnerLeads' },
|
||||
condition: () =>
|
||||
Boolean(
|
||||
this.$team.pg.erpnext_partner &&
|
||||
this.$team.pg.jerp_partner &&
|
||||
this.$team.pg.partner_status === 'Active' &&
|
||||
this.$session.hasPartnerLeadsAccess,
|
||||
),
|
||||
@ -87,7 +87,7 @@ export default {
|
||||
route: { name: 'PartnerCertificates' },
|
||||
condition: () =>
|
||||
Boolean(
|
||||
this.$team.pg.erpnext_partner &&
|
||||
this.$team.pg.jerp_partner &&
|
||||
this.$team.pg.partner_status === 'Active',
|
||||
),
|
||||
},
|
||||
@ -96,7 +96,7 @@ export default {
|
||||
route: { name: 'PartnerResources' },
|
||||
condition: () =>
|
||||
Boolean(
|
||||
this.$team.pg.erpnext_partner &&
|
||||
this.$team.pg.jerp_partner &&
|
||||
this.$team.pg.partner_status === 'Active',
|
||||
),
|
||||
},
|
||||
@ -105,7 +105,7 @@ export default {
|
||||
route: { name: 'PartnerContributions' },
|
||||
condition: () =>
|
||||
Boolean(
|
||||
this.$team.pg.erpnext_partner &&
|
||||
this.$team.pg.jerp_partner &&
|
||||
this.$team.pg.partner_status === 'Active' &&
|
||||
this.$session.hasPartnerContributionAccess,
|
||||
),
|
||||
@ -117,7 +117,7 @@ export default {
|
||||
Boolean(
|
||||
this.$team.pg.country === 'Kenya' &&
|
||||
this.$team.pg.mpesa_enabled &&
|
||||
this.$team.pg.erpnext_partner &&
|
||||
this.$team.pg.jerp_partner &&
|
||||
this.$team.pg.partner_status === 'Active',
|
||||
),
|
||||
},
|
||||
|
||||
@ -285,7 +285,7 @@ server {
|
||||
proxy_hide_header "Set-Cookie";
|
||||
proxy_set_header Cookie "";
|
||||
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' https://*.erpnext.com https://*.frappehr.com https://*.jingrow.cloud https://*.frappedesk.com;";
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' https://*.jerp.jingrow.com https://*.frappehr.com https://*.jingrow.cloud https://*.frappedesk.com;";
|
||||
add_header X-Cache-Status $upstream_cache_status;
|
||||
|
||||
proxy_set_header X-Forwarded-For $REMOTE_ADDR;
|
||||
@ -310,7 +310,7 @@ server {
|
||||
proxy_hide_header "Set-Cookie";
|
||||
proxy_set_header Cookie "";
|
||||
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' https://*.erpnext.com https://*.frappehr.com https://*.jingrow.cloud https://*.frappedesk.com;";
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' https://*.jerp.jingrow.com https://*.frappehr.com https://*.jingrow.cloud https://*.frappedesk.com;";
|
||||
add_header X-Cache-Status $upstream_cache_status;
|
||||
|
||||
proxy_set_header X-Forwarded-For $REMOTE_ADDR;
|
||||
@ -335,7 +335,7 @@ server {
|
||||
proxy_hide_header "Set-Cookie";
|
||||
proxy_set_header Cookie "";
|
||||
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' https://*.erpnext.com https://*.frappehr.com https://*.jingrow.cloud https://*.frappedesk.com;";
|
||||
add_header Content-Security-Policy "frame-ancestors 'self' https://*.jerp.jingrow.com https://*.frappehr.com https://*.jingrow.cloud https://*.frappedesk.com;";
|
||||
add_header X-Cache-Status $upstream_cache_status;
|
||||
|
||||
proxy_set_header X-Forwarded-For $REMOTE_ADDR;
|
||||
|
||||
@ -27,7 +27,7 @@ Once approved, the new release will be available for deployment on bench groups
|
||||
|
||||
## Server Script for Auto-approving of App Releases for Marketplace App
|
||||
|
||||
There is a Server Script that auto-approves releases (sets the status of the ‘App Release’ pg to ‘Approved’) for all the apps belonging to team@erpnext.com (Auto approve jingrow/erpnext releases (jcloud.jingrow.com)).
|
||||
There is a Server Script that auto-approves releases (sets the status of the ‘App Release’ pg to ‘Approved’) for all the apps belonging to team@jerp.jingrow.com (Auto approve jingrow/jerp releases (jcloud.jingrow.com)).
|
||||
|
||||
|
||||
## Publishing of New Apps
|
||||
|
||||
@ -318,11 +318,11 @@ class Agent:
|
||||
site=site.name,
|
||||
)
|
||||
|
||||
def setup_erpnext(self, site, user, config):
|
||||
def setup_jerp(self, site, user, config):
|
||||
data = {"user": user, "config": config}
|
||||
return self.create_agent_job(
|
||||
"Setup ERPNext",
|
||||
f"benches/{site.bench}/sites/{site.name}/erpnext",
|
||||
f"benches/{site.bench}/sites/{site.name}/jerp",
|
||||
data,
|
||||
bench=site.bench,
|
||||
site=site.name,
|
||||
|
||||
@ -494,7 +494,7 @@ def _get():
|
||||
if team_pg.partner_email:
|
||||
partner_billing_name = jingrow.db.get_value(
|
||||
"Team",
|
||||
{"erpnext_partner": 1, "partner_email": team_pg.partner_email},
|
||||
{"jerp_partner": 1, "partner_email": team_pg.partner_email},
|
||||
"billing_name",
|
||||
)
|
||||
number_of_sites = jingrow.db.count("Site", {"team": team_pg.name, "status": ("!=", "Archived")})
|
||||
|
||||
@ -319,7 +319,7 @@ def create_payment_intent_for_buying_credits(amount):
|
||||
metadata = {"payment_for": "prepaid_credits"}
|
||||
total_unpaid = total_unpaid_amount()
|
||||
|
||||
if amount < total_unpaid and not team.erpnext_partner:
|
||||
if amount < total_unpaid and not team.jerp_partner:
|
||||
jingrow.throw(f"Amount {amount} is less than the total unpaid amount {total_unpaid}.")
|
||||
|
||||
if team.currency == "INR":
|
||||
@ -485,7 +485,7 @@ def change_payment_mode(mode):
|
||||
if team.partner_email and mode == "Paid By Partner" and not team.billing_team:
|
||||
team.billing_team = jingrow.db.get_value(
|
||||
"Team",
|
||||
{"enabled": 1, "erpnext_partner": 1, "partner_email": team.partner_email},
|
||||
{"enabled": 1, "jerp_partner": 1, "partner_email": team.partner_email},
|
||||
"name",
|
||||
)
|
||||
if team.billing_team and mode != "Paid By Partner":
|
||||
@ -855,7 +855,7 @@ def generate_stk_push(**kwargs):
|
||||
partner_value = args.partner
|
||||
|
||||
# Fetch the team document based on the extracted partner value
|
||||
partner = jingrow.get_all("Team", filters={"user": partner_value, "erpnext_partner": 1}, pluck="name")
|
||||
partner = jingrow.get_all("Team", filters={"user": partner_value, "jerp_partner": 1}, pluck="name")
|
||||
if not partner:
|
||||
jingrow.throw(_(f"Partner team {partner_value} not found"), title=_("Mpesa Express Error"))
|
||||
|
||||
|
||||
@ -6,10 +6,10 @@ from jingrow.core.utils import find
|
||||
from jingrow.geo.country_info import get_country_timezone_info
|
||||
|
||||
from jcloude.api.account import get_account_request_from_key
|
||||
from jcloude.jcloude.pagetype.site.erpnext_site import (
|
||||
from jcloude.jcloude.pagetype.site.jerp_site import (
|
||||
ERPNextSite,
|
||||
get_erpnext_domain,
|
||||
get_erpnext_plan,
|
||||
get_jerp_domain,
|
||||
get_jerp_plan,
|
||||
)
|
||||
from jcloude.jcloude.pagetype.site.pool import get as get_pooled_site
|
||||
from jcloude.jcloude.pagetype.team.team import Team
|
||||
@ -33,7 +33,7 @@ def account_request(
|
||||
account_request = jingrow.get_pg(
|
||||
{
|
||||
"pagetype": "Account Request",
|
||||
"erpnext": True,
|
||||
"jerp": True,
|
||||
"subdomain": subdomain,
|
||||
"email": email,
|
||||
"role": "Jcloude Admin",
|
||||
@ -58,7 +58,7 @@ def account_request(
|
||||
else:
|
||||
# Create a new site if pooled sites aren't available
|
||||
site = ERPNextSite(account_request=account_request).insert(ignore_permissions=True)
|
||||
site.create_subscription(get_erpnext_plan())
|
||||
site.create_subscription(get_jerp_plan())
|
||||
finally:
|
||||
jingrow.set_user(current_user)
|
||||
jingrow.session.data = current_session_data
|
||||
@ -100,7 +100,7 @@ def setup_account(key, business_data=None):
|
||||
account_request.first_name,
|
||||
account_request.last_name,
|
||||
country=account_request.country,
|
||||
via_erpnext=True,
|
||||
via_jerp=True,
|
||||
)
|
||||
else:
|
||||
team_pg = jingrow.get_pg("Team", email)
|
||||
@ -128,7 +128,7 @@ def check_subdomain_availability(subdomain):
|
||||
"Site",
|
||||
{
|
||||
"subdomain": subdomain,
|
||||
"domain": get_erpnext_domain(),
|
||||
"domain": get_jerp_domain(),
|
||||
"status": ("!=", "Archived"),
|
||||
},
|
||||
)
|
||||
|
||||
@ -1181,7 +1181,7 @@ def get_discount_percent(plan, discount=0.0):
|
||||
"Bronze": 30.0,
|
||||
}
|
||||
|
||||
if team.erpnext_partner and jingrow.get_value("Marketplace App Plan", plan, "partner_discount"):
|
||||
if team.jerp_partner and jingrow.get_value("Marketplace App Plan", plan, "partner_discount"):
|
||||
client = get_jingrow_io_connection()
|
||||
response = client.session.post(
|
||||
f"{client.url}/api/method/partner_relationship_management.api.get_partner_type",
|
||||
|
||||
@ -180,7 +180,7 @@ def saas_setup(key, app, country, subdomain):
|
||||
"last_name": account_request.last_name,
|
||||
"emaill": account_request.email,
|
||||
"saas": True,
|
||||
"erpnext": False,
|
||||
"jerp": False,
|
||||
"saas_app": app,
|
||||
"role": "Jcloude Admin",
|
||||
"country": country,
|
||||
|
||||
@ -149,7 +149,7 @@ def get_resource_url():
|
||||
def get_partner_name(partner_email):
|
||||
return jingrow.db.get_value(
|
||||
"Team",
|
||||
{"partner_email": partner_email, "enabled": 1, "erpnext_partner": 1},
|
||||
{"partner_email": partner_email, "enabled": 1, "jerp_partner": 1},
|
||||
"billing_name",
|
||||
)
|
||||
|
||||
@ -198,7 +198,7 @@ def transfer_credits(amount, customer, partner):
|
||||
@role_guard.api("partner")
|
||||
def get_partner_contribution_list(partner_email):
|
||||
partner_currency = jingrow.db.get_value(
|
||||
"Team", {"erpnext_partner": 1, "partner_email": partner_email}, "currency"
|
||||
"Team", {"jerp_partner": 1, "partner_email": partner_email}, "currency"
|
||||
)
|
||||
month_start = jingrow.utils.get_first_day(today())
|
||||
month_end = jingrow.utils.get_last_day(today())
|
||||
@ -227,7 +227,7 @@ def get_partner_contribution_list(partner_email):
|
||||
@role_guard.api("partner")
|
||||
def get_partner_mrr(partner_email):
|
||||
partner_currency = jingrow.db.get_value(
|
||||
"Team", {"erpnext_partner": 1, "partner_email": partner_email}, "currency"
|
||||
"Team", {"jerp_partner": 1, "partner_email": partner_email}, "currency"
|
||||
)
|
||||
query = jingrow.db.sql(
|
||||
f"""
|
||||
@ -464,7 +464,7 @@ def get_invoice_items(invoice):
|
||||
@role_guard.api("partner")
|
||||
def get_current_month_partner_contribution(partner_email):
|
||||
partner_currency = jingrow.db.get_value(
|
||||
"Team", {"erpnext_partner": 1, "partner_email": partner_email}, "currency"
|
||||
"Team", {"jerp_partner": 1, "partner_email": partner_email}, "currency"
|
||||
)
|
||||
month_end = jingrow.utils.get_last_day(today())
|
||||
|
||||
@ -497,7 +497,7 @@ def get_current_month_partner_contribution(partner_email):
|
||||
@role_guard.api("partner")
|
||||
def get_prev_month_partner_contribution(partner_email):
|
||||
partner_currency = jingrow.db.get_value(
|
||||
"Team", {"erpnext_partner": 1, "partner_email": partner_email}, "currency"
|
||||
"Team", {"jerp_partner": 1, "partner_email": partner_email}, "currency"
|
||||
)
|
||||
first_day = get_first_day(today())
|
||||
two_weeks = add_days(first_day, 14) # 15th day of the month
|
||||
@ -581,7 +581,7 @@ def add_partner(referral_code: str):
|
||||
def validate_partner_code(code):
|
||||
partner = jingrow.db.get_value(
|
||||
"Team",
|
||||
{"enabled": 1, "erpnext_partner": 1, "partner_referral_code": code},
|
||||
{"enabled": 1, "jerp_partner": 1, "partner_referral_code": code},
|
||||
"billing_name",
|
||||
)
|
||||
if partner:
|
||||
@ -595,7 +595,7 @@ def get_partner_customers():
|
||||
team = get_current_team(get_pg=True)
|
||||
customers = jingrow.get_all(
|
||||
"Team",
|
||||
{"enabled": 1, "erpnext_partner": 0, "partner_email": team.partner_email},
|
||||
{"enabled": 1, "jerp_partner": 0, "partner_email": team.partner_email},
|
||||
["name", "user", "payment_mode", "billing_name", "currency"],
|
||||
)
|
||||
return customers # noqa: RET504
|
||||
@ -657,7 +657,7 @@ def remove_partner():
|
||||
)
|
||||
|
||||
partner_user = jingrow.get_value(
|
||||
"Team", {"partner_email": team.partner_email, "erpnext_partner": 1}, "user"
|
||||
"Team", {"partner_email": team.partner_email, "jerp_partner": 1}, "user"
|
||||
)
|
||||
member_to_remove = find(team.team_members, lambda x: x.user == partner_user)
|
||||
if member_to_remove:
|
||||
@ -684,7 +684,7 @@ def apply_for_certificate(member_name, certificate_type):
|
||||
@jingrow.whitelist()
|
||||
@role_guard.api("partner")
|
||||
def get_partner_teams(company=None, email=None, country=None, tier=None, active_only=False):
|
||||
filters = {"enabled": 1, "erpnext_partner": 1}
|
||||
filters = {"enabled": 1, "jerp_partner": 1}
|
||||
if company:
|
||||
filters["company_name"] = ("like", f"%{company}%")
|
||||
if email:
|
||||
|
||||
@ -246,7 +246,7 @@ def display_mpesa_payment_partners():
|
||||
def display_payment_partners():
|
||||
"""Display the list of partners in the system."""
|
||||
Team = PageType("Team")
|
||||
query = jingrow.qb.from_(Team).select(Team.user).where(Team.erpnext_partner == 1)
|
||||
query = jingrow.qb.from_(Team).select(Team.user).where(Team.jerp_partner == 1)
|
||||
|
||||
partners = query.run(as_dict=True)
|
||||
|
||||
@ -271,7 +271,7 @@ def get_details_from_request_log(transaction_id):
|
||||
request_data_dict = json.loads(request_data)
|
||||
team = request_data_dict.get("team")
|
||||
partner_ = request_data_dict.get("partner")
|
||||
partner = jingrow.get_value("Team", {"user": partner_, "erpnext_partner": 1, "enabled": 1}, "name")
|
||||
partner = jingrow.get_value("Team", {"user": partner_, "jerp_partner": 1, "enabled": 1}, "name")
|
||||
requested_amount = request_data_dict.get("request_amount")
|
||||
amount_usd = request_data_dict.get("amount_usd")
|
||||
exchange_rate = request_data_dict.get("exchange_rate")
|
||||
|
||||
@ -5,7 +5,7 @@ import jingrow
|
||||
from jingrow.core.utils import find
|
||||
|
||||
from jcloude.api.account import get_account_request_from_key
|
||||
from jcloude.jcloude.pagetype.site.erpnext_site import get_erpnext_domain
|
||||
from jcloude.jcloude.pagetype.site.jerp_site import get_jerp_domain
|
||||
from jcloude.jcloude.pagetype.site.saas_pool import get as get_pooled_saas_site
|
||||
from jcloude.jcloude.pagetype.site.saas_site import (
|
||||
SaasSite,
|
||||
@ -62,7 +62,7 @@ def account_request(
|
||||
"pagetype": "Account Request",
|
||||
"saas": True,
|
||||
"saas_app": app,
|
||||
"erpnext": False,
|
||||
"jerp": False,
|
||||
"subdomain": subdomain,
|
||||
"email": email,
|
||||
"role": "Jcloude Admin",
|
||||
@ -194,7 +194,7 @@ def check_subdomain_availability(subdomain, app):
|
||||
return False
|
||||
|
||||
exists = bool(
|
||||
jingrow.db.exists("Blocked Domain", {"name": subdomain, "root_domain": get_erpnext_domain()})
|
||||
jingrow.db.exists("Blocked Domain", {"name": subdomain, "root_domain": get_jerp_domain()})
|
||||
or jingrow.db.exists(
|
||||
"Site",
|
||||
{
|
||||
@ -327,7 +327,7 @@ def create_team(account_request, get_stripe_id=False):
|
||||
account_request.last_name,
|
||||
country=account_request.country,
|
||||
is_us_eu=account_request.is_us_eu,
|
||||
via_erpnext=True,
|
||||
via_jerp=True,
|
||||
user_exists=jingrow.db.exists("User", email),
|
||||
)
|
||||
else:
|
||||
@ -348,7 +348,7 @@ def get_site_status(key, app=None):
|
||||
if not account_request:
|
||||
jingrow.throw("Invalid or Expired Key")
|
||||
|
||||
domain = get_saas_domain(app) if app else get_erpnext_domain()
|
||||
domain = get_saas_domain(app) if app else get_jerp_domain()
|
||||
|
||||
site = jingrow.db.get_value(
|
||||
"Site",
|
||||
@ -371,7 +371,7 @@ def get_site_url_and_sid(key, app=None):
|
||||
if not account_request:
|
||||
jingrow.throw("Invalid or Expired Key")
|
||||
|
||||
domain = get_saas_domain(app) if app else get_erpnext_domain()
|
||||
domain = get_saas_domain(app) if app else get_jerp_domain()
|
||||
|
||||
name = jingrow.db.get_value("Site", {"subdomain": account_request.subdomain, "domain": domain})
|
||||
site: "Site" = jingrow.get_pg("Site", name)
|
||||
|
||||
@ -438,7 +438,7 @@ class TestAPISite(FrappeTestCase):
|
||||
from jcloude.api.site import installed_apps
|
||||
|
||||
app1 = create_test_app()
|
||||
app2 = create_test_app("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
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("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
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("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
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("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
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("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app3 = create_test_app("insights", "Insights")
|
||||
group = create_test_release_group([app, app2, app3])
|
||||
bench = create_test_bench(group=group)
|
||||
@ -550,7 +550,7 @@ class TestAPISite(FrappeTestCase):
|
||||
|
||||
self.assertEqual(len(site.apps), 2)
|
||||
self.assertEqual(site.apps[0].app, "jingrow")
|
||||
self.assertEqual(site.apps[1].app, "erpnext")
|
||||
self.assertEqual(site.apps[1].app, "jerp")
|
||||
self.assertEqual(site.status, "Active")
|
||||
|
||||
with fake_agent_job(
|
||||
@ -584,7 +584,7 @@ insights 0.8.3 HEAD
|
||||
from jcloude.api.site import restore
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
group = create_test_release_group([app, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
|
||||
@ -596,7 +596,7 @@ insights 0.8.3 HEAD
|
||||
|
||||
self.assertEqual(len(site.apps), 2)
|
||||
self.assertEqual(site.apps[0].app, "jingrow")
|
||||
self.assertEqual(site.apps[1].app, "erpnext")
|
||||
self.assertEqual(site.apps[1].app, "jerp")
|
||||
self.assertEqual(site.status, "Active")
|
||||
|
||||
with fake_agent_job(
|
||||
@ -626,8 +626,8 @@ insights 0.8.3 HEAD
|
||||
from jcloude.api.site import restore
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("erpnext", "ERPNext")
|
||||
create_test_marketplace_app("erpnext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
create_test_marketplace_app("jerp")
|
||||
app3 = create_test_app("insights", "Insights")
|
||||
create_test_marketplace_app("insights")
|
||||
group = create_test_release_group([app, app2, app3])
|
||||
@ -641,7 +641,7 @@ insights 0.8.3 HEAD
|
||||
|
||||
self.assertEqual(len(site.apps), 2)
|
||||
self.assertEqual(site.apps[0].app, "jingrow")
|
||||
self.assertEqual(site.apps[1].app, "erpnext")
|
||||
self.assertEqual(site.apps[1].app, "jerp")
|
||||
self.assertEqual(site.status, "Active")
|
||||
|
||||
with fake_agent_job(
|
||||
@ -666,7 +666,7 @@ insights 0.8.3 HEAD
|
||||
mock_marketplace_app_hook.assert_has_calls(
|
||||
[
|
||||
call(app="insights", site=site, op="install"),
|
||||
call(app="erpnext", site=site, op="uninstall"),
|
||||
call(app="jerp", site=site, op="uninstall"),
|
||||
]
|
||||
)
|
||||
|
||||
@ -676,7 +676,7 @@ insights 0.8.3 HEAD
|
||||
from jcloude.api.site import new
|
||||
|
||||
app = create_test_app()
|
||||
app2 = create_test_app("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
group = create_test_release_group([app, app2])
|
||||
plan = create_test_plan("Site")
|
||||
create_test_bench(group=group)
|
||||
@ -692,7 +692,7 @@ insights 0.8.3 HEAD
|
||||
"Success",
|
||||
data=jingrow._dict(
|
||||
output="""jingrow 15.0.0-dev HEAD
|
||||
erpnext 0.8.3 HEAD
|
||||
jerp 0.8.3 HEAD
|
||||
"""
|
||||
),
|
||||
),
|
||||
@ -721,7 +721,7 @@ erpnext 0.8.3 HEAD
|
||||
site = jingrow.get_last_pg("Site", {"subdomain": subdomain})
|
||||
self.assertEqual(len(site.apps), 2)
|
||||
self.assertEqual(site.apps[0].app, "jingrow")
|
||||
self.assertEqual(site.apps[1].app, "erpnext")
|
||||
self.assertEqual(site.apps[1].app, "jerp")
|
||||
self.assertEqual(site.status, "Active")
|
||||
|
||||
def test_change_group_changes_group_and_bench_of_site(self):
|
||||
|
||||
@ -277,15 +277,15 @@ def setup_teams():
|
||||
from jcloude.api.account import signup
|
||||
from jcloude.jcloude.pagetype.team.team import Team
|
||||
|
||||
signup("cloud@erpnext.com")
|
||||
signup("cloud@jerp.jingrow.com")
|
||||
request = jingrow.get_all(
|
||||
"Account Request", ["*"], {"email": "cloud@erpnext.com"}, limit=1
|
||||
"Account Request", ["*"], {"email": "cloud@jerp.jingrow.com"}, limit=1
|
||||
)[0]
|
||||
cloud = Team.create_new(request, "Jingrow", "Cloud", "FrappeCloud@1", "India", False)
|
||||
|
||||
signup("aditya@erpnext.com")
|
||||
signup("aditya@jerp.jingrow.com")
|
||||
request = jingrow.get_all(
|
||||
"Account Request", ["*"], {"email": "aditya@erpnext.com"}, limit=1
|
||||
"Account Request", ["*"], {"email": "aditya@jerp.jingrow.com"}, limit=1
|
||||
)[0]
|
||||
aditya = Team.create_new(request, "Aditya", "Hase", "AdityaHase@1", "India", False)
|
||||
|
||||
|
||||
@ -727,7 +727,7 @@
|
||||
"modified": "2023-11-06 07:28:19.180358",
|
||||
"name": "Setup ERPNext",
|
||||
"request_method": "POST",
|
||||
"request_path": "/benches/{site.bench}/sites/{site.name}/erpnext",
|
||||
"request_path": "/benches/{site.bench}/sites/{site.name}/jerp",
|
||||
"steps": [
|
||||
{
|
||||
"step_name": "Create User"
|
||||
|
||||
@ -75,7 +75,7 @@ website_redirects = [
|
||||
"target": "/api/method/jcloude.api.handle_suspended_site_redirection",
|
||||
},
|
||||
{"source": "/f-login", "target": "/dashboard/f-login"},
|
||||
{"source": "/signup", "target": "/erpnext/signup"},
|
||||
{"source": "/signup", "target": "/jerp/signup"},
|
||||
]
|
||||
|
||||
email_css = ["/assets/jcloude/css/email.css"]
|
||||
|
||||
@ -146,7 +146,7 @@ class MarketplaceAppSubscription(Page):
|
||||
def update_subscription_hook(self):
|
||||
# sends app name and plan whenever a subscription is created for other apps
|
||||
# this can be used for activating and deactivating workspaces
|
||||
if self.app in ["erpnext", "hrms"]:
|
||||
if self.app in ["jerp", "hrms"]:
|
||||
paths = jingrow.get_list(
|
||||
"Marketplace App",
|
||||
{"subscription_update_hook": ("is", "set")},
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
"column_break_jtbg",
|
||||
"probability",
|
||||
"success_pack_section",
|
||||
"erpnext_success_pack_interested_in",
|
||||
"jerp_success_pack_interested_in",
|
||||
"need_demo_before_implementation",
|
||||
"additional_comments",
|
||||
"section_break_uzlc",
|
||||
@ -336,7 +336,7 @@
|
||||
"label": "Success Pack"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_success_pack_interested_in",
|
||||
"fieldname": "jerp_success_pack_interested_in",
|
||||
"fieldtype": "Data",
|
||||
"label": "ERPNext Success Pack Interested In"
|
||||
},
|
||||
|
||||
@ -49,7 +49,7 @@ class PartnerLead(Page):
|
||||
"Negotiation",
|
||||
"Ready for Closing",
|
||||
]
|
||||
erpnext_success_pack_interested_in: DF.Data | None
|
||||
jerp_success_pack_interested_in: DF.Data | None
|
||||
estimated_closure_date: DF.Date | None
|
||||
feedback_for_jingrow: DF.SmallText | None
|
||||
feedback_to_partner: DF.SmallText | None
|
||||
|
||||
@ -11,7 +11,7 @@ from jcloude.api.billing import get_stripe
|
||||
def execute():
|
||||
jingrow.reload_pg("jcloude", "pagetype", "balance_transaction")
|
||||
|
||||
partners = jingrow.db.get_all("Team", filters={"erpnext_partner": 1}, pluck="name")
|
||||
partners = jingrow.db.get_all("Team", filters={"jerp_partner": 1}, pluck="name")
|
||||
for i, name in enumerate(partners):
|
||||
update_progress_bar("Creating Balance Transactions", i, len(partners))
|
||||
|
||||
|
||||
@ -8,5 +8,5 @@ import jingrow
|
||||
def execute():
|
||||
for d in jingrow.db.get_all("Team"):
|
||||
team = jingrow.get_pg("Team", d.name)
|
||||
if team.has_partner_account_on_erpnext_com():
|
||||
team.enable_erpnext_partner_privileges()
|
||||
if team.has_partner_account_on_jerp.jingrow.com():
|
||||
team.enable_jerp_partner_privileges()
|
||||
|
||||
@ -21,7 +21,7 @@ def execute():
|
||||
|
||||
pg.initialize_onboarding_steps()
|
||||
|
||||
if pg.erpnext_partner:
|
||||
if pg.jerp_partner:
|
||||
update_onboarding(pg, "Add Billing Information", "Skipped")
|
||||
update_onboarding(pg, "Transfer Credits", "Skipped")
|
||||
update_onboarding(pg, "Create Site", "Skipped")
|
||||
|
||||
@ -7,7 +7,7 @@ import jingrow
|
||||
|
||||
|
||||
def execute():
|
||||
jingrow.reload_pg("jcloude", "pagetype", "erpnext_app")
|
||||
jingrow.reload_pg("jcloude", "pagetype", "jerp_app")
|
||||
jingrow.reload_pg("jcloude", "pagetype", "jcloude_settings")
|
||||
jingrow.clear_cache()
|
||||
jcloude_settings = jingrow.get_pg("Jcloude Settings", "Jcloude Settings")
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
######## W E L C O M E #########
|
||||
Welcome to Jingrow Technologies Pvt Ltd
|
||||
This server is under authority of Jingrow Technologies Pvt Ltd
|
||||
If you came accross any issue, contact us at devops@erpnext.com
|
||||
If you came accross any issue, contact us at devops@jerp.jingrow.com
|
||||
|
||||
|
||||
@ -40,13 +40,13 @@
|
||||
"link_filters": null,
|
||||
"mandatory_depends_on": null,
|
||||
"modified": "2020-08-11 16:39:34.959731",
|
||||
"modified_by": "faris@erpnext.com",
|
||||
"modified_by": "faris@jerp.jingrow.com",
|
||||
"module": null,
|
||||
"name": "Address-gstin",
|
||||
"no_copy": 0,
|
||||
"non_negative": 0,
|
||||
"options": null,
|
||||
"owner": "faris@erpnext.com",
|
||||
"owner": "faris@jerp.jingrow.com",
|
||||
"permlevel": 0,
|
||||
"placeholder": null,
|
||||
"precision": "",
|
||||
@ -83,7 +83,7 @@
|
||||
"if_owner": 0,
|
||||
"import": 0,
|
||||
"modified": "2020-08-26 20:09:40.230586",
|
||||
"modified_by": "faris@erpnext.com",
|
||||
"modified_by": "faris@jerp.jingrow.com",
|
||||
"name": "61826a5bb9",
|
||||
"owner": "Administrator",
|
||||
"parent": "Address",
|
||||
@ -114,7 +114,7 @@
|
||||
"if_owner": 0,
|
||||
"import": 0,
|
||||
"modified": "2020-08-26 20:09:40.356382",
|
||||
"modified_by": "faris@erpnext.com",
|
||||
"modified_by": "faris@jerp.jingrow.com",
|
||||
"name": "62f8500bfe",
|
||||
"owner": "Administrator",
|
||||
"parent": "Address",
|
||||
@ -145,9 +145,9 @@
|
||||
"if_owner": 0,
|
||||
"import": 0,
|
||||
"modified": "2020-08-26 20:09:40.417634",
|
||||
"modified_by": "faris@erpnext.com",
|
||||
"modified_by": "faris@jerp.jingrow.com",
|
||||
"name": "8297ade273",
|
||||
"owner": "faris@erpnext.com",
|
||||
"owner": "faris@jerp.jingrow.com",
|
||||
"parent": "Address",
|
||||
"permlevel": 0,
|
||||
"print": 0,
|
||||
@ -176,7 +176,7 @@
|
||||
"if_owner": 0,
|
||||
"import": 0,
|
||||
"modified": "2020-08-26 20:09:40.375437",
|
||||
"modified_by": "faris@erpnext.com",
|
||||
"modified_by": "faris@jerp.jingrow.com",
|
||||
"name": "a5cb85bb0b",
|
||||
"owner": "Administrator",
|
||||
"parent": "Address",
|
||||
@ -207,7 +207,7 @@
|
||||
"if_owner": 0,
|
||||
"import": 1,
|
||||
"modified": "2020-08-26 20:09:40.339659",
|
||||
"modified_by": "faris@erpnext.com",
|
||||
"modified_by": "faris@jerp.jingrow.com",
|
||||
"name": "e771a77459",
|
||||
"owner": "Administrator",
|
||||
"parent": "Address",
|
||||
@ -238,7 +238,7 @@
|
||||
"if_owner": 0,
|
||||
"import": 0,
|
||||
"modified": "2020-08-26 20:09:40.393834",
|
||||
"modified_by": "faris@erpnext.com",
|
||||
"modified_by": "faris@jerp.jingrow.com",
|
||||
"name": "f8a821ccac",
|
||||
"owner": "Administrator",
|
||||
"parent": "Address",
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
"continent",
|
||||
"is_mobile",
|
||||
"section_break_8",
|
||||
"erpnext",
|
||||
"jerp",
|
||||
"subdomain",
|
||||
"plan",
|
||||
"phone_number",
|
||||
@ -111,7 +111,7 @@
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "erpnext",
|
||||
"fieldname": "jerp",
|
||||
"fieldtype": "Check",
|
||||
"hidden": 1,
|
||||
"label": "ERPNext"
|
||||
|
||||
@ -35,7 +35,7 @@ class AccountRequest(Page):
|
||||
country: DF.Data | None
|
||||
designation: DF.Data | None
|
||||
email: DF.Data | None
|
||||
erpnext: DF.Check
|
||||
jerp: DF.Check
|
||||
first_name: DF.Data | None
|
||||
geo_location: DF.Code | None
|
||||
industry: DF.Data | None
|
||||
@ -337,7 +337,7 @@ class AccountRequest(Page):
|
||||
return bool(self.product_trial)
|
||||
|
||||
def is_saas_signup(self):
|
||||
return bool(self.saas_app or self.saas or self.erpnext or self.product_trial)
|
||||
return bool(self.saas_app or self.saas or self.jerp or self.product_trial)
|
||||
|
||||
|
||||
def expire_request_key():
|
||||
|
||||
@ -14,7 +14,7 @@ from jcloude.jcloude.pagetype.account_request.account_request import AccountRequ
|
||||
def create_test_account_request(
|
||||
subdomain: str,
|
||||
email: str | None = None,
|
||||
erpnext: bool = True,
|
||||
jerp: bool = True,
|
||||
creation=None,
|
||||
saas: bool = False,
|
||||
saas_app: str | None = None,
|
||||
@ -28,7 +28,7 @@ def create_test_account_request(
|
||||
"pagetype": "Account Request",
|
||||
"subdomain": subdomain,
|
||||
"email": email,
|
||||
"erpnext": erpnext,
|
||||
"jerp": jerp,
|
||||
"saas": saas,
|
||||
"saas_app": saas_app,
|
||||
"product_trial": product_trial,
|
||||
|
||||
@ -990,8 +990,8 @@ def process_job_updates(job_name: str, response_data: dict | None = None): # no
|
||||
process_backup_files_from_snapshot_job_callback,
|
||||
process_search_sites_in_snapshot_job_callback,
|
||||
)
|
||||
from jcloude.jcloude.pagetype.site.erpnext_site import (
|
||||
process_setup_erpnext_site_job_update,
|
||||
from jcloude.jcloude.pagetype.site.jerp_site import (
|
||||
process_setup_jerp_site_job_update,
|
||||
)
|
||||
from jcloude.jcloude.pagetype.site.site import (
|
||||
process_add_domain_job_update,
|
||||
@ -1077,7 +1077,7 @@ def process_job_updates(job_name: str, response_data: dict | None = None): # no
|
||||
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":
|
||||
process_setup_erpnext_site_job_update(job)
|
||||
process_setup_jerp_site_job_update(job)
|
||||
elif job.job_type == "Restore Site Tables":
|
||||
process_restore_tables_job_update(job)
|
||||
elif job.job_type == "Add User to Proxy":
|
||||
|
||||
@ -38,16 +38,16 @@ class TestApp(FrappeTestCase):
|
||||
self.assertEqual(source.versions[0].version, "Version 12")
|
||||
|
||||
def test_create_non_jingrow_app(self):
|
||||
app = create_test_app("erpnext", "ERPNext")
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
self.assertEqual(app.jingrow, False)
|
||||
|
||||
source = app.add_source(
|
||||
"Version 12",
|
||||
"http://git.jingrow.com/jingrow/erpnext",
|
||||
"http://git.jingrow.com/jingrow/jerp",
|
||||
"version-12",
|
||||
create_test_team().name,
|
||||
)
|
||||
self.assertEqual(source.repository, "erpnext")
|
||||
self.assertEqual(source.repository, "jerp")
|
||||
self.assertEqual(source.repository_owner, "jingrow")
|
||||
|
||||
self.assertEqual(len(source.versions), 1)
|
||||
@ -77,12 +77,12 @@ 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("erpnext_documentation", "ERPNext Documentation")
|
||||
app = create_test_app("jerp_documentation", "ERPNext Documentation")
|
||||
team_name = create_test_team().name
|
||||
|
||||
source_1 = app.add_source(
|
||||
"Version 12",
|
||||
"http://git.jingrow.com/jingrow/erpnext_documentation",
|
||||
"http://git.jingrow.com/jingrow/jerp_documentation",
|
||||
"master",
|
||||
team_name,
|
||||
)
|
||||
@ -92,7 +92,7 @@ class TestApp(FrappeTestCase):
|
||||
|
||||
source_2 = app.add_source(
|
||||
"Version 13",
|
||||
"http://git.jingrow.com/jingrow/erpnext_documentation",
|
||||
"http://git.jingrow.com/jingrow/jerp_documentation",
|
||||
"master",
|
||||
team_name,
|
||||
)
|
||||
|
||||
@ -56,7 +56,7 @@ class AppSource(Page):
|
||||
dashboard_fields = ("repository_owner", "repository", "branch")
|
||||
|
||||
def set_required_apps(self, match: str):
|
||||
# In the format jingrow/erpnext
|
||||
# In the format jingrow/jerp
|
||||
apps = match.replace("'", "").replace('"', "").replace(" ", "").split(",")
|
||||
|
||||
for app in apps:
|
||||
@ -136,7 +136,7 @@ class AppSource(Page):
|
||||
versions.add(row.version)
|
||||
|
||||
def before_save(self):
|
||||
# Assumes repository_url looks like http://git.jingrow.com/jingrow/erpnext
|
||||
# Assumes repository_url looks like http://git.jingrow.com/jingrow/jerp
|
||||
self.repository_url = self.repository_url.removesuffix(".git")
|
||||
|
||||
_, self.repository_owner, self.repository = self.repository_url.rsplit("/", 2)
|
||||
|
||||
@ -54,7 +54,7 @@ class TestAppSource(FrappeTestCase):
|
||||
)
|
||||
|
||||
for req_app in source.required_apps:
|
||||
self.assertEqual("http://git.jingrow.com/jingrow/erpnext", req_app.repository_url)
|
||||
self.assertEqual("http://git.jingrow.com/jingrow/jerp", req_app.repository_url)
|
||||
|
||||
app: App = self.create_app("lms", "LMS")
|
||||
source = 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("erpnext", "ERPNext")
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
source = create_test_app_source(group.version, app)
|
||||
release = create_test_app_release(source)
|
||||
group.update_source(source)
|
||||
@ -204,9 +204,9 @@ class TestDeployCandidate(FrappeTestCase):
|
||||
bench = create_test_bench()
|
||||
# Create another app
|
||||
group = jingrow.get_pg("Release Group", bench.group)
|
||||
app = create_test_app("erpnext", "ERPNext")
|
||||
erpnext_source = create_test_app_source(group.version, app)
|
||||
group.update_source(erpnext_source)
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
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})
|
||||
@ -218,7 +218,7 @@ class TestDeployCandidate(FrappeTestCase):
|
||||
# Create releases for both the apps
|
||||
jingrow_source = jingrow.get_pg("App Source", group.apps[0].source)
|
||||
create_test_app_release(jingrow_source)
|
||||
create_test_app_release(erpnext_source)
|
||||
create_test_app_release(jerp_source)
|
||||
|
||||
dc_count_after = jingrow.db.count("Deploy Candidate", filters={"group": group.name})
|
||||
# We should have a new Deploy Candidate
|
||||
|
||||
@ -138,12 +138,12 @@ class DripEmail(Page):
|
||||
|
||||
Also set sender details.
|
||||
"""
|
||||
if not site.erpnext_consultant:
|
||||
if not site.jerp_consultant:
|
||||
# set a random consultant for the site for the first time
|
||||
site.erpnext_consultant = get_random("ERPNext Consultant", dict(active=1))
|
||||
jingrow.db.set_value("Site", site.name, "erpnext_consultant", site.erpnext_consultant)
|
||||
site.jerp_consultant = get_random("ERPNext Consultant", dict(active=1))
|
||||
jingrow.db.set_value("Site", site.name, "jerp_consultant", site.jerp_consultant)
|
||||
|
||||
consultant = jingrow.get_pg("ERPNext Consultant", site.erpnext_consultant)
|
||||
consultant = jingrow.get_pg("ERPNext Consultant", site.jerp_consultant)
|
||||
self.sender = consultant.name
|
||||
self.sender_name = consultant.full_name
|
||||
return consultant
|
||||
|
||||
@ -17,7 +17,7 @@ class ERPNextConsultant(Page):
|
||||
if TYPE_CHECKING:
|
||||
from jingrow.types import DF
|
||||
|
||||
from jcloude.jcloude.pagetype.erpnext_consultant_region.erpnext_consultant_region import (
|
||||
from jcloude.jcloude.pagetype.jerp_consultant_region.jerp_consultant_region import (
|
||||
ERPNextConsultantRegion,
|
||||
)
|
||||
|
||||
@ -70,8 +70,8 @@ class ERPNextConsultant(Page):
|
||||
"""
|
||||
try:
|
||||
region = jingrow.db.get_value("Country", country, "region")
|
||||
erpnext_consultant = cls._get_one_for_region(region)
|
||||
jingrow.db.set_value("Region", region, "last_allocated_to", erpnext_consultant)
|
||||
return erpnext_consultant
|
||||
jerp_consultant = cls._get_one_for_region(region)
|
||||
jingrow.db.set_value("Region", region, "last_allocated_to", jerp_consultant)
|
||||
return jerp_consultant
|
||||
except Exception:
|
||||
return ""
|
||||
|
||||
@ -46,10 +46,10 @@
|
||||
"paypal_enabled",
|
||||
"column_break_123",
|
||||
"razorpay_key_secret",
|
||||
"erpnext_authentication",
|
||||
"erpnext_url",
|
||||
"erpnext_api_key",
|
||||
"erpnext_api_secret",
|
||||
"jerp_authentication",
|
||||
"jerp_url",
|
||||
"jerp_api_key",
|
||||
"jerp_api_secret",
|
||||
"column_break_38",
|
||||
"frappeio_authentication_section",
|
||||
"disable_jingrow_auth",
|
||||
@ -111,19 +111,19 @@
|
||||
"publish_docs",
|
||||
"storage_and_disk_limits_section",
|
||||
"enforce_storage_limits",
|
||||
"erpnext_tab",
|
||||
"erpnext_signups_section",
|
||||
"erpnext_domain",
|
||||
"erpnext_cluster",
|
||||
"erpnext_plan",
|
||||
"erpnext_group",
|
||||
"jerp_tab",
|
||||
"jerp_signups_section",
|
||||
"jerp_domain",
|
||||
"jerp_cluster",
|
||||
"jerp_plan",
|
||||
"jerp_group",
|
||||
"column_break_89",
|
||||
"erpnext_apps",
|
||||
"jerp_apps",
|
||||
"central_migration_server",
|
||||
"staging_sites_section",
|
||||
"staging_plan",
|
||||
"staging_expiry",
|
||||
"erpnext_site_pool_section",
|
||||
"jerp_site_pool_section",
|
||||
"enable_site_pooling",
|
||||
"standby_pool_size",
|
||||
"column_break_95",
|
||||
@ -391,22 +391,22 @@
|
||||
},
|
||||
{
|
||||
"collapsible": 1,
|
||||
"fieldname": "erpnext_authentication",
|
||||
"fieldname": "jerp_authentication",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext Authentication"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_url",
|
||||
"fieldname": "jerp_url",
|
||||
"fieldtype": "Data",
|
||||
"label": "ERPNext URL"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_api_key",
|
||||
"fieldname": "jerp_api_key",
|
||||
"fieldtype": "Data",
|
||||
"label": "ERPNext API Key"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_api_secret",
|
||||
"fieldname": "jerp_api_secret",
|
||||
"fieldtype": "Password",
|
||||
"label": "ERPNext API Secret"
|
||||
},
|
||||
@ -655,37 +655,37 @@
|
||||
"label": "Enforce Storage and Disk Limits"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_tab",
|
||||
"fieldname": "jerp_tab",
|
||||
"fieldtype": "Tab Break",
|
||||
"label": "ERPNext"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_signups_section",
|
||||
"fieldname": "jerp_signups_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext Signups"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_domain",
|
||||
"fieldname": "jerp_domain",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Domain",
|
||||
"options": "Root Domain"
|
||||
},
|
||||
{
|
||||
"fetch_from": "erpnext_domain.default_cluster",
|
||||
"fetch_from": "jerp_domain.default_cluster",
|
||||
"fetch_if_empty": 1,
|
||||
"fieldname": "erpnext_cluster",
|
||||
"fieldname": "jerp_cluster",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Cluster",
|
||||
"options": "Cluster"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_plan",
|
||||
"fieldname": "jerp_plan",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Plan",
|
||||
"options": "Site Plan"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_group",
|
||||
"fieldname": "jerp_group",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Group",
|
||||
"options": "Release Group"
|
||||
@ -695,7 +695,7 @@
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_apps",
|
||||
"fieldname": "jerp_apps",
|
||||
"fieldtype": "Table",
|
||||
"label": "ERPNext Apps",
|
||||
"options": "ERPNext App"
|
||||
@ -726,7 +726,7 @@
|
||||
},
|
||||
{
|
||||
"collapsible": 1,
|
||||
"fieldname": "erpnext_site_pool_section",
|
||||
"fieldname": "jerp_site_pool_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext Site Pool"
|
||||
},
|
||||
|
||||
@ -24,7 +24,7 @@ class PressSettings(Page):
|
||||
from jingrow.types import DF
|
||||
|
||||
from jcloude.jcloude.pagetype.app_group.app_group import AppGroup
|
||||
from jcloude.jcloude.pagetype.erpnext_app.erpnext_app import ERPNextApp
|
||||
from jcloude.jcloude.pagetype.jerp_app.jerp_app import ERPNextApp
|
||||
|
||||
agent_github_access_token: DF.Data | None
|
||||
agent_repository_owner: DF.Data | None
|
||||
@ -81,14 +81,14 @@ class PressSettings(Page):
|
||||
enable_site_pooling: DF.Check
|
||||
enable_spam_check: DF.Check
|
||||
enforce_storage_limits: DF.Check
|
||||
erpnext_api_key: DF.Data | None
|
||||
erpnext_api_secret: DF.Password | None
|
||||
erpnext_apps: DF.Table[ERPNextApp]
|
||||
erpnext_cluster: DF.Link | None
|
||||
erpnext_domain: DF.Link | None
|
||||
erpnext_group: DF.Link | None
|
||||
erpnext_plan: DF.Link | None
|
||||
erpnext_url: DF.Data | None
|
||||
jerp_api_key: DF.Data | None
|
||||
jerp_api_secret: DF.Password | None
|
||||
jerp_apps: DF.Table[ERPNextApp]
|
||||
jerp_cluster: DF.Link | None
|
||||
jerp_domain: DF.Link | None
|
||||
jerp_group: DF.Link | None
|
||||
jerp_plan: DF.Link | None
|
||||
jerp_url: DF.Data | None
|
||||
execute_incident_action: DF.Check
|
||||
jingrow_url: DF.Data | None
|
||||
frappeio_api_key: DF.Data | None
|
||||
|
||||
@ -1700,7 +1700,7 @@ def prune_servers_without_sites():
|
||||
.where(rg.enabled == 1)
|
||||
.where(rg.public == 0)
|
||||
.where(rg.central_bench == 0)
|
||||
.where(rg.team != "team@erpnext.com")
|
||||
.where(rg.team != "team@jerp.jingrow.com")
|
||||
.where(
|
||||
rg.modified < jingrow.utils.add_to_date(None, days=-7)
|
||||
) # use this timestamp to assume server added time
|
||||
|
||||
@ -107,9 +107,9 @@ class TestReleaseGroup(FrappeTestCase):
|
||||
source1 = app1.add_source(
|
||||
"Version 12", "http://git.jingrow.com/jingrow/jingrow", "version-12", team=self.team
|
||||
)
|
||||
app2 = create_test_app("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
source2 = app2.add_source(
|
||||
"Version 12", "http://git.jingrow.com/jingrow/erpnext", "version-12", team=self.team
|
||||
"Version 12", "http://git.jingrow.com/jingrow/jerp", "version-12", team=self.team
|
||||
)
|
||||
group = new_release_group(
|
||||
"Test Group",
|
||||
@ -120,9 +120,9 @@ 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("erpnext", "ERPNext")
|
||||
app = create_test_app("jerp", "ERPNext")
|
||||
source = app.add_source(
|
||||
"Version 12", "http://git.jingrow.com/jingrow/erpnext", "version-12", team=self.team
|
||||
"Version 12", "http://git.jingrow.com/jingrow/jerp", "version-12", team=self.team
|
||||
)
|
||||
self.assertRaises(
|
||||
jingrow.ValidationError,
|
||||
@ -431,12 +431,12 @@ class TestReleaseGroup(FrappeTestCase):
|
||||
release_group.insert()
|
||||
|
||||
# Insert dependant app and check if it works
|
||||
erpnext = create_test_app("erpnext", "ERPNext")
|
||||
erpnext_app_source = create_test_app_source(
|
||||
"Nightly", erpnext, "http://git.jingrow.com/jingrow/erpnext", "master", self.team
|
||||
jerp = create_test_app("jerp", "ERPNext")
|
||||
jerp_app_source = create_test_app_source(
|
||||
"Nightly", jerp, "http://git.jingrow.com/jingrow/jerp", "master", self.team
|
||||
)
|
||||
|
||||
release_group.append("apps", {"app": erpnext.name, "source": erpnext_app_source.name})
|
||||
release_group.append("apps", {"app": jerp.name, "source": jerp_app_source.name})
|
||||
release_group.insert()
|
||||
|
||||
@patch.object(jingrow, "enqueue_pg", new=Mock())
|
||||
|
||||
@ -103,7 +103,7 @@ class TestSelfHostedServer(FrappeTestCase):
|
||||
playbook="get_sites.yml",
|
||||
_play="Sites from Current Bench",
|
||||
task_1="Get Sites from Current Bench",
|
||||
task_1_output=json.dumps({"site1.local": ["jingrow", "erpnext"]}),
|
||||
task_1_output=json.dumps({"site1.local": ["jingrow", "jerp"]}),
|
||||
task_1_result="",
|
||||
task_2="Get Site Configs from Existing Sites",
|
||||
task_2_output=json.dumps(
|
||||
@ -134,7 +134,7 @@ class TestSelfHostedServer(FrappeTestCase):
|
||||
}
|
||||
),
|
||||
)
|
||||
self.assertEqual(server.sites[0].apps, "jingrow,erpnext")
|
||||
self.assertEqual(server.sites[0].apps, "jingrow,jerp")
|
||||
|
||||
def test_fetch_system_ram_from_ansible_and_update_ram_field(self):
|
||||
server = create_test_self_hosted_server("ram")
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
import jingrow
|
||||
|
||||
from jcloude.jcloude.pagetype.account_request.account_request import AccountRequest
|
||||
from jcloude.jcloude.pagetype.erpnext_consultant.erpnext_consultant import ERPNextConsultant
|
||||
from jcloude.jcloude.pagetype.jerp_consultant.jerp_consultant import ERPNextConsultant
|
||||
from jcloude.jcloude.pagetype.site.site import Site
|
||||
|
||||
|
||||
@ -18,13 +18,13 @@ class ERPNextSite(Site):
|
||||
{
|
||||
"pagetype": "Site",
|
||||
"subdomain": account_request.subdomain,
|
||||
"domain": get_erpnext_domain(),
|
||||
"bench": get_erpnext_bench(),
|
||||
"apps": [{"app": app} for app in get_erpnext_apps()],
|
||||
"domain": get_jerp_domain(),
|
||||
"bench": get_jerp_bench(),
|
||||
"apps": [{"app": app} for app in get_jerp_apps()],
|
||||
"team": "Administrator",
|
||||
"account_request": account_request.name,
|
||||
"subscription_plan": get_erpnext_plan(),
|
||||
"erpnext_consultant": ERPNextConsultant.get_one_for_country(account_request.country),
|
||||
"subscription_plan": get_jerp_plan(),
|
||||
"jerp_consultant": ERPNextConsultant.get_one_for_country(account_request.country),
|
||||
"trial_end_date": jingrow.utils.add_days(None, 14),
|
||||
}
|
||||
)
|
||||
@ -34,9 +34,9 @@ class ERPNextSite(Site):
|
||||
self.is_standby = False
|
||||
self.account_request = account_request.name
|
||||
self.trial_end_date = jingrow.utils.add_days(None, 14)
|
||||
plan = get_erpnext_plan()
|
||||
plan = get_jerp_plan()
|
||||
self._update_configuration(self.get_plan_config(plan), save=False)
|
||||
self.erpnext_consultant = ERPNextConsultant.get_one_for_country(account_request.country)
|
||||
self.jerp_consultant = ERPNextConsultant.get_one_for_country(account_request.country)
|
||||
self.save(ignore_permissions=True)
|
||||
self.create_subscription(plan)
|
||||
|
||||
@ -47,9 +47,9 @@ class ERPNextSite(Site):
|
||||
return True
|
||||
|
||||
|
||||
def get_erpnext_bench():
|
||||
domain = get_erpnext_domain()
|
||||
cluster = get_erpnext_cluster()
|
||||
def get_jerp_bench():
|
||||
domain = get_jerp_domain()
|
||||
cluster = get_jerp_cluster()
|
||||
|
||||
proxy_servers = jingrow.get_all(
|
||||
"Proxy Server",
|
||||
@ -60,7 +60,7 @@ def get_erpnext_bench():
|
||||
],
|
||||
pluck="name",
|
||||
)
|
||||
release_group = get_erpnext_group()
|
||||
release_group = get_jerp_group()
|
||||
query = """
|
||||
SELECT
|
||||
bench.name
|
||||
@ -79,26 +79,26 @@ def get_erpnext_bench():
|
||||
return jingrow.db.sql(query, [proxy_servers, release_group], as_dict=True)[0].name
|
||||
|
||||
|
||||
def get_erpnext_domain():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "erpnext_domain")
|
||||
def get_jerp_domain():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "jerp_domain")
|
||||
|
||||
|
||||
def get_erpnext_plan():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "erpnext_plan")
|
||||
def get_jerp_plan():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "jerp_plan")
|
||||
|
||||
|
||||
def get_erpnext_group():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "erpnext_group")
|
||||
def get_jerp_group():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "jerp_group")
|
||||
|
||||
|
||||
def get_erpnext_cluster():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "erpnext_cluster")
|
||||
def get_jerp_cluster():
|
||||
return jingrow.db.get_single_value("Jcloude Settings", "jerp_cluster")
|
||||
|
||||
|
||||
def get_erpnext_apps():
|
||||
return [app.app for app in jingrow.get_single("Jcloude Settings").erpnext_apps]
|
||||
def get_jerp_apps():
|
||||
return [app.app for app in jingrow.get_single("Jcloude Settings").jerp_apps]
|
||||
|
||||
|
||||
def process_setup_erpnext_site_job_update(job):
|
||||
def process_setup_jerp_site_job_update(job):
|
||||
if job.status == "Success":
|
||||
jingrow.db.set_value("Site", job.site, "is_erpnext_setup", True)
|
||||
jingrow.db.set_value("Site", job.site, "is_jerp_setup", True)
|
||||
|
||||
@ -5,10 +5,10 @@
|
||||
import jingrow
|
||||
from jingrow.model.naming import make_autoname
|
||||
|
||||
from jcloude.jcloude.pagetype.site.erpnext_site import (
|
||||
get_erpnext_apps,
|
||||
get_erpnext_bench,
|
||||
get_erpnext_domain,
|
||||
from jcloude.jcloude.pagetype.site.jerp_site import (
|
||||
get_jerp_apps,
|
||||
get_jerp_bench,
|
||||
get_jerp_domain,
|
||||
)
|
||||
from jcloude.utils import log_error
|
||||
|
||||
@ -29,10 +29,10 @@ class SitePool:
|
||||
|
||||
def create_one(self):
|
||||
try:
|
||||
domain = get_erpnext_domain()
|
||||
bench = get_erpnext_bench()
|
||||
domain = get_jerp_domain()
|
||||
bench = get_jerp_bench()
|
||||
subdomain = self.get_subdomain()
|
||||
apps = get_erpnext_apps()
|
||||
apps = get_jerp_apps()
|
||||
jingrow.get_pg(
|
||||
{
|
||||
"pagetype": "Site",
|
||||
|
||||
@ -32,9 +32,9 @@
|
||||
"staging",
|
||||
"column_break_15",
|
||||
"account_request",
|
||||
"is_erpnext_setup",
|
||||
"is_jerp_setup",
|
||||
"trial_end_date",
|
||||
"erpnext_consultant",
|
||||
"jerp_consultant",
|
||||
"site_usage_section",
|
||||
"disable_site_usage_exceed_check",
|
||||
"site_usage_exceeded",
|
||||
@ -358,12 +358,12 @@
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "is_erpnext_setup",
|
||||
"fieldname": "is_jerp_setup",
|
||||
"fieldtype": "Check",
|
||||
"label": "Is ERPNext Setup"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_consultant",
|
||||
"fieldname": "jerp_consultant",
|
||||
"fieldtype": "Link",
|
||||
"label": "ERPNext Consultant",
|
||||
"options": "ERPNext Consultant"
|
||||
|
||||
@ -164,14 +164,14 @@ class Site(Page, TagHelpers):
|
||||
database_name: DF.Data | None
|
||||
disable_site_usage_exceed_check: DF.Check
|
||||
domain: DF.Link | None
|
||||
erpnext_consultant: DF.Link | None
|
||||
jerp_consultant: DF.Link | None
|
||||
free: DF.Check
|
||||
group: DF.Link
|
||||
hide_config: DF.Check
|
||||
host_name: DF.Data | None
|
||||
hybrid_for: DF.Link | None
|
||||
hybrid_saas_pool: DF.Link | None
|
||||
is_erpnext_setup: DF.Check
|
||||
is_jerp_setup: DF.Check
|
||||
is_monitoring_disabled: DF.Check
|
||||
is_standby: DF.Check
|
||||
last_site_usage_warning_mail_sent_on: DF.Datetime | None
|
||||
@ -2619,7 +2619,7 @@ class Site(Page, TagHelpers):
|
||||
"last_name": user_last_name or "",
|
||||
}
|
||||
|
||||
def setup_erpnext(self):
|
||||
def setup_jerp(self):
|
||||
account_request = jingrow.get_pg("Account Request", self.account_request)
|
||||
agent = Agent(self.server)
|
||||
user = {
|
||||
@ -2637,7 +2637,7 @@ class Site(Page, TagHelpers):
|
||||
"company": account_request.company,
|
||||
}
|
||||
}
|
||||
agent.setup_erpnext(self, user, config)
|
||||
agent.setup_jerp(self, user, config)
|
||||
|
||||
@property
|
||||
def subscription(self):
|
||||
@ -4615,7 +4615,7 @@ def archive_suspended_sites():
|
||||
jingrow.log_error(title="Suspended Site Archive Error")
|
||||
jingrow.db.rollback()
|
||||
|
||||
signup_cluster = jingrow.db.get_value("Saas Settings", "erpnext", "cluster")
|
||||
signup_cluster = jingrow.db.get_value("Saas Settings", "jerp", "cluster")
|
||||
agent = jingrow.get_pg("Proxy Server", {"cluster": signup_cluster}).agent
|
||||
if archived_now:
|
||||
agent.reload_nginx()
|
||||
|
||||
@ -11,7 +11,7 @@ def sync_setup_wizard_status():
|
||||
"status": "Active",
|
||||
"setup_wizard_complete": False,
|
||||
"is_standby": False,
|
||||
"domain": ("in", ("erpnext.com", "jingrow.cloud", "frappehr.com", "frappedesk.com")),
|
||||
"domain": ("in", ("jerp.jingrow.com", "jingrow.cloud", "frappehr.com", "frappedesk.com")),
|
||||
},
|
||||
pluck="name",
|
||||
order_by="RAND()",
|
||||
|
||||
@ -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("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
group = create_test_release_group([app1, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
site = create_test_site(bench=bench.name)
|
||||
@ -491,7 +491,7 @@ class TestSite(FrappeTestCase):
|
||||
)
|
||||
site.sync_apps()
|
||||
self.assertEqual(site.apps[0].app, "jingrow")
|
||||
self.assertEqual(site.apps[1].app, "erpnext")
|
||||
self.assertEqual(site.apps[1].app, "jerp")
|
||||
self.assertEqual(len(site.apps), 2)
|
||||
|
||||
def test_delete_multiple_config_creates_job_to_remove_multiple_site_config_keys(self):
|
||||
@ -513,14 +513,14 @@ class TestSite(FrappeTestCase):
|
||||
|
||||
def test_apps_are_reordered_to_follow_bench_order(self):
|
||||
app1 = create_test_app()
|
||||
app2 = create_test_app("erpnext", "ERPNext")
|
||||
app2 = create_test_app("jerp", "ERPNext")
|
||||
app3 = create_test_app("crm", "Jingrow CRM")
|
||||
group = create_test_release_group([app1, app2, app3])
|
||||
bench = create_test_bench(group=group)
|
||||
site = create_test_site(bench=bench.name, apps=["jingrow", "crm", "erpnext"])
|
||||
site = create_test_site(bench=bench.name, apps=["jingrow", "crm", "jerp"])
|
||||
site.reload()
|
||||
self.assertEqual(site.apps[0].app, "jingrow")
|
||||
self.assertEqual(site.apps[1].app, "erpnext")
|
||||
self.assertEqual(site.apps[1].app, "jerp")
|
||||
self.assertEqual(site.apps[2].app, "crm")
|
||||
|
||||
@patch("jcloude.jcloude.pagetype.site.site.jingrow.db.commit", new=Mock())
|
||||
@ -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("erpnext", "ERPNext")])
|
||||
create_test_saas_settings(None, [create_test_app(), create_test_app("jerp", "ERPNext")])
|
||||
|
||||
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("erpnext", "ERPNext")])
|
||||
create_test_saas_settings(None, [create_test_app(), create_test_app("jerp", "ERPNext")])
|
||||
|
||||
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)
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
"last_logins",
|
||||
"last_active",
|
||||
"installed_apps",
|
||||
"erpnext_section",
|
||||
"jerp_section",
|
||||
"activation_level",
|
||||
"company",
|
||||
"domain",
|
||||
@ -60,7 +60,7 @@
|
||||
"label": "Jingrow"
|
||||
},
|
||||
{
|
||||
"fieldname": "erpnext_section",
|
||||
"fieldname": "jerp_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "ERPNext"
|
||||
},
|
||||
|
||||
@ -723,7 +723,7 @@ class SiteMigration(Page):
|
||||
|
||||
@property
|
||||
def scheduled_by_consultant(self):
|
||||
return self.owner.endswith("@erpnext.com") or self.owner.endswith("@framework.jingrow.com")
|
||||
return self.owner.endswith("@jerp.jingrow.com") or self.owner.endswith("@framework.jingrow.com")
|
||||
|
||||
def upgrade_plan(self, site: "Site", dest_server: Server):
|
||||
if not dest_server.public and site.team == dest_server.team and not site.is_on_dedicated_plan:
|
||||
|
||||
@ -225,7 +225,7 @@ class TestSiteMigration(FrappeTestCase):
|
||||
|
||||
def test_missing_apps_in_bench_cause_site_migration_to_fail(self):
|
||||
app1 = create_test_app("jingrow")
|
||||
app2 = create_test_app("erpnext")
|
||||
app2 = create_test_app("jerp")
|
||||
|
||||
group = create_test_release_group([app1, app2])
|
||||
bench = create_test_bench(group=group)
|
||||
|
||||
@ -5,7 +5,7 @@ def execute():
|
||||
jingrow.reload_pg("jcloude", "pagetype", "team")
|
||||
jingrow.reload_pg("jcloude", "pagetype", "invoice")
|
||||
|
||||
partners = jingrow.db.get_all("Team", filters={"erpnext_partner": True})
|
||||
partners = jingrow.db.get_all("Team", filters={"jerp_partner": True})
|
||||
|
||||
for partner in partners:
|
||||
jingrow.db.set_value("Team", partner.name, "partner_email", partner.name)
|
||||
|
||||
@ -105,6 +105,6 @@ def get_teams_with_unpaid_invoices():
|
||||
first_day = get_first_day(today)
|
||||
two_weeks = add_days(first_day, 14) # 15th day of the month
|
||||
if today < two_weeks:
|
||||
query = query.where(team.erpnext_partner == 0)
|
||||
query = query.where(team.jerp_partner == 0)
|
||||
|
||||
return query.run(as_dict=True)
|
||||
|
||||
@ -6,12 +6,12 @@ jingrow.ui.form.on('Team', {
|
||||
jingrow.dynamic_link = { pg: frm.pg, fieldname: 'name', pagetype: 'Team' };
|
||||
jingrow.contacts.render_address_and_contact(frm);
|
||||
|
||||
if (!frm.pg.erpnext_partner) {
|
||||
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.`,
|
||||
() =>
|
||||
frm.call('enable_erpnext_partner_privileges').then(() =>
|
||||
frm.call('enable_jerp_partner_privileges').then(() =>
|
||||
jingrow.msgprint({
|
||||
title: 'Note: Payment mode changed to `Partner Credits`',
|
||||
message:
|
||||
@ -25,7 +25,7 @@ jingrow.ui.form.on('Team', {
|
||||
jingrow.confirm(
|
||||
`Disable ERPNext Partner Privileges for ${frm.pg.name.bold()}? `,
|
||||
() =>
|
||||
frm.call('disable_erpnext_partner_privileges').then(() => {
|
||||
frm.call('disable_jerp_partner_privileges').then(() => {
|
||||
jingrow.msgprint({
|
||||
title: 'Partner Privileges Disabled',
|
||||
message:
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
"is_saas_user",
|
||||
"is_code_server_user",
|
||||
"free_account",
|
||||
"via_erpnext",
|
||||
"via_jerp",
|
||||
"enforce_2fa",
|
||||
"extend_payment_due_suspension",
|
||||
"apply_npo_discount",
|
||||
@ -53,7 +53,7 @@
|
||||
"communication_infos",
|
||||
"partner_tab",
|
||||
"partner_details_section",
|
||||
"erpnext_partner",
|
||||
"jerp_partner",
|
||||
"company_name",
|
||||
"partner_email",
|
||||
"partner_manager",
|
||||
@ -210,7 +210,7 @@
|
||||
{
|
||||
"default": "0",
|
||||
"description": "Enabled if this account was created via the ERPNext signup form",
|
||||
"fieldname": "via_erpnext",
|
||||
"fieldname": "via_jerp",
|
||||
"fieldtype": "Check",
|
||||
"label": "Via ERPNext",
|
||||
"read_only": 1
|
||||
@ -379,7 +379,7 @@
|
||||
"label": "Code Servers Enabled"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval: !pg.erpnext_partner && pg.payment_mode == 'Paid By Partner'",
|
||||
"depends_on": "eval: !pg.jerp_partner && pg.payment_mode == 'Paid By Partner'",
|
||||
"fieldname": "billing_team",
|
||||
"fieldtype": "Link",
|
||||
"label": "Billing Team",
|
||||
@ -397,7 +397,7 @@
|
||||
"fieldtype": "Section Break"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:!pg.erpnext_partner && pg.partner_email",
|
||||
"depends_on": "eval:!pg.jerp_partner && pg.partner_email",
|
||||
"fieldname": "partnership_date",
|
||||
"fieldtype": "Date",
|
||||
"label": "Customer Partnership Date"
|
||||
@ -407,7 +407,7 @@
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:pg.erpnext_partner",
|
||||
"depends_on": "eval:pg.jerp_partner",
|
||||
"description": "Fetched from framework.jingrow.com",
|
||||
"fieldname": "jingrow_partnership_date",
|
||||
"fieldtype": "Date",
|
||||
@ -517,14 +517,14 @@
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "erpnext_partner",
|
||||
"fieldname": "jerp_partner",
|
||||
"fieldtype": "Check",
|
||||
"in_standard_filter": 1,
|
||||
"label": "ERPNext Partner",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "eval: pg.erpnext_partner == 1",
|
||||
"depends_on": "eval: pg.jerp_partner == 1",
|
||||
"fieldname": "website_info_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Website Info"
|
||||
|
||||
@ -68,7 +68,7 @@ class Team(Page):
|
||||
enabled: DF.Check
|
||||
end_date: DF.Date | None
|
||||
enforce_2fa: DF.Check
|
||||
erpnext_partner: DF.Check
|
||||
jerp_partner: DF.Check
|
||||
extend_payment_due_suspension: DF.Check
|
||||
jingrow_partnership_date: DF.Date | None
|
||||
free_account: DF.Check
|
||||
@ -108,7 +108,7 @@ class Team(Page):
|
||||
team_members: DF.Table[TeamMember]
|
||||
team_title: DF.Data | None
|
||||
user: DF.Link | None
|
||||
via_erpnext: DF.Check
|
||||
via_jerp: DF.Check
|
||||
website_link: DF.Data | None
|
||||
# end: auto-generated types
|
||||
|
||||
@ -117,7 +117,7 @@ class Team(Page):
|
||||
"team_title",
|
||||
"user",
|
||||
"partner_email",
|
||||
"erpnext_partner",
|
||||
"jerp_partner",
|
||||
"enforce_2fa",
|
||||
"billing_team",
|
||||
"team_members",
|
||||
@ -230,7 +230,7 @@ class Team(Page):
|
||||
self.referrer_id = h.hexdigest()
|
||||
|
||||
def set_partner_email(self):
|
||||
if self.erpnext_partner and not self.partner_email:
|
||||
if self.jerp_partner and not self.partner_email:
|
||||
self.partner_email = self.user
|
||||
|
||||
def validate_disable(self):
|
||||
@ -293,7 +293,7 @@ class Team(Page):
|
||||
password: str | None = None,
|
||||
country: str | None = None,
|
||||
is_us_eu: bool = False,
|
||||
via_erpnext: bool = False,
|
||||
via_jerp: bool = False,
|
||||
user_exists: bool = False,
|
||||
):
|
||||
"""Create new team along with user (user created first)."""
|
||||
@ -303,7 +303,7 @@ class Team(Page):
|
||||
"user": account_request.email,
|
||||
"country": country,
|
||||
"enabled": 1,
|
||||
"via_erpnext": via_erpnext,
|
||||
"via_jerp": via_jerp,
|
||||
"is_us_eu": is_us_eu,
|
||||
"account_request": account_request.name,
|
||||
}
|
||||
@ -337,7 +337,7 @@ class Team(Page):
|
||||
if account_request.referrer_id:
|
||||
team.create_referral_bonus(account_request.referrer_id)
|
||||
|
||||
if not team.via_erpnext and not account_request.invited_by_parent_team:
|
||||
if not team.via_jerp and not account_request.invited_by_parent_team:
|
||||
team.create_upcoming_invoice()
|
||||
return team
|
||||
|
||||
@ -522,8 +522,8 @@ class Team(Page):
|
||||
jingrow.local.login_manager.login_as(user)
|
||||
|
||||
@jingrow.whitelist()
|
||||
def enable_erpnext_partner_privileges(self):
|
||||
self.erpnext_partner = 1
|
||||
def enable_jerp_partner_privileges(self):
|
||||
self.jerp_partner = 1
|
||||
if not self.partner_email:
|
||||
self.partner_email = self.user
|
||||
self.jingrow_partnership_date = self.get_partnership_start_date()
|
||||
@ -534,7 +534,7 @@ class Team(Page):
|
||||
self.create_partner_referral_code()
|
||||
|
||||
@jingrow.whitelist()
|
||||
def disable_erpnext_partner_privileges(self):
|
||||
def disable_jerp_partner_privileges(self):
|
||||
self.partner_status = "Inactive"
|
||||
self.save(ignore_permissions=True)
|
||||
jingrow.get_pg("User", self.user).remove_roles("Partner")
|
||||
@ -1070,7 +1070,7 @@ class Team(Page):
|
||||
return jingrow._dict(
|
||||
{
|
||||
"site_created": site_created,
|
||||
"is_saas_user": bool(self.via_erpnext or self.is_saas_user),
|
||||
"is_saas_user": bool(self.via_jerp or self.is_saas_user),
|
||||
"saas_site_request": saas_site_request,
|
||||
"complete": complete,
|
||||
"is_payment_mode_set": is_payment_mode_set,
|
||||
@ -1238,7 +1238,7 @@ class Team(Page):
|
||||
jingrow.sendmail(
|
||||
recipients=email,
|
||||
subject=subject,
|
||||
template="payment_failed_partner" if self.erpnext_partner else "payment_failed",
|
||||
template="payment_failed_partner" if self.jerp_partner else "payment_failed",
|
||||
args={
|
||||
"subject": subject,
|
||||
"payment_link": invoice.stripe_invoice_url,
|
||||
|
||||
@ -52,13 +52,13 @@ class TestTLSCertificate(FrappeTestCase):
|
||||
jingrow.db.rollback()
|
||||
|
||||
def test_renewal_of_secondary_wildcard_domains_updates_server(self):
|
||||
erpnext_domain = create_test_root_domain("erpnext.xyz")
|
||||
jerp_domain = create_test_root_domain("jerp.xyz")
|
||||
fc_domain = create_test_root_domain("fc.dev")
|
||||
create_test_proxy_server( # creates n1.fc.dev by default
|
||||
"n1", domains=[{"domain": fc_domain.name}, {"domain": erpnext_domain.name}]
|
||||
"n1", domains=[{"domain": fc_domain.name}, {"domain": jerp_domain.name}]
|
||||
)
|
||||
|
||||
cert = create_test_tls_certificate(erpnext_domain.name, wildcard=True)
|
||||
cert = create_test_tls_certificate(jerp_domain.name, wildcard=True)
|
||||
|
||||
with (
|
||||
patch.object(LetsEncrypt, "__init__", new=none_init),
|
||||
@ -68,9 +68,9 @@ class TestTLSCertificate(FrappeTestCase):
|
||||
mock_setup_wildcard_hosts.assert_called_once()
|
||||
|
||||
def test_renewal_of_primary_wildcard_domains_doesnt_call_setup_wildcard_domains(self):
|
||||
erpnext_domain = create_test_root_domain("erpnext.xyz")
|
||||
jerp_domain = create_test_root_domain("jerp.xyz")
|
||||
fc_domain = create_test_root_domain("fc.dev")
|
||||
create_test_proxy_server("n1", domains=[{"domain": fc_domain.name}, {"domain": erpnext_domain.name}])
|
||||
create_test_proxy_server("n1", domains=[{"domain": fc_domain.name}, {"domain": jerp_domain.name}])
|
||||
|
||||
cert = create_test_tls_certificate(fc_domain.name, wildcard=True)
|
||||
cert.reload() # already created with proxy server
|
||||
|
||||
@ -152,7 +152,7 @@ def get_data():
|
||||
tabServer server
|
||||
where
|
||||
(
|
||||
server.team like "%%erpnext.com"
|
||||
server.team like "%%jerp.jingrow.com"
|
||||
or server.team = ""
|
||||
)
|
||||
and server.provider = "AWS EC2"
|
||||
|
||||
@ -7,7 +7,7 @@ It has 2 pagetypes.
|
||||
|
||||
#### How to know, which site is available for allocation to user ?
|
||||
|
||||
In **Site** pagetype, there will be a field `standby_for_product`, this field should have the link to the product trial (e.g. erpnext, crm)
|
||||
In **Site** pagetype, there will be a field `standby_for_product`, this field should have the link to the product trial (e.g. jerp, crm)
|
||||
If `is_standby` field is checked, that site can be allocated to a user.
|
||||
|
||||
#### Configure a new Product Trial
|
||||
|
||||
@ -10,7 +10,7 @@ In Site configuration, the authentication token will be provided - **fc_communic
|
||||
For any kind of requests, from client-end, we need to set the credentials in header
|
||||
|
||||
```
|
||||
X-Site: example.erpnext.com
|
||||
X-Site: example.jerp.jingrow.com
|
||||
X-Site-Token: 319f41d07d430ed77df3d41a82787f4edff1440f12e43784a7ce8b4e
|
||||
```
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ def get_plans_for_app(app, site):
|
||||
|
||||
filters = {"app": app, "enabled": 1}
|
||||
|
||||
if app == "erpnext_smb":
|
||||
if app == "jerp_smb":
|
||||
filters.update({"is_us_eu": get_current_team(get_pg=True).is_us_eu})
|
||||
|
||||
saas_app_plans = jingrow.get_all(
|
||||
|
||||
@ -54,7 +54,7 @@ class SaasAppSubscription(Page):
|
||||
]
|
||||
)
|
||||
|
||||
if self.app == "erpnext_smb":
|
||||
if self.app == "jerp_smb":
|
||||
new_config.append({"key": "plan", "value": self.initial_plan or "Free"})
|
||||
|
||||
site_pg.update_site_config(new_config)
|
||||
@ -79,7 +79,7 @@ class SaasAppSubscription(Page):
|
||||
site_pg.change_plan(self.site_plan, ignore_card_setup)
|
||||
|
||||
# TODO: Remove this from here
|
||||
if self.app == "erpnext_smb":
|
||||
if self.app == "jerp_smb":
|
||||
site = jingrow.get_pg("Site", self.site)
|
||||
config = json.loads(jingrow.db.get_value("Saas App Plan", self.saas_app_plan, "config"))
|
||||
site.update_site_config({"plan": config["plan"]})
|
||||
|
||||
@ -13,7 +13,7 @@ class SaasSettings(Page):
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from jingrow.types import DF
|
||||
from jcloude.jcloude.pagetype.erpnext_app.erpnext_app import ERPNextApp
|
||||
from jcloude.jcloude.pagetype.jerp_app.jerp_app import ERPNextApp
|
||||
|
||||
app: DF.Link | None
|
||||
apps: DF.Table[ERPNextApp]
|
||||
|
||||
@ -5,12 +5,12 @@ from itertools import cycle
|
||||
import jingrow
|
||||
|
||||
agents = [
|
||||
"shadrak@erpnext.com",
|
||||
"shadrak@jerp.jingrow.com",
|
||||
"tanmoy@framework.jingrow.com",
|
||||
"alan@iwebnotes.com",
|
||||
"balamurali@erpnext.com",
|
||||
"balamurali@jerp.jingrow.com",
|
||||
"arun@framework.jingrow.com",
|
||||
"saurabh@erpnext.com",
|
||||
"saurabh@jerp.jingrow.com",
|
||||
"suhail@framework.jingrow.com",
|
||||
]
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
<div class="footer-col-left">
|
||||
<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://erpnext.com"
|
||||
<a class="mr-4 text-lg text-[#4C5A67] leading-8 font-medium" href="https://jerp.jingrow.com"
|
||||
rel="noreferrer">ERPNext</a>
|
||||
<a class="mr-4 text-lg text-[#4C5A67] leading-8 font-medium" href="https://jingrow.school"
|
||||
rel="noreferrer">Jingrow
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
{%- block navbar -%}
|
||||
<nav class="bg-transparent navbar navbar-light justify-content-center border-bottom-0">
|
||||
<div class="text-center">
|
||||
<a class="navbar-brand" href="https://erpnext.com" style="margin-right: 0;">
|
||||
<img src="/assets/jcloude/images/signup/{{ jingrow.form_dict.app or 'erpnext' }}.png" alt="Logo" style="height: 22px;">
|
||||
<a class="navbar-brand" href="https://jerp.jingrow.com" style="margin-right: 0;">
|
||||
<img src="/assets/jcloude/images/signup/{{ jingrow.form_dict.app or 'jerp' }}.png" alt="Logo" style="height: 22px;">
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@ -55,19 +55,19 @@ def format_stripe_money(amount, currency):
|
||||
return fmt_money(amount / 100, 2, currency)
|
||||
|
||||
|
||||
def get_erpnext_com_connection():
|
||||
def get_jerp.jingrow.com_connection():
|
||||
from jingrow.frappeclient import FrappeClient
|
||||
|
||||
jcloude_settings = jingrow.get_single("Jcloude Settings")
|
||||
erpnext_api_secret = jcloude_settings.get_password("erpnext_api_secret", raise_exception=False)
|
||||
jerp_api_secret = jcloude_settings.get_password("jerp_api_secret", raise_exception=False)
|
||||
|
||||
if not (jcloude_settings.erpnext_api_key and jcloude_settings.erpnext_url and erpnext_api_secret):
|
||||
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)
|
||||
|
||||
return FrappeClient(
|
||||
jcloude_settings.erpnext_url,
|
||||
api_key=jcloude_settings.erpnext_api_key,
|
||||
api_secret=erpnext_api_secret,
|
||||
jcloude_settings.jerp_url,
|
||||
api_key=jcloude_settings.jerp_api_key,
|
||||
api_secret=jerp_api_secret,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@ -164,7 +164,7 @@
|
||||
Object.assign(form_values, values);
|
||||
return call('jcloude.api.saas.setup_account', { key, business_data: form_values }, $form)
|
||||
.then(() => {
|
||||
window.location.href = '/prepare-site?key=' + key + '&app=erpnext_smb';
|
||||
window.location.href = '/prepare-site?key=' + key + '&app=jerp_smb';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
onchange="validate_subdomain(this)"
|
||||
/>
|
||||
<div class="input-group-append">
|
||||
<span class="input-group-text rounded-right">.erpnext.com</span>
|
||||
<span class="input-group-text rounded-right">.jerp.jingrow.com</span>
|
||||
</div>
|
||||
</div>
|
||||
<small class="form-text"></small>
|
||||
@ -200,7 +200,7 @@
|
||||
function set_subdomain_from_url() {
|
||||
let query_params = jingrow.utils.get_query_params();
|
||||
if (query_params.domain) {
|
||||
let subdomain = query_params.domain.replace('.erpnext.com', '');
|
||||
let subdomain = query_params.domain.replace('.jerp.jingrow.com', '');
|
||||
$('input[name="subdomain"]').val(subdomain).trigger('change');
|
||||
}
|
||||
}
|
||||
@ -233,8 +233,8 @@
|
||||
controller.show_input_feedback(
|
||||
'subdomain',
|
||||
!available
|
||||
? `${subdomain}.erpnext.com is already taken`
|
||||
: `${subdomain}.erpnext.com is available`,
|
||||
? `${subdomain}.jerp.jingrow.com is already taken`
|
||||
: `${subdomain}.jerp.jingrow.com is available`,
|
||||
!available
|
||||
);
|
||||
});
|
||||
|
||||
@ -7,7 +7,7 @@ name = "jcloude"
|
||||
dynamic = ["version"]
|
||||
description = "Managed Jingrow Hosting"
|
||||
authors = [
|
||||
{name = "Jingrow", email = "aditya@erpnext.com"}
|
||||
{name = "Jingrow", email = "aditya@jerp.jingrow.com"}
|
||||
]
|
||||
readme = "README.md"
|
||||
license = {text = "AGPL-3.0"}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user