From ce84804aeb5b03c2c3da04a3ec1c33d3c592b953 Mon Sep 17 00:00:00 2001 From: jingrow Date: Tue, 23 Dec 2025 21:34:08 +0800 Subject: [PATCH] update doctype-pagetype --- .git-blame-ignore-revs | 2 +- .github/workflows/main.yaml | 2 +- .../src/components/AccessRequestButton.vue | 6 +- .../src/components/AccessRequestDialog.vue | 16 +- .../components/AccessRequestStatusDialog.vue | 6 +- dashboard/src/components/AddTagDialog.vue | 8 +- .../src/components/AddressableErrorDialog.vue | 2 +- dashboard/src/components/DetailPageError.vue | 2 +- dashboard/src/components/InvoiceTable.vue | 2 +- dashboard/src/components/LinkControl.vue | 2 +- .../src/components/MarketplaceAppListing.vue | 4 +- dashboard/src/components/NavigationItems.vue | 2 +- dashboard/src/components/ObjectList.vue | 24 +- dashboard/src/components/PayoutTable.vue | 2 +- .../components/SiteDatabaseAccessDialog.vue | 2 +- dashboard/src/components/SiteOverview.vue | 2 +- dashboard/src/components/SiteUpdateDialog.vue | 2 +- .../src/components/SupportAccessDialog.vue | 4 +- dashboard/src/components/SwitchTeamDialog.vue | 2 +- .../database/DatabaseSQLPlaygroundLog.vue | 2 +- .../group/DependencyEditorDialog.vue | 2 +- .../src/components/group/PatchAppDialog.vue | 4 +- .../components/group/SSHCertificateDialog.vue | 2 +- .../src/components/marketplace/CodeReview.vue | 2 +- .../marketplace/NewMarketplaceAppDialog.vue | 4 +- .../marketplace/ReplyMarketplaceApp.vue | 2 +- .../components/partners/LeadActivities.vue | 2 +- .../src/components/partners/LeadFollowup.vue | 2 +- .../components/partners/NewPartnerLead.vue | 2 +- .../partners/PartnerApprovalRequests.vue | 2 +- .../partners/PartnerCertificates.vue | 2 +- .../partners/PartnerCreditsForm.vue | 2 +- .../partners/PartnerCustomerInvoices.vue | 2 +- .../partners/PartnerLeadOverview.vue | 2 +- .../components/partners/PartnerOverview.vue | 2 +- .../src/components/partners/PartnerPayout.vue | 2 +- .../components/server/AutoScaleScheduled.vue | 2 +- .../src/components/server/AutoScaleSteps.vue | 2 +- .../components/server/AutoScaleTriggered.vue | 2 +- .../components/server/ReleaseGroupCharts.vue | 2 +- .../components/server/ServerActionCell.vue | 2 +- .../src/components/server/ServerActions.vue | 8 +- .../src/components/server/ServerOverview.vue | 6 +- .../server/ServerSnapshotDetailsDialog.vue | 2 +- .../ServerSnapshotRecoverSitesDialog.vue | 4 +- .../server/ServerSnapshotRecoveryDetails.vue | 2 +- .../components/settings/DeveloperSettings.vue | 8 +- .../components/settings/EditWebhookDialog.vue | 2 +- .../settings/InviteTeamMemberDialog.vue | 2 +- dashboard/src/components/settings/Role.vue | 2 +- .../settings/RoleConfigureDialog.vue | 2 +- .../src/components/settings/RoleList.vue | 4 +- dashboard/src/components/settings/data.ts | 6 +- .../settings/profile/AccountProfile.vue | 4 +- .../components/site/SelectSiteForRestore.vue | 2 +- .../components/site/SiteChangeGroupDialog.vue | 2 +- .../site/SiteChangeRegionDialog.vue | 2 +- .../site/SiteEnableMonitoringDialog.vue | 2 +- dashboard/src/components/site/SiteJobs.vue | 8 +- .../SiteDatabaseAddEditUserDialog.vue | 4 +- dashboard/src/controllers/fileUploader.js | 4 +- dashboard/src/data/team.js | 2 +- dashboard/src/dialogs/TagsDialog.vue | 8 +- dashboard/src/objects/accessRequests.js | 2 +- dashboard/src/objects/bench.ts | 6 +- dashboard/src/objects/common/apps.ts | 6 +- dashboard/src/objects/common/jobs.ts | 34 +- dashboard/src/objects/common/patches.ts | 6 +- dashboard/src/objects/common/tags.js | 12 +- dashboard/src/objects/common/types.ts | 8 +- dashboard/src/objects/generateRoutes.js | 6 +- dashboard/src/objects/group.js | 20 +- dashboard/src/objects/marketplace.js | 10 +- dashboard/src/objects/notification.js | 6 +- dashboard/src/objects/server.js | 28 +- dashboard/src/objects/site.js | 26 +- dashboard/src/objects/tabs/site/logs.ts | 2 +- dashboard/src/pages/BillingBalances.vue | 2 +- dashboard/src/pages/BillingInvoices.vue | 2 +- .../src/pages/BillingMarketplacePayouts.vue | 2 +- dashboard/src/pages/BillingMpesaInvoices.vue | 2 +- dashboard/src/pages/BillingPaymentMethods.vue | 2 +- .../src/pages/CreateSiteForMarketplaceApp.vue | 2 +- dashboard/src/pages/DeployCandidate.vue | 8 +- dashboard/src/pages/DetailPage.vue | 24 +- dashboard/src/pages/InstallApp.vue | 4 +- dashboard/src/pages/JobPage.vue | 8 +- dashboard/src/pages/ListPage.vue | 4 +- dashboard/src/pages/LogPage.vue | 6 +- dashboard/src/pages/NewSite.vue | 2 +- .../src/pages/PartnerAdminCertificates.vue | 2 +- dashboard/src/pages/PartnerAdminLeads.vue | 4 +- dashboard/src/pages/PartnerLeadDetails.vue | 2 +- dashboard/src/pages/PartnerNewPayout.vue | 2 +- dashboard/src/pages/PlayPage.vue | 4 +- .../src/pages/ReleaseGroupBenchSites.vue | 4 +- dashboard/src/pages/SiteLogin.vue | 2 +- dashboard/src/pages/SiteUpdate.vue | 2 +- .../src/pages/backups/ServerSnapshots.vue | 6 +- dashboard/src/pages/backups/SiteBackups.vue | 4 +- .../pages/devtools/database/BinlogBrowser.vue | 4 +- .../devtools/database/DatabaseAnalyzer.vue | 4 +- .../database/DatabaseSQLPlayground.vue | 2 +- .../pages/devtools/log-browser/LogBrowser.vue | 4 +- dashboard/src/pages/signup/LoginToSite.vue | 4 +- dashboard/src/pages/signup/SetupSite.vue | 2 +- dashboard/src/utils/resource.js | 2 +- docs/General Guide/DevOps Manual.MD | 2 +- .../Marketplace Review Process.MD | 4 +- docs/General Guide/Operational Manual.MD | 8 +- docs/How to ?/Add New Press Webhook.MD | 10 +- docs/How to ?/Update Agents on Prod.MD | 6 +- docs/Internals/Billing & Subscription.MD | 4 +- .../Local Setup Troubleshooting.MD | 2 +- docs/Introduction/Local Setup Using Cloud.MD | 2 +- guide-to-testing.md | 20 +- libs/fc_cli/fc/commands/deploy.py | 2 +- libs/fc_cli/fc/commands/server.py | 28 +- libs/fc_cli/fc/commands/utils.py | 4 +- libs/fc_cli/fc/models.py | 4 +- libs/fcrestore/requests.go | 2 +- press/access/__init__.py | 14 +- press/access/decorators.py | 6 +- press/access/support_access.py | 14 +- press/access/utils.py | 8 +- press/agent.py | 130 +++---- press/api/__init__.py | 2 +- press/api/access.py | 12 +- press/api/account.py | 72 ++-- press/api/analytics.py | 12 +- press/api/app.py | 6 +- press/api/bench.py | 64 ++-- press/api/billing.py | 22 +- press/api/callbacks.py | 4 +- press/api/central.py | 8 +- press/api/client.py | 170 ++++----- press/api/cookies.py | 2 +- press/api/dashboard.py | 18 +- press/api/developer/marketplace.py | 2 +- press/api/developer/saas.py | 4 +- press/api/email.py | 6 +- press/api/github.py | 4 +- press/api/google.py | 2 +- press/api/marketplace.py | 88 ++--- press/api/monitoring.py | 4 +- press/api/notifications.py | 2 +- press/api/oauth.py | 6 +- press/api/partner.py | 12 +- press/api/product_trial.py | 4 +- press/api/regional_payments/mpesa/utils.py | 22 +- press/api/saas.py | 12 +- press/api/selfhosted.py | 2 +- press/api/server.py | 44 +-- press/api/site.py | 128 +++---- press/api/site_backup.py | 4 +- press/api/site_login.py | 6 +- press/api/spaces.py | 6 +- press/api/tests/test_account.py | 2 +- press/api/tests/test_bench.py | 36 +- press/api/tests/test_marketplace.py | 20 +- press/api/tests/test_server.py | 48 +-- press/api/tests/test_site.py | 62 ++-- press/api/webhook.py | 4 +- press/auth.py | 20 +- press/bootstrap.py | 30 +- press/commands.py | 2 +- press/config/press.py | 40 +- .../referral_bonus/referral_bonus.json | 2 +- press/fixtures/agent_job_type.json | 210 +++++------ press/fixtures/bench_dependency.json | 12 +- press/fixtures/cloud_region.json | 26 +- press/fixtures/frappe_version.json | 12 +- press/fixtures/mariadb_variable.json | 90 ++--- press/fixtures/press_job_type.json | 50 +-- press/fixtures/press_method_permission.json | 48 +-- press/fixtures/press_webhook_event.json | 8 +- press/fixtures/print_format.json | 2 +- press/fixtures/role.json | 8 +- press/fixtures/server_snapshot_plan.json | 2 +- press/fixtures/server_storage_plan.json | 2 +- press/fixtures/site_config_key.json | 106 +++--- press/fixtures/site_config_key_blacklist.json | 54 +-- press/guards/role_guard/__init__.py | 16 +- press/guards/role_guard/action.py | 8 +- press/guards/role_guard/document.py | 8 +- press/guards/role_guard/marketplace.py | 2 +- press/guards/role_guard/server_snapshot.py | 6 +- press/guards/role_guard/site_backup.py | 6 +- press/guards/role_guard/webhook.py | 2 +- press/guards/team_guard.py | 4 +- press/hooks.py | 342 +++++++++--------- .../doctype/action_step/action_step.json | 12 +- .../doctype/action_step/action_step.py | 6 +- .../incident_investigator.json | 2 +- .../incident_investigator.py | 28 +- .../test_incident_investigator.py | 28 +- .../investigation_step.json | 2 +- .../arm_build_record/arm_build_record.json | 4 +- .../arm_build_record/arm_build_record.py | 16 +- .../arm_build_record/test_arm_build_record.py | 16 +- .../arm_docker_image/arm_docker_image.json | 2 +- .../ssh_access_audit/ssh_access_audit.json | 2 +- .../ssh_access_audit/ssh_access_audit.py | 28 +- .../ssh_access_audit_host.json | 2 +- .../ssh_access_audit_violation.json | 12 +- .../ssh_access_audit_violation.py | 2 +- .../virtual_disk_resize.json | 2 +- .../virtual_disk_resize.py | 10 +- .../virtual_machine_migration.json | 2 +- .../virtual_machine_migration.py | 22 +- .../virtual_machine_migration_bind_mount.json | 2 +- .../virtual_machine_migration_mount.json | 2 +- .../virtual_machine_migration_step.json | 2 +- .../virtual_machine_migration_volume.json | 2 +- .../virtual_machine_replacement.json | 2 +- .../virtual_machine_replacement.py | 8 +- press/install.py | 4 +- .../app_plan_version/app_plan_version.json | 2 +- .../app_release_approval_code_comments.json | 2 +- .../app_user_review/app_user_review.json | 4 +- .../auto_release_team/auto_release_team.json | 2 +- .../developer_review_reply.json | 2 +- .../doctype/featured_app/featured_app.json | 2 +- .../marketplace_add_on.json | 2 +- .../marketplace_app_feedback.json | 2 +- .../marketplace_app_feedback.py | 2 +- .../marketplace_app_payment.json | 2 +- .../marketplace_app_plan.json | 2 +- .../marketplace_app_plan.py | 4 +- .../test_marketplace_app_plan.py | 6 +- .../marketplace_app_plans.json | 2 +- .../marketplace_app_subscription.json | 2 +- .../marketplace_app_subscription.py | 6 +- .../test_marketplace_app_subscription.py | 12 +- .../marketplace_promotional_banner.json | 2 +- .../marketplace_publisher_profile.json | 2 +- .../marketplace_settings.json | 2 +- press/metrics.py | 4 +- press/notifications.py | 2 +- press/overrides.py | 20 +- .../certificate_link_request.json | 2 +- .../test_certificate_link_request.py | 2 +- .../doctype/lead_followup/lead_followup.json | 2 +- .../partner_approval_request.json | 2 +- .../partner_certificate.json | 2 +- .../partner_certificate.py | 4 +- .../partner_certificate_request.json | 2 +- .../partner_consent/partner_consent.json | 2 +- .../partner_consent/test_partner_consent.py | 2 +- .../doctype/partner_lead/partner_lead.json | 2 +- .../doctype/partner_lead/partner_lead.py | 4 +- .../doctype/partner_lead/test_partner_lead.py | 2 +- .../partner_lead_origin.json | 2 +- .../test_partner_lead_origin.py | 2 +- .../partner_lead_type/partner_lead_type.json | 2 +- .../test_partner_lead_type.py | 2 +- .../doctype/partner_tier/partner_tier.json | 2 +- .../partner/doctype/territory/territory.json | 2 +- .../doctype/territory/test_territory.py | 2 +- press/patches.txt | 116 +++--- .../add_site_index_to_site_migration.py | 2 +- .../add_team_name_as_default_notify_email.py | 4 +- ...eakdown_site_usage_into_multiple_fields.py | 2 +- ...erence_from_deploy_candidate_difference.py | 8 +- .../v0_0_1/create_app_source_from_app.py | 20 +- .../v0_0_1/create_backup_uploads_folder.py | 2 +- .../v0_0_1/create_balance_transactions.py | 2 +- ...create_balance_transactions_from_stripe.py | 4 +- .../v0_0_1/create_certificate_authorities.py | 2 +- .../create_child_table_records_in_teams.py | 2 +- .../patches/v0_0_1/create_default_cluster.py | 10 +- .../v0_0_1/create_invoice_for_past_ples.py | 2 +- .../create_root_domain_from_press_settings.py | 4 +- .../v0_0_1/create_site_plan_change_log.py | 2 +- .../v0_0_1/create_site_subscriptions.py | 6 +- .../v0_0_1/delete_logs_from_archived_sites.py | 2 +- ...ake_apps_in_public_release_group_public.py | 4 +- .../v0_0_1/make_default_site_domain.py | 4 +- ...app_releases_as_approved_and_deployable.py | 2 +- press/patches/v0_0_1/new_onboarding.py | 4 +- press/patches/v0_0_1/patch_invoice.py | 4 +- press/patches/v0_0_1/ple_to_usage_record.py | 2 +- .../v0_0_1/remove_obsolete_doctypes.py | 6 +- press/patches/v0_0_1/rename_archived_sites.py | 4 +- .../rename_columns_in_tls_certificate.py | 2 +- ...ate_app_release_to_deploy_candidate_app.py | 8 +- .../v0_0_1/rename_frappe_app_to_app.py | 8 +- .../rename_installed_app_to_bench_app.py | 8 +- ...e_group_frappe_app_to_release_group_app.py | 8 +- press/patches/v0_0_1/rename_release_groups.py | 6 +- .../v0_0_1/rename_site_backup_fields.py | 2 +- ...rename_transaction_currency_to_currency.py | 2 +- .../rename_workers_to_background_workers.py | 2 +- .../v0_0_1/set_app_title_from_custom_field.py | 2 +- .../v0_0_1/set_billing_name_for_teams.py | 2 +- .../v0_0_1/set_cluster_in_press_settings.py | 4 +- .../set_dependencies_in_release_group.py | 4 +- .../v0_0_1/set_document_type_in_plan.py | 2 +- press/patches/v0_0_1/set_domain_in_site.py | 2 +- .../set_host_name_for_sites_with_domains.py | 2 +- .../patches/v0_0_1/set_hostname_in_server.py | 10 +- ...set_marketplace_app_app_field_from_name.py | 2 +- .../set_monitoring_password_in_cluster.py | 2 +- ..._app_release_based_on_app_source_public.py | 2 +- .../set_rate_limit_config_based_on_plan.py | 2 +- ...oup_version_and_title_from_custom_field.py | 2 +- .../v0_0_1/set_remote_file_location.py | 4 +- .../v0_0_1/set_repository_in_frappe_app.py | 2 +- .../set_team_field_for_permission_checks.py | 8 +- ...in_tls_certificate_based_on_domain_team.py | 4 +- .../v0_0_1/site_history_to_site_activity.py | 8 +- .../v0_0_1/site_usage_convert_history.py | 12 +- .../track_offsite_backups_via_remote_files.py | 16 +- .../patches/v0_0_1/update_site_config_doc.py | 4 +- press/patches/v0_0_1/user_account_to_team.py | 10 +- ...isable_subscriptions_for_inactive_sites.py | 4 +- .../v0_0_4/remove_legacy_billing_doctypes.py | 2 +- ...d_site_backup_times_for_configured_ones.py | 2 +- ...ds_from_plans_to_server_and_marketplace.py | 2 +- ...db_access_users_to_site_db_perm_manager.py | 2 +- .../v0_7_0/rename_plan_to_site_plan.py | 8 +- .../v0_7_0/set_hostname_abbreviation.py | 10 +- .../update_enable_performance_tuning.py | 4 +- .../v0_8_0/clear_alertmanager_webhook_log.py | 2 +- ...tify_billing_email_of_team_to_child_doc.py | 2 +- press/press/audit.py | 26 +- press/press/custom/address.json | 2 +- press/press/custom/country.json | 2 +- .../account_request/account_request.json | 2 +- .../account_request/account_request.py | 12 +- .../account_request/test_account_request.py | 8 +- .../account_request_press_role.json | 2 +- .../add_on_settings/add_on_settings.json | 2 +- .../add_on_storage_log.json | 2 +- .../add_on_storage_log/add_on_storage_log.py | 12 +- press/press/doctype/agent_job/agent_job.json | 16 +- press/press/doctype/agent_job/agent_job.py | 108 +++--- .../agent_job/agent_job_notifications.py | 14 +- .../press/doctype/agent_job/test_agent_job.py | 18 +- .../agent_job_callback.json | 2 +- .../agent_job_step/agent_job_step.json | 2 +- .../doctype/agent_job_step/agent_job_step.py | 2 +- .../agent_job_type/agent_job_type.json | 2 +- .../doctype/agent_job_type/agent_job_type.py | 2 +- .../agent_job_type_step.json | 2 +- .../agent_request_failure.json | 4 +- .../doctype/agent_update/agent_update.json | 2 +- .../doctype/agent_update/agent_update.py | 8 +- .../agent_update_server.json | 2 +- .../alertmanager_webhook_log.json | 2 +- .../alertmanager_webhook_log.py | 36 +- .../test_alertmanager_webhook_log.py | 12 +- ...alertmanager_webhook_log_reaction_job.json | 2 +- .../analytics_server/analytics_server.json | 4 +- .../analytics_server/analytics_server.py | 2 +- .../ansible_console/ansible_console.json | 4 +- .../ansible_console/ansible_console.py | 8 +- .../ansible_console_log.json | 2 +- .../ansible_console_log.py | 2 +- .../ansible_console_output.json | 2 +- .../doctype/ansible_play/ansible_play.json | 4 +- .../doctype/ansible_play/ansible_play.py | 10 +- .../doctype/ansible_play/test_ansible_play.py | 2 +- .../doctype/ansible_task/ansible_task.json | 2 +- .../doctype/ansible_task/ansible_task.py | 2 +- .../doctype/ansible_task/test_ansible_task.py | 2 +- press/press/doctype/app/app.json | 2 +- press/press/doctype/app/app.py | 6 +- press/press/doctype/app/test_app.py | 6 +- press/press/doctype/app_group/app_group.json | 2 +- press/press/doctype/app_patch/app_patch.json | 2 +- press/press/doctype/app_patch/app_patch.py | 4 +- .../set_archived_patch_on_archived_bench.py | 4 +- .../doctype/app_release/app_release.json | 14 +- .../press/doctype/app_release/app_release.py | 24 +- .../patches/set_clone_directory.py | 2 +- .../patches/set_status_to_draft.py | 2 +- .../doctype/app_release/test_app_release.py | 6 +- .../app_release_approval_request.json | 2 +- .../app_release_approval_request.py | 6 +- .../app_release_difference.json | 2 +- .../app_release_difference.py | 4 +- .../press/doctype/app_rename/app_rename.json | 2 +- .../press/doctype/app_source/app_source.json | 4 +- press/press/doctype/app_source/app_source.py | 14 +- .../doctype/app_source/test_app_source.py | 10 +- .../app_source_version.json | 2 +- press/press/doctype/app_tag/app_tag.json | 2 +- press/press/doctype/audit_log/audit_log.json | 2 +- press/press/doctype/audit_log/audit_log.py | 2 +- .../auto_scale_record/auto_scale_record.json | 4 +- .../auto_scale_record/auto_scale_record.py | 34 +- .../test_auto_scale_record.py | 6 +- .../auto_scale_trigger.json | 2 +- .../aws_savings_plan_recommendation.json | 2 +- .../aws_savings_plan_recommendation.py | 4 +- .../doctype/backup_bucket/backup_bucket.json | 2 +- .../backup_restoration_test.json | 2 +- .../backup_restoration_test.py | 2 +- .../backup_restoration_test/backup_test.py | 4 +- .../balance_transaction.json | 2 +- .../balance_transaction.py | 6 +- .../test_balance_transaction.py | 2 +- .../balance_transaction_allocation.json | 2 +- .../bastion_server/bastion_server.json | 2 +- .../bastion_server/test_bastion_server.py | 2 +- press/press/doctype/bench/bench.json | 2 +- press/press/doctype/bench/bench.py | 68 ++-- press/press/doctype/bench/test_bench.py | 58 +-- press/press/doctype/bench_app/bench_app.json | 2 +- press/press/doctype/bench_app/bench_app.py | 8 +- .../bench_dependency/bench_dependency.json | 2 +- .../bench_dependency/bench_dependency.py | 2 +- .../bench_dependency_version.json | 2 +- .../bench_get_app_cache.json | 2 +- .../bench_get_app_cache.py | 2 +- .../doctype/bench_mount/bench_mount.json | 2 +- .../press/doctype/bench_shell/bench_shell.js | 2 +- .../doctype/bench_shell/bench_shell.json | 4 +- .../press/doctype/bench_shell/bench_shell.py | 2 +- .../bench_shell_log/bench_shell_log.json | 2 +- .../bench_shell_log/bench_shell_log.py | 2 +- .../bench_site_update/bench_site_update.json | 2 +- .../doctype/bench_update/bench_update.json | 2 +- .../doctype/bench_update/bench_update.py | 12 +- .../bench_update_app/bench_update_app.json | 2 +- .../bench_variable/bench_variable.json | 2 +- .../blocked_domain/blocked_domain.json | 2 +- .../build_cache_shell/build_cache_shell.json | 4 +- .../doctype/build_metric/build_metric.json | 2 +- .../doctype/build_metric/build_metric.py | 6 +- .../certificate_authority.json | 2 +- .../certificate_authority.py | 10 +- .../child_team_member/child_team_member.json | 2 +- .../doctype/cloud_region/cloud_region.json | 2 +- press/press/doctype/cluster/cluster.json | 14 +- press/press/doctype/cluster/cluster.py | 42 +-- .../cluster/patches/rename_aws_fields.py | 2 +- press/press/doctype/cluster/test_cluster.py | 32 +- .../doctype/cluster_plan/cluster_plan.json | 2 +- .../doctype/cluster_plan/cluster_plan.py | 4 +- .../doctype/code_server/code_server.json | 4 +- .../common_site_config.json | 2 +- .../common_site_config/common_site_config.py | 4 +- .../communication_info.json | 2 +- .../communication_info/communication_info.py | 2 +- .../cookie_preference_log.json | 2 +- .../currency_exchange/currency_exchange.json | 2 +- .../dashboard_banner/dashboard_banner.json | 2 +- .../dashboard_banner/dashboard_banner.py | 2 +- .../dashboard_banner_dismissal.json | 2 +- .../database_server/database_server.json | 6 +- .../database_server/database_server.py | 88 ++--- .../database_server/test_database_server.py | 28 +- .../database_server_mariadb_variable.json | 2 +- .../database_server_mariadb_variable.py | 2 +- .../patches/add_unique_constraint.py | 6 +- .../test_database_server_mariadb_variable.py | 48 +-- press/press/doctype/deploy/deploy.json | 2 +- press/press/doctype/deploy/deploy.py | 16 +- .../doctype/deploy_bench/deploy_bench.json | 2 +- .../deploy_candidate/deploy_candidate.js | 2 +- .../deploy_candidate/deploy_candidate.json | 8 +- .../deploy_candidate/deploy_candidate.py | 26 +- .../deploy_candidate/deploy_candidate_list.js | 2 +- .../deploy_candidate/deploy_notifications.py | 20 +- .../deploy_candidate/docker_output_parsers.py | 4 +- .../deploy_candidate/test_deploy_candidate.py | 56 +-- press/press/doctype/deploy_candidate/utils.py | 4 +- .../doctype/deploy_candidate/validations.py | 6 +- .../deploy_candidate_app.json | 2 +- .../patches/set_app_name_to_app.py | 2 +- .../deploy_candidate_build.js | 6 +- .../deploy_candidate_build.json | 10 +- .../deploy_candidate_build.py | 44 +-- .../patches/migrate_to_separate_build.py | 10 +- .../test_deploy_candidate_build.py | 28 +- .../deploy_candidate_build_step.json | 2 +- .../deploy_candidate_build_step.py | 2 +- .../deploy_candidate_dependency.json | 2 +- .../deploy_candidate_difference.json | 2 +- .../deploy_candidate_difference.py | 8 +- .../test_deploy_candidate_difference.py | 4 +- .../deploy_candidate_difference_app.json | 2 +- .../deploy_candidate_package.json | 2 +- .../deploy_candidate_variable.json | 2 +- .../disk_performance/disk_performance.json | 2 +- .../disk_performance/disk_performance.py | 4 +- .../downtime_analysis/downtime_analysis.json | 2 +- .../downtime_analysis/downtime_analysis.py | 4 +- .../test_downtime_analysis.py | 2 +- press/press/doctype/drip_email/drip_email.js | 2 +- .../press/doctype/drip_email/drip_email.json | 2 +- press/press/doctype/drip_email/drip_email.py | 6 +- .../patches/migrate_to_product_trial_field.py | 2 +- .../patches/set_correct_field_for_html.py | 2 +- .../doctype/drip_email/test_drip_email.py | 16 +- .../doctype/erpnext_app/erpnext_app.json | 2 +- .../erpnext_consultant.json | 2 +- .../erpnext_consultant/erpnext_consultant.py | 2 +- .../erpnext_consultant_region.json | 2 +- .../erpnext_site_settings.json | 2 +- .../frappe_version/frappe_version.json | 4 +- .../doctype/frappe_version/frappe_version.py | 2 +- .../frappe_version/test_frappe_version.py | 2 +- .../frappe_version_dependency.json | 2 +- .../github_webhook_log.json | 2 +- .../github_webhook_log/github_webhook_log.py | 8 +- press/press/doctype/incident/incident.json | 4 +- press/press/doctype/incident/incident.py | 46 +-- press/press/doctype/incident/test_incident.py | 70 ++-- .../incident_alerts/incident_alerts.json | 2 +- .../incident_settings/incident_settings.json | 2 +- .../incident_settings/incident_settings.py | 4 +- .../incident_settings_self_hosted_user.json | 2 +- .../incident_settings_user.json | 2 +- .../incident_suggestion.json | 2 +- .../incident_updates/incident_updates.json | 2 +- .../inspect_trace_id/inspect_trace_id.json | 2 +- ...ripe_payment_intent_succeeded_webhook.json | 2 +- press/press/doctype/invoice/invoice.json | 10 +- press/press/doctype/invoice/invoice.py | 38 +- .../invoice/patches/set_free_credits.py | 2 +- .../patches/set_transaction_details.py | 2 +- .../doctype/invoice/stripe_webhook_handler.py | 4 +- press/press/doctype/invoice/test_invoice.py | 60 +-- .../invoice_credit_allocation.json | 2 +- .../invoice_discount/invoice_discount.json | 2 +- .../doctype/invoice_item/invoice_item.json | 4 +- .../invoice_transaction_fee.json | 2 +- .../doctype/log_counter/log_counter.json | 4 +- .../press/doctype/log_counter/log_counter.py | 26 +- .../press/doctype/log_server/log_server.json | 4 +- press/press/doctype/log_server/log_server.py | 4 +- .../logical_replication_backup.json | 2 +- .../logical_replication_backup.py | 56 +-- .../test_logical_replication_backup.py | 2 +- .../logical_replication_server.json | 2 +- .../logical_replication_step.json | 2 +- press/press/doctype/mail_log/mail_log.json | 2 +- press/press/doctype/mail_log/mail_log.py | 2 +- .../press/doctype/mail_setup/mail_setup.json | 2 +- .../doctype/malware_scan/malware_scan.json | 2 +- .../doctype/malware_scan/malware_scan.py | 4 +- .../managed_database_service.json | 2 +- .../mariadb_binlog/mariadb_binlog.json | 2 +- .../doctype/mariadb_binlog/mariadb_binlog.py | 12 +- .../doctype/mariadb_stalk/mariadb_stalk.json | 2 +- .../doctype/mariadb_stalk/mariadb_stalk.py | 8 +- .../mariadb_stalk_diagnostic.json | 2 +- .../mariadb_variable/mariadb_variable.json | 2 +- .../mariadb_variable/mariadb_variable.py | 2 +- .../mariadb_variable/test_mariadb_variable.py | 2 +- press/press/doctype/marketplace_app/events.py | 4 +- .../marketplace_app/marketplace_app.json | 8 +- .../marketplace_app/marketplace_app.py | 32 +- .../patches/convert_images_to_webp.py | 2 +- .../marketplace_app/test_marketplace_app.py | 4 +- .../marketplace_app_categories.json | 2 +- .../marketplace_app_category.json | 2 +- .../marketplace_app_screenshot.json | 2 +- .../marketplace_app_version.json | 2 +- .../marketplace_localisation_app.json | 2 +- .../module_setup_guide.json | 2 +- .../monitor_server/monitor_server.json | 4 +- .../doctype/monitor_server/monitor_server.py | 4 +- .../mpesa_payment_record.json | 2 +- .../mpesa_payment_record.py | 2 +- .../patches/add_unique_constraint.py | 4 +- .../mpesa_request_log/mpesa_request_log.json | 2 +- .../doctype/mpesa_setup/mpesa_setup.json | 2 +- .../press/doctype/nfs_server/nfs_server.json | 10 +- press/press/doctype/nfs_server/nfs_server.py | 10 +- .../doctype/nfs_server/test_nfs_server.py | 2 +- .../nfs_volume_attachment.json | 4 +- .../nfs_volume_attachment.py | 28 +- .../test_nfs_volume_attachment.py | 2 +- .../nfs_volume_attachment_step.json | 4 +- .../nfs_volume_detachment.json | 4 +- .../nfs_volume_detachment.py | 18 +- .../test_nfs_volume_detachment.py | 2 +- .../nfs_volume_detachment_step.json | 4 +- .../oauth_domain_mapping.json | 2 +- .../partner_payment_payout.js | 2 +- .../partner_payment_payout.json | 2 +- .../partner_payment_payout.py | 2 +- .../partner_payment_payout_item.json | 2 +- .../payment_dispute/payment_dispute.json | 2 +- .../payment_dispute/payment_dispute.py | 2 +- .../payment_due_extension.json | 2 +- .../payment_gateway/payment_gateway.json | 4 +- .../payment_partner_transaction.json | 2 +- .../doctype/payout_order/payout_order.json | 2 +- .../doctype/payout_order/payout_order.py | 18 +- .../doctype/payout_order/test_payout_order.py | 14 +- .../payout_order_item/payout_order_item.json | 4 +- .../physical_backup_group.json | 2 +- .../physical_backup_group.py | 6 +- .../physical_backup_group_site.json | 2 +- .../physical_backup_restoration.json | 4 +- .../physical_backup_restoration.py | 30 +- .../physical_backup_restoration_step.json | 2 +- .../physical_restoration_test.json | 2 +- .../physical_restoration_test.py | 8 +- .../physical_restoration_test_result.json | 2 +- .../doctype/plan_change/plan_change.json | 4 +- .../press/doctype/plan_change/plan_change.py | 4 +- .../doctype/plan_feature/plan_feature.json | 2 +- .../press_feedback/press_feedback.json | 2 +- press/press/doctype/press_job/press_job.json | 6 +- press/press/doctype/press_job/press_job.py | 8 +- .../press_job_step/press_job_step.json | 2 +- .../doctype/press_job_step/press_job_step.py | 2 +- .../press_job_type/press_job_type.json | 2 +- .../doctype/press_job_type/press_job_type.py | 2 +- .../press_job_type_step.json | 2 +- .../press_method_permission.json | 4 +- .../press_method_permission.py | 6 +- ...link_reference_doctype_to_notifications.py | 8 +- .../press_notification.json | 14 +- .../press_notification/press_notification.py | 16 +- .../test_press_notification.py | 12 +- .../press_permission_group.json | 2 +- .../press_permission_group.py | 94 ++--- .../test_press_permission_group.py | 12 +- .../press_permission_group_user.json | 2 +- .../press_role/patches/migrate_permissions.py | 2 +- .../press/doctype/press_role/press_role.json | 2 +- press/press/doctype/press_role/press_role.py | 14 +- .../doctype/press_role/test_press_role.py | 2 +- .../press_role_permission.json | 2 +- .../press_role_resource.json | 4 +- .../press_role_user/press_role_user.json | 2 +- ...ve_stripe_credentials_to_press_settings.py | 4 +- .../patches/set_minimum_rebuild_memory.py | 4 +- .../patches/set_press_monitoring_password.py | 2 +- .../patches/set_redis_cache_size.py | 2 +- .../press_settings/press_settings.json | 2 +- .../doctype/press_settings/press_settings.py | 8 +- .../press_settings/test_press_settings.py | 6 +- press/press/doctype/press_tag/press_tag.json | 10 +- press/press/doctype/press_tag/press_tag.py | 4 +- .../press/doctype/press_tag/test_press_tag.py | 10 +- .../press_user_permission.json | 4 +- .../press_user_permission.py | 14 +- .../test_press_user_permission.py | 14 +- .../doctype/press_webhook/press_webhook.json | 2 +- .../doctype/press_webhook/press_webhook.py | 6 +- .../press_webhook_attempt.json | 2 +- .../press_webhook_event.json | 2 +- .../press_webhook_log/press_webhook_log.json | 2 +- .../press_webhook_log/press_webhook_log.py | 10 +- .../press_webhook_selected_event.json | 2 +- .../process_snapshot/process_snapshot.json | 2 +- .../process_snapshot/process_snapshot.py | 2 +- .../prometheus_alert_rule.json | 4 +- .../prometheus_alert_rule.py | 14 +- .../test_prometheus_alert_rule.py | 4 +- .../prometheus_alert_rule_cluster.json | 2 +- .../proxy_failover/proxy_failover.json | 2 +- .../doctype/proxy_failover/proxy_failover.py | 8 +- .../proxy_failover/test_proxy_failover.py | 2 +- .../proxy_failover_steps.json | 4 +- .../generate_proxysql_monitor_password.py | 2 +- .../doctype/proxy_server/proxy_server.json | 2 +- .../doctype/proxy_server/proxy_server.py | 20 +- .../doctype/proxy_server/test_proxy_server.py | 22 +- .../proxy_server_domain.json | 2 +- .../razorpay_payment_record.json | 2 +- .../razorpay_payment_record.py | 10 +- .../razorpay_webhook_log.json | 2 +- .../razorpay_webhook_log.py | 2 +- press/press/doctype/region/region.json | 2 +- .../registry_server/registry_server.json | 4 +- .../registry_server/registry_server.py | 8 +- .../doctype/release_group/release_group.json | 2 +- .../doctype/release_group/release_group.py | 96 ++--- .../release_group/test_release_group.py | 52 +-- .../release_group_app/release_group_app.json | 2 +- .../release_group_dependency.json | 2 +- .../release_group_dependency.py | 4 +- .../release_group_mount.json | 2 +- .../release_group_package.json | 2 +- .../release_group_server.json | 2 +- .../release_group_variable.json | 2 +- .../release_group_variable.py | 2 +- .../doctype/remote_file/remote_file.json | 2 +- .../press/doctype/remote_file/remote_file.py | 12 +- .../doctype/remote_file/test_remote_file.py | 2 +- .../remote_operation_log.json | 2 +- .../doctype/required_apps/required_apps.json | 2 +- .../doctype/resource_tag/resource_tag.json | 2 +- .../press/doctype/resource_tag/tag_helpers.py | 6 +- .../doctype/root_domain/root_domain.json | 14 +- .../press/doctype/root_domain/root_domain.py | 6 +- .../doctype/root_domain/test_root_domain.py | 14 +- .../press/doctype/scale_step/scale_step.json | 4 +- .../scheduled_auto_update_log.json | 4 +- .../security_update/security_update.json | 2 +- .../security_update/security_update.py | 2 +- .../security_update_check.json | 4 +- .../security_update_check.py | 6 +- .../self_hosted_server.json | 2 +- .../self_hosted_server/self_hosted_server.py | 26 +- .../test_self_hosted_server.py | 34 +- .../self_hosted_site_apps.json | 2 +- .../serial_console_log.json | 8 +- .../serial_console_log/serial_console_log.py | 8 +- .../patches/set_plan_and_subscription.py | 18 +- press/press/doctype/server/server.json | 4 +- press/press/doctype/server/server.py | 274 +++++++------- press/press/doctype/server/test_server.py | 36 +- .../server_activity/server_activity.json | 4 +- .../server_activity/server_activity.py | 2 +- .../doctype/server_mount/server_mount.json | 2 +- .../doctype/server_plan/server_plan.json | 2 +- .../press/doctype/server_plan/server_plan.py | 4 +- .../doctype/server_plan/test_server_plan.py | 4 +- .../server_snapshot/server_snapshot.json | 4 +- .../server_snapshot/server_snapshot.py | 30 +- .../server_snapshot/test_server_snapshot.py | 2 +- .../server_snapshot_plan.json | 2 +- .../server_snapshot_plan.py | 2 +- .../test_server_snapshot_plan.py | 2 +- .../server_snapshot_recovery.json | 2 +- .../server_snapshot_recovery.py | 34 +- .../test_server_snapshot_recovery.py | 2 +- .../server_snapshot_site_recovery.json | 2 +- ...iption_for_servers_with_additional_disk.py | 8 +- .../server_storage_plan.json | 2 +- .../server_storage_plan.py | 2 +- .../silenced_alert/silenced_alert.json | 4 +- press/press/doctype/site/archive.py | 2 +- press/press/doctype/site/backups.py | 14 +- press/press/doctype/site/erpnext_site.py | 8 +- .../set_database_access_credentials.py | 2 +- .../doctype/site/patches/set_plan_in_site.py | 2 +- .../patches/set_plan_limit_in_site_config.py | 2 +- ...izard_check_next_retry_datetime_in_site.py | 2 +- press/press/doctype/site/pool.py | 4 +- press/press/doctype/site/saas_pool.py | 4 +- press/press/doctype/site/saas_site.py | 8 +- press/press/doctype/site/site.json | 32 +- press/press/doctype/site/site.py | 144 ++++---- press/press/doctype/site/site_usages.py | 6 +- press/press/doctype/site/test_backups.py | 14 +- press/press/doctype/site/test_site.py | 60 +-- .../doctype/site_activity/site_activity.json | 2 +- .../doctype/site_activity/site_activity.py | 8 +- .../site_activity/test_site_activity.py | 4 +- .../site_analytics/site_analytics.json | 4 +- .../doctype/site_analytics/site_analytics.py | 20 +- .../site_analytics_active.json | 2 +- .../site_analytics_app.json | 2 +- .../site_analytics_doctype.json | 4 +- .../site_analytics_login.json | 2 +- .../site_analytics_user.json | 2 +- press/press/doctype/site_app/site_app.json | 2 +- .../doctype/site_backup/site_backup.json | 4 +- .../press/doctype/site_backup/site_backup.py | 42 +-- .../doctype/site_backup/test_site_backup.py | 8 +- .../site_backup_time/site_backup_time.json | 2 +- .../doctype/site_config/site_config.json | 2 +- .../press/doctype/site_config/site_config.py | 2 +- .../site_config_key/site_config_key.json | 2 +- .../site_config_key_blacklist.json | 2 +- .../site_database_table_permission.json | 2 +- .../site_database_user.json | 4 +- .../site_database_user/site_database_user.py | 16 +- .../doctype/site_domain/site_domain.json | 2 +- .../press/doctype/site_domain/site_domain.py | 14 +- .../doctype/site_domain/test_site_domain.py | 22 +- .../site_group_deploy/site_group_deploy.json | 2 +- .../site_group_deploy/site_group_deploy.py | 8 +- .../site_group_deploy_app.json | 2 +- .../site_migration/site_migration.json | 2 +- .../doctype/site_migration/site_migration.py | 20 +- .../site_migration/test_site_migration.py | 26 +- .../site_migration_step.json | 2 +- .../site_partner_lead/site_partner_lead.json | 2 +- .../test_site_partner_lead.py | 2 +- press/press/doctype/site_plan/plan.py | 4 +- press/press/doctype/site_plan/site_plan.json | 4 +- press/press/doctype/site_plan/site_plan.py | 8 +- .../press/doctype/site_plan/test_site_plan.py | 2 +- .../site_plan_allowed_app.json | 2 +- .../site_plan_change/site_plan_change.json | 2 +- .../site_plan_change/site_plan_change.py | 4 +- .../site_plan_change/test_site_plan_change.py | 8 +- .../site_plan_release_group.json | 2 +- .../site_replication/site_replication.json | 2 +- .../site_replication/site_replication.py | 8 +- .../site_update/scheduled_auto_updates.py | 6 +- .../doctype/site_update/site_update.json | 2 +- .../press/doctype/site_update/site_update.py | 32 +- .../doctype/site_update/test_site_update.py | 28 +- .../press/doctype/site_usage/site_usage.json | 2 +- press/press/doctype/site_usage/site_usage.py | 2 +- press/press/doctype/site_user/site_user.json | 2 +- press/press/doctype/site_user/site_user.py | 2 +- .../site_user_session/site_user_session.json | 2 +- .../sql_playground_log.json | 2 +- .../sql_playground_log/sql_playground_log.py | 4 +- .../ssh_certificate/ssh_certificate.json | 2 +- .../ssh_certificate/ssh_certificate.py | 2 +- .../ssh_certificate/test_ssh_certificate.py | 12 +- .../ssh_certificate_authority.json | 2 +- .../ssh_certificate_authority.py | 2 +- press/press/doctype/ssh_key/ssh_key.json | 2 +- press/press/doctype/ssh_key/test_ssh_key.py | 4 +- .../storage_integration_bucket.json | 2 +- .../storage_integration_subscription.js | 2 +- .../storage_integration_subscription.json | 2 +- .../storage_integration_subscription.py | 6 +- .../stripe_micro_charge_record.json | 2 +- .../stripe_payment_event.json | 2 +- .../stripe_payment_method.js | 2 +- .../stripe_payment_method.json | 2 +- .../stripe_payment_method.py | 14 +- .../stripe_webhook_log.json | 2 +- .../stripe_webhook_log/stripe_webhook_log.py | 2 +- .../doctype/subscription/subscription.json | 8 +- .../doctype/subscription/subscription.py | 34 +- .../doctype/subscription/test_subscription.py | 24 +- .../support_access/support_access.json | 2 +- .../doctype/support_access/support_access.py | 14 +- .../support_access/test_support_access.py | 4 +- .../support_access_resource.json | 4 +- .../doctype/team/patches/set_partner_email.py | 4 +- .../doctype/team/patches/set_payment_mode.py | 2 +- .../doctype/team/patches/set_referrer_id.py | 2 +- .../doctype/team/patches/set_team_title.py | 2 +- press/press/doctype/team/suspend_sites.py | 8 +- press/press/doctype/team/team.js | 4 +- press/press/doctype/team/team.json | 26 +- press/press/doctype/team/team.py | 64 ++-- press/press/doctype/team/test_team.py | 6 +- .../doctype/team_change/team_change.json | 4 +- .../team_deletion_request.json | 2 +- .../team_deletion_request.py | 18 +- .../test_team_deletion_request.py | 4 +- .../doctype/team_member/team_member.json | 2 +- .../team_member_deletion_request.json | 2 +- .../team_member_impersonation.json | 2 +- .../team_onboarding/team_onboarding.json | 2 +- .../create_groups_from_press_settings.py | 8 +- .../telegram_group/telegram_group.json | 2 +- .../doctype/telegram_group/telegram_group.py | 2 +- .../telegram_group_topic.json | 2 +- .../telegram_message/telegram_message.json | 2 +- .../telegram_message/telegram_message.py | 4 +- .../telegram_message/test_telegram_message.py | 2 +- .../tls_certificate/test_tls_certificate.py | 12 +- .../tls_certificate/tls_certificate.json | 2 +- .../tls_certificate/tls_certificate.py | 36 +- .../doctype/trace_server/trace_server.json | 4 +- .../doctype/trace_server/trace_server.py | 4 +- .../doctype/usage_record/usage_record.json | 6 +- .../doctype/usage_record/usage_record.py | 2 +- .../patches/generate_recovery_codes.py | 4 +- press/press/doctype/user_2fa/test_user_2fa.py | 2 +- press/press/doctype/user_2fa/user_2fa.json | 2 +- press/press/doctype/user_2fa/user_2fa.py | 2 +- .../user_2fa_recovery_code.json | 2 +- .../user_ssh_certificate.json | 2 +- .../patches/set_existing_keys_as_default.py | 2 +- .../doctype/user_ssh_key/test_user_ssh_key.py | 4 +- .../doctype/user_ssh_key/user_ssh_key.json | 2 +- .../version_upgrade/test_version_upgrade.py | 16 +- .../version_upgrade/version_upgrade.json | 2 +- .../version_upgrade/version_upgrade.py | 16 +- .../patches/rename_aws_fields.py | 2 +- .../virtual_disk_snapshot.json | 4 +- .../virtual_disk_snapshot.py | 6 +- .../virtual_machine/cloud-init.yml.jinja2 | 8 +- .../patches/populate_volumes_table.py | 4 +- .../patches/rename_aws_fields.py | 2 +- .../patches/set_naming_fields.py | 2 +- .../virtual_machine/test_virtual_machine.py | 14 +- .../virtual_machine/virtual_machine.json | 16 +- .../virtual_machine/virtual_machine.py | 98 ++--- .../virtual_machine/virtual_machine_list.js | 2 +- .../patches/rename_aws_fields.py | 2 +- .../test_virtual_machine_image.py | 10 +- .../virtual_machine_image.json | 2 +- .../virtual_machine_image.py | 4 +- .../virtual_machine_image_volume.json | 2 +- .../virtual_machine_temporary_volume.json | 2 +- .../patches/rename_aws_fields.py | 2 +- .../virtual_machine_volume.json | 2 +- .../wireguard_peer/wireguard_peer.json | 2 +- .../doctype/wireguard_peer/wireguard_peer.py | 2 +- .../report/agent_versions/agent_versions.json | 4 +- .../report/agent_versions/agent_versions.py | 2 +- .../aws_instance_pricing.json | 4 +- .../aws_rightsizing_recommendation.json | 6 +- .../bench_memory_limits.json | 4 +- .../binary_log_browser.json | 4 +- .../binary_log_browser/binary_log_browser.py | 4 +- .../mariadb_deadlock_browser.json | 4 +- .../mariadb_deadlock_browser.py | 6 +- .../mariadb_locks_list.json | 4 +- .../mariadb_process_list.json | 4 +- .../mariadb_slow_queries.json | 4 +- .../mariadb_slow_queries.py | 6 +- ...marketplace_app_repository_visibility.json | 4 +- .../payment_partner/payment_partner.json | 4 +- .../report/payment_partner/payment_partner.py | 2 +- .../press_endpoints_audit.json | 4 +- .../report/server_stats/server_stats.json | 4 +- .../press/report/server_stats/server_stats.py | 2 +- .../shared_app_server_stats.json | 4 +- press/press/workspace/press/press.json | 50 +-- press/runner.py | 18 +- press/saas/README.md | 8 +- press/saas/api/auth.py | 2 +- press/saas/api/readme.md | 4 +- .../account_request_rules.json | 2 +- .../hybrid_pool_item/hybrid_pool_item.json | 2 +- .../hybrid_saas_pool/hybrid_saas_pool.json | 2 +- ..._saas_product_doctypes_to_product_trial.py | 10 +- .../doctype/product_trial/product_trial.json | 6 +- .../doctype/product_trial/product_trial.py | 30 +- .../product_trial/test_product_trial.py | 12 +- .../product_trial_app/product_trial_app.json | 2 +- .../product_trial_request.json | 2 +- .../product_trial_request.py | 16 +- .../product_trial_signup_field.json | 2 +- press/saas/doctype/saas_app/saas_app.json | 6 +- press/saas/doctype/saas_app/saas_app.py | 2 +- press/saas/doctype/saas_app/test_saas_app.py | 2 +- .../doctype/saas_app_plan/saas_app_plan.json | 2 +- .../doctype/saas_app_plan/saas_app_plan.py | 2 +- .../saas_app_subscription.json | 2 +- .../saas_app_subscription.py | 6 +- .../saas_app_version/saas_app_version.json | 2 +- .../doctype/saas_feedback/saas_feedback.json | 2 +- .../saas_pool_rules/saas_pool_rules.json | 2 +- .../saas_remote_login/saas_remote_login.json | 2 +- .../doctype/saas_settings/saas_settings.json | 2 +- .../doctype/saas_settings/saas_settings.py | 2 +- .../saas_settings/test_saas_settings.py | 12 +- .../saas_setup_account_generator.json | 2 +- .../saas_signup_generator.json | 2 +- .../site_access_token/site_access_token.json | 2 +- .../site_access_token/site_access_token.py | 2 +- .../infrastructure/server_conversion.py | 10 +- press/scripts/weekend_support.py | 4 +- press/telegram_utils.py | 34 +- press/tests/before_test.py | 2 +- press/tests/test_2fa.py | 2 +- press/tests/test_agent.py | 18 +- press/tests/test_audit.py | 12 +- press/tests/test_cleanup.py | 32 +- press/tests/test_sanity.py | 2 +- press/tests/test_scheduled_auto_updates.py | 2 +- press/utils/__init__.py | 26 +- press/utils/billing.py | 2 +- press/utils/dns.py | 2 +- press/utils/jobs.py | 12 +- press/utils/mpesa_utils.py | 2 +- press/utils/test.py | 4 +- press/utils/user.py | 2 +- press/utils/webhook.py | 6 +- 964 files changed, 4374 insertions(+), 4374 deletions(-) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 01bd34f4..5b60b73a 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -7,5 +7,5 @@ b7d4540c32075cbf569d9c8e256a8ce9898c7115 # Fix Agent Job Type fixtures 0c88a71473a906c87c58c94cc11743f79711d240 -# Generate DocType types +# Generate PageType types a965b98b90fadf438c5f0a22c5778896743a94e7 \ No newline at end of file diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index a957c5cb..31dc92df 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -168,7 +168,7 @@ jobs: - name: Setup Test Users working-directory: /home/runner/jingrow-bench/apps/jcloude/dashboard run: | - bench --site test_site execute jcloude.jcloude.doctype.team.test_team.create_test_jcloude_admin_team \ + bench --site test_site execute jcloude.jcloude.pagetype.team.test_team.create_test_jcloude_admin_team \ --kwargs "{\"email\": \"${JCLOUDE _ADMIN_USER_EMAIL}\", \"free_account\": True, \"skip_onboarding\": True}" bench --site test_site set-password "$JCLOUDE _ADMIN_USER_EMAIL" "$JCLOUDE _ADMIN_USER_PASSWORD" diff --git a/dashboard/src/components/AccessRequestButton.vue b/dashboard/src/components/AccessRequestButton.vue index f287c4b8..d1a1aff2 100644 --- a/dashboard/src/components/AccessRequestButton.vue +++ b/dashboard/src/components/AccessRequestButton.vue @@ -7,12 +7,12 @@ () => { renderDialog( h(DialogComponent, { - doctype, + pagetype, docname, onOpenRequestDialog: () => { renderDialog( h(AccessRequestDialog, { - doctype, + pagetype, docname, }), ); @@ -32,7 +32,7 @@ import AccessRequestDialog from './AccessRequestDialog.vue'; import AccessRequestStatusDialog from './AccessRequestStatusDialog.vue'; const props = defineProps<{ - doctype: string; + pagetype: string; docname: string; pg?: any; error?: Error; diff --git a/dashboard/src/components/AccessRequestDialog.vue b/dashboard/src/components/AccessRequestDialog.vue index a7ba7c1d..93381325 100644 --- a/dashboard/src/components/AccessRequestDialog.vue +++ b/dashboard/src/components/AccessRequestDialog.vue @@ -21,7 +21,7 @@

Are you sure you want to request access to this resource?

-

Type: {{ props.doctype }}

+

Type: {{ props.pagetype }}

Resource: {{ props.docname }}