- 29 Jan, 2024 40 commits
-
-
Romain Courteaud authored
This reverts commit 42c90b1f.
-
Romain Courteaud authored
-
Romain Courteaud authored
* drop template_sale_invoice_transaction it is only used in one place. Let's create it manually
-
Romain Courteaud authored
* drop the aggregated packing list logic Some parts are still there, but linked to subscription, which I will check later * testSlapOSAccountingBuilder Recreate the expected organisation. Drop the aggregated builder test * revert aggregated builder test removal * drop consumption/reservation/subscription business process * drop all trade conditions * force using ledger=automated Disable all simulation logic if the automated ledger is not used * builder test: set ledger and destination_project Use a test trade condition * drop Base_testSlapOSValidTradeCondition * update testSlapOSAccountingRule * drop compatibility with expliciate trade condition usage * add Project_getAccountingCurrency * ensore project has a currency before generating an open order * do not explode the workflow history with the same comment * testSlapOSAccountingRule stop using hardcoded trade condition * do not expand packing list if no invoice is supposed to be generated (aka, no need for slapos_consumption_trade_condition) * testSlapOSAccountingBuilder stop using deleted business processes * testSlapOSAccountingAlarm: only ledger/automated movement are built * testSlapOSAccountingBuilder: stop using deleted business processes * testSlapOSAccountingAlarm: update test * drop usage of createZODBPythonScript * testSlapOSAccountingInteractionWorkflow: a project is required on the Instance Tree * stop hardcoding expected trade condition * testSlapOSAccountingSkins update to latest changes * testSlapOSEntityCreatePayment: stop using invoice template * drop Base_useSaleTradeConditionReference * drop usage of createZODBScript * call OpenSaleOrder_reindexIfIndexedBeforeLine on an Open Order, instead of the Alarm * testSlapOSAccountingRule: factorise Sale Supply creation * test InstanceTree_requestUpdateOpenSaleOrder * do not invalidate open order, as it breaks the simulation * keep slapos_legacy_aggregated_subscription_trade_condition_2022 when uninstalling it * do not duplicate arguments * set Ban Account from the trade condition source payment * constraint to check if invoice has a source payment defined * stop checking specialise == getPreferredAggregatedSaleTradeCondition. Check ledger instead * build source/destination decision/payment * no causality on invoice * do not invalidate open order * test: define source payment on the open order * builders: do not merge movement with different prices * builder: set aggregate on cell, not line * builder: group movement by specialise Previously, we has 1 invoice per simulation tree. But we want to reduce the number of invoice, without using the "aggregate" builder trick * SimulationMovement_buildSlapOS search by specialise * test that dedicated trade condition / supply are applied * invoice builder: group movement's date on the delivery level * invoice builder: dates are now set on delivery. Do not modify causality if it exists * testSlapOSAccountingBuilder: update quantity unit of software product * testSlapOSAccountingBuilder: typo * do not hardcode payzen payment mode * get payment mode from the trade condition's payment condition * invoice payment mode is fetched from trade condition * payzen payment mode is not set anymore on invoice * source project is not required on Payment Transaction Customer can buy Virtual MAster * do not filter by destination_project__uid=None It leads to always return nothing, as it does a join to the category table * the virtual master subscription Service has a time/month quantity unit * Open Order, Packing List, Hosting Subscription may not be linked to a Project * do not aply trade condition if source/destination projects are different from order * do not require Project on Sale Invoice Transaction * do not require a Project on Sale Supply * disable open order creation * stop creation Open Sale Order from Instance Tree * deprecate Alarm_requestUpdateInstanceTreeOpenSaleOrder * trigger alarm as soon as Item are marked as subscribed * export service_module/slapos_compute_node_subscription * contraint: source_section is not required on Open Sale Order Needed for accounting less Open Order. * constraint: source_section is not required on Sale Packing List * constraint: no Organisation as destination / destination_section * export month quantity unit convertion To drop warning in logs * drop InstanceTree_requestUpdateOpenSaleOrder * rules: stop diverging on source/destination payment Those info are not supposed to be set on order/delivery (ie, there is no field for this) * drop duplicated config * set the source payment before finalising the sale invoice * ensure the same currency is used on Order and Trade Condition * force all Sale documents to use a consistent price currency * add script to generate the deposit * add deposit account XXX configuration must be reviewed * add Deposit service to use on the invoice * deposit service is not taxable XXX to check with accountants * business process: no need to have 2 credit path * creation causality link between the deposit payment and invoice * put destination account in the transaction line XXX no way currently to support having no destination if the destination_section does not handle accounting * add alarm slapos_update_delivery_simulation Generate invoice from packing list * generate accounting for resource_use/use/trade/deposit * add slapos_simulation_interaction_workflow Speed up execution of the simulation process by triggering alarms as soon as it is needed * generate Open Order simulation as soon as it is simulated * do not stop invoice until the stop date is passed * stop setting the source_payment on the Invoice It is too early, and prevent other Simulation Movement to be aggregated * set source_payment just before closing the invoice * checkConsistency after the source_payment is set * serialise on business link to try grouping all user invoices movements * destination project is not required on invoice Do not search with a None value * Extend the invoice causality with the parent simulation movement explanation * drop not needed movement group Previous movement group already force the same invoice * use the discount_service on the discount service No idea if it is a good idea or not for now * generate accounting movement for discount service * also compare invoice price with discount sale packing list * no need to update open order period anymore * drop unused script * drop unused slapos_request_update_instance_tree_open_sale_order * drop unused SubscriptionRequest_*etAggregatedConsumptionDelivery * drop not needed slapos_start_confirmed_aggregated_subscription_sale_packing_list * drop slapos_api_invoicing_workflow * add an alarm to close the open order * no need to reindex open sale order * expand the open order one last time, to no miss any period * use Base_reindexAndSenseAlarm * drop jump_related_grouped_sale_packing_list * drop slapos_contract_request_validation_payment alarm * drop unused script * drop Project_getAccountingCurrency * test: slapos_request_update_instance_tree_open_sale_order was dropped * test: drop outdated tests * test: update titles * test: InstanceTree_requestUpdateOpenSaleOrder was dropped * test: drop tests related to dropped scripts * test: use valid trade condition to generate the simulation * only run alarm once per day Interaction workflow are now supposed to trigger the alarm when needed * run alarm once per day * require trade_condition_type on Sale Trade Condition * search Sale Trade Condition by trade_condition_type * set trade_condition_type on temporary Sale Order * ensure trade_condition_type matches * disable packing list generation from tioxml Everything is broken currently... * drop testSlapOSContractAlarm * drop create_new_cloud_contract action * drop jump_to_cloud_contract action * test: SoftwareInstance_requestValidationPayment was dropped * drop CloudContractLine_getRemainingInvoiceCredit * drop Person_isAllowedToAllocate * drop Entity_statSlapOSOutstandingAmount * test: change class inheritance do not inherit from a class with existing test, as it forces subclass to keep exactly the same test function name * lint: do not redefine id variable * fix: do not use unrelated causality value Builder passes all movement used to generate all the invoice * allow closing the invoice has soon as the stop date value is reached * test: wip accounting checks * do not access the object if not needed * drop Entity_statOutstandingAmount * wip Entity_hasOutstandingAmount * wip: create from multiple invoices using Entity_getOutstandingAmountList * group also outstanding amount by ledger * drop PaymentTransaction_start * use the same ledger than the payment transaction * create Payment Transaction to pay all user's invoices * improve Payment line title * allow to pay invoices at a date * test paying invoices * test: fix create payment tests * drop preferred_default_pre_payment_subscription_invoice_template_property * test: templates were dropped * drop preferred_default_pre_payment_template * drop getPreferredAggregatedSubscriptionSaleTradeCondition * drop preferred_aggregated_sale_trade_condition * test: unused variable * test: fixup testSlapOSAccountingConstraint * test: fix trade condition retrieval * drop preferred_instance_delivery_template_property * drop slapos_accounting_instance_delivery_template * drop slapos_accounting_instance_delivery_line_template * drop preferred_aggregated_consumption_sale_trade_condition * drop SlapOSAccountingSystemPreference * keep organisation_module/slapos/bank_account * disable packing list generation from tio xml this is not critical for now, and will be upgraded later * fixConsistency is not called anymore on Hosting Subscription * drop template_compute_node * drop template_member * test: there is no causality_state anymore on instance tree * test: fix consistency on Hosting Subscription does not set the periodicity date * drop unused script * reduce number of sale trade condition to check
-
Romain Courteaud authored
* update configurator test with new bt5/module * slapos_subscription_request bt5 is installed again * do not prevent slapos_category to be updated otherwise, new categories are not installed * test: dropped module * use backup cloudooo nexedi/slapos@a729a677 * test: manye dependencies have been dropped * test: fixup rebase
-
Romain Courteaud authored
slapos_erp5: XXX do not install slapos_subscription_request slapos_panel XXX do not install slapos_subscription_request
-
Romain Courteaud authored
-
Romain Courteaud authored
Only for lazy me to simplify grep usage
-
Romain Courteaud authored
Everything should work without it. It will be rework later.
-
Romain Courteaud authored
* stop building payment transaction automatically
-
Romain Courteaud authored
* close erp5js as new panel * add WIP access page on panel * add an action to create a Compute Node from a Project * add custom CSS, to reduce site confusion * drop unused code * add Project Module view * add project view * add Compute Node view * proxify the gadget fields * add compute node revoke certificate * add compute node request certificate action * add compute node module view * add Ticket module view * add new Support Request from Instance Tree and Compute Node * add support request view * add event module view * fix add compute node action title * add Mail/Web Message view * add add_slapos_event action * add instance tree module view * add software product module view * add Software Product view * add add_slapos_software_product on project * add Software Release Module view * SoftwareProductModule_viewSoftwareProductListOnSlaposPanel view * add Software Release view * reference is needed on the created software product * add Software Release action * show software release state * setup software release language * create Software Installation * fixup portal_status_message propagation * move SoftwareInstallation_getSoftwareReleaseInformation * add Software Installation Module view * configure website view and CSP * add Software Installation view * add request_slapos_destroy * move instance action from slapos_cloud * move instance tree action from slapos_cloud * add Project request_slapos_instance_tree action * add Instance Tree view * add Instance Tree update parameter action * add Software Instance view * add Slave Instance view * add Software Instance Module view * try to install slapos_panel in test * only show action if the project is validated * set configuration_default_project_relative_url on panel web site * revert: no need to set default project on web site * export the panel web sections * view Subscription Request Module * do not crash if document is not linked to a project * fork header/panel gadgets * fork header/panel * only export last workflow history * do not display action view list in the panel * only show "slapos" actions in the panel * do not display "Modules" and workflow actions * do not display "Editable" checkbox * do not display "Logout" link * fixup: only export last workflow history * use "vifib.cloud" icon on the panel * do not display search form in the panel * requires Release/Type variations when creating Software Product * jump to Software Release * add Release view * jump from Project to Software Product * Release are now Software Product variation * review View section in panel Needed to cancel jump view * jump_to_slapos_software_type * add Software Type view * add Software Type action * jump to Compute Node from project * initialise Software Release title (to not see the ID by default) * Release are now Software Product sub objects * create draft allocation supply from project * translate string * add Allocation Supply view * view Allocation Supply Line * create Software Installation from Allocation Supply * show Allocation Supply list * only show allocable Software Product when requesting * jump to project instance trees * hide header link to prevent confusion Good links must be defined in next version * show all project support request * close ticket action * prefill all Software Product info from JS * create Instance Node from Instance Tree * create Allocation Supply from Instance Node * software.json contains multiple entries with the same software-type * do not create multiple Instance Node from an Instance Tree * show project Instance Nodes * show Compute/Instance Node's allocation supplies * handle software product with only one software type * try not to duplicate software product * improve software release creation extend software type list * no need to manually create software type * only check Software Product from the same project * person view * use Allocation Supply to return the list of Software Product * use Project_getSoftwareProductPredicateList to find Software Product * show Allocation Supply destination * invalidate Allocation Supply * add Allocation Supply Module view * Instance Node view * do not add Instance Tree for project with accounting * add an exemple of payable product list * drop unused script * add Sale Supply for Project * validate/invalidate Sale Supply * show price unit * add missing view action on Instance Node * add field to allow slave on same instance tree * add actions for Remote Node * jump from Project to Remote Node * export favicon it was dropped from slapos_web * restrict the list of software type based on allocation supply * drop upgrade_scope * add Upgrade Decision view/actions * change action title from View to Panel View To make coding style test happier * display translated state title * add Computer Network * add Computer Network jump * show Computer Network related Compute Nodes * invalidate Computer Network * install payzen/wechat dependencies they were provided by subscription bt5 * fetch currency from project default trade condition * use Project_getAccountingCurrency * use Project_getAccountingCurrency in action conditions * action to create a virtual master for a user * Person_addVirtualMaster: try to find trade condition with Trade Model Line and currency * require currency information when creating a virtual master * merge request payable/non payable instance actions * update slapos_master_panel modification date * update add Sale SUpply action
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
* allocation_scope/open/public and friend do not exist anymore * drop slap_add_compute_node page * drop slap_project_list page * change status gadget to support parameter configured on the gadget field * drop slap_project_view page * drop slap_transfer_compute_node * drop slap_compute_node_view page * drop slap_compute_node_revoke_certificate page * drop compute_node_request_certificate page * drop not implemented update_allocation_scope action on compute node * drop not implemented update_category action on compute node * drop slap_compute_node_list page * drop slap_ticket_list page * drop slap_add_ticket page * use parameters as if they were configured on the gadget field * drop support request view page * drop web message view * drop slap_add_related_event page * drop service_list page * drop Software Release view * drop Software Product view * drop software installation creation * move SoftwareInstallation_getSoftwareReleaseInformation * drop slap_select_software_product/release pages * drop slap_software_installation_view page * drop slap_destroy_software_installation page * instance tree actions moved to slapos_panel * drop slap_add_instance_tree page * accept parameters as provided by GadgetField * drop instance tree view action * only check accessible instances * drop gadget_erp5_page_slap_instance_tree_view * drop slap_software_instance_view page * drop person.requestOrganisation * do not delete all categories on Credential Request and set destination_project * revert: restore WebSection_newCredentialRequest as previously * drop close ticket * drop SoftwareProduct_getSoftwareReleaseAsHateoas * drop Upgrade Decision view * drop Computer Network views * drop Computer Network scripts * drop add_organisation page * update renderjs_oss modification date * fixup rebase * drop Compute Node Token previous implementation * erp5_web_renderjs_ui | RJS is managed by erp5_web_renderjs_ui bt5 * move most stuff to slapos_jio_before_deletion Keep slapos_jio minimal to simplify the rebase on the files to keep * keep status gadget * forgot to drop actions * restore label_listbox_field
-
Romain Courteaud authored
* slapos member user are not allowed anymore to create compute node * no need to create a dedicated local_roles from compute node source_administration Only slapos manager will handle compute nodes * duplicate test_default_scenario to happily break it * drop friend/personal in new scenario test * all members can allocation on all compute nodes * give user security group based on function (to access some module) and project/function (to access documents) * only a project computer manager can create compute nodes * only project computer manager is assignor on compute node * need a project assignment to create a compute node * drop group security on Instance Tree * drop group security from Software Instance * project member only need Auditor role on it * add customer project assignment * remove source_administration interaction workflow on Compute Node and add follow_up instead * Software Installation: move interaction workflow from destination_section to follow_up * give role on Software Installation to Project Compute Node Manager * shadow user do not need access to Compute Node anymore * only project comp manager can create SOftware Installation * project customer can create software instance * project customer can create instance tree * project people can only view the project module * also check PAS plugins which are not supposed to be activated * drop PAS shadow user plugins * drop shadow access from compute node module * drop shadow from compute node module * drop shadow role from computer module * drop shadow role from person* portal types * drop shadow role on project module * Revert "slapos_erp5: drop PAS shadow user plugins" Needed for accounting * Revert "slapos_erp5: drop shadow role from person* portal types" * drop Modification permissions if document uses an automated ledger * source_administration is not used anymore on Compute Node * drop transfer from another Project * drop allocation_scope/open categories * drop Item_getSecurityCategoryFromMovementDestinationSection * drop Item_getSecurityCategoryFromMovementDestinationSection * drop Item_getSecurityCategoryFromMovementDestinationProject * drop Item_getSecurityCategoryFromMovementDestination * drop SoftwareInstance_getSecurityCategoryFromMovementSpecialiseDestinationProject * drop ERP5Type_getSecurityCategoryFromAssignmentDestinationClientOrganisation * switch event/ticket roles to virtual master security * drop Event_getSecurityCategoryFromMovementFollowUpAggregateComputeNodeDestinationSection * drop Event_getSecurityCategoryFromMovementFollowUpAggregateDestination * delete Event_getSecurityCategoryFromMovementFollowUpAggregateDestinationProject * drop Item_getSecurityCategoryFromMovementAggregateDestinationProject * drop Item_getSecurityCategoryFromMovementAggregateDestinationSection * drop Item_getSecurityCategoryFromMovementAggregateDestination * drop Item_getSecurityCategoryFromMovementAggregateComputeNodeDestinationSection * drop SoftwareInstance_getSecurityCategoryFromMovementSpecialiseDestination * drop Item_getSecurityCategoryFromMovementLineAggregateDestinationProject * drop Item_getSecurityCategoryFromMovementLineAggregateDestination * drop Item_getSecurityCategoryFromMovementLineAggregateComputeNodeDestinationSection * provide access to Compute Node Manager on Upgrade Decision * delivery/movement must use source_project instead of follow_up * delivery/movement must use source_project instead of follow_up * drop query module security * drop Compute Partition roles It must be visible by all project members * instance of the project can access compute nodes * do not make Credit Card readable * drop data set security * only accountant can create/update Account * add function local_role_group * use function local_role_group on Account * use function local_role_group on account * only accountant can read/write accounting transactions. Ledger is used as write condition * accounting period are only readable/writable by accountant * accounting period are only readable/writable by accountant * provide access on compute node to project customer/production * give read access to project production * provide access to production on software installation * switch admin to production manager in tests * no need for group/role in assignment. Use parent function too * provide access to function/production on Instance Tree * provide access to instance for function/production users * provide access to function/production* on support request * provide access to function/production on event module * provide access to regularisation request to function/production * drop roles for DMS portal types It does not seem used. * provide read/write access to function/production to Computer Network * provide access to function/is to System Event * provide access to function/is on Assignment * provide access to person module * provide read only access to project/customer on software product * provide readonly access to project/customer on software release * test set server allocation_scope to open * provide readonly access for project/customer on accounting module * provide readonly access for project/customer on compute node module * use source/destination_project on event/ticket/delivery * security for Subscription Request * production agent/manager can not create Software Instance * drop slap_add_compute_node page * drop slap_project_list page * drop drop slap_transfer_compute_node (and project_view) * drop slap_compute_node_view page * drop slap_compute_node_revoke_certificate page * drop compute_node_request_certificate page * drop slap_compute_node_list page * drop slap_ticket_list page * configure security on ticket modules * provide read only access to all Service * add a local roles interaction workflow on Support Request * drop slap_add_ticket page * drop support request view page * add local roles interaction workflow on Mail/Web Message * drop slap_add_related_event page * drop service list page * allow production to create software product * configure software production roles and interaction * allow production to create Software Release * configure roles for Software Release * drop software installation creation * show Software Installation to customer * provide read access on software installation module to customer * drop slap_select_software_product/release pages * drop slap_software_installation_view page * drop slap_destroy_software_installation page * instance tree actions moved to slapos_panel * drop slap_add_instance_tree page * drop gadget_erp5_page_slap_instance_tree_view * recalculate Software* local roles when follow up value changes * drop slap_software_instance_view page * try to install slapos_panel in test * drop person.requestOrganisation * WIP move test for scenario without accounting * show latest consistency error * ensure that no unexpected document has been created * required setting a project on a Credential Request * set default project on test web site * ensure that subscription_assignment_category_list is set on the system preference * test: set subscription_assignment_category_list on the system preference * allow customer to see the Subcription Request Module * add hardcoded test to expand an open order * no need to use hardcoded organisation... too check the bank account obj * WIP test for variated resource on open order... * check variation stock * check accounting * check transaction total_price * set the aggregate value on the Open Order Sale * test request scenario with accounting * set the price currency on the trade condition * check kthat correct release/type have been selected * get price from sale supply * drop Software Release security We use Software Project Release Variation instead * WIP slave test. Compare behaviour outsied my dev instance * fixup slave test * compute partition do not have any local roles anymore * role on Allocation Supply * use Allocation Supply to check where to allocate Ensure Slave Instance can be instanciated on other software release instance (thanks to Instance Node) * update Instance Node local roles * update Allocation Supply local roles * drop^close_ticket page * do not show dedicated Allocation Supply to all users * update currency role definition * stop hardcoding default quantity unit * configure Sale Supply role definitions * Sale Supply interaction workflow for local permissions * drop Software Release configuration and hardcoded paths * link hosting subscription to project * Hosting Subscription roles * fixup test * Instance can access project module * test slave allocation on the same instance tree * give more security group to instances * draft Remote Node security * create 2 projects to simulate remote allocation * remote node security interaction workflow * test allocation on Remote Node * test remote slave allocation * test: do not create Software Installation for Remote Node * move tests to virtual master design * Software Instance can access Compute Node Module * new slapos_panel skin folder * project needed when create person/compute node * project needed to create person * provide access to Web Page to function/marketing * Web Illustration * test marketing function * fixup Account security * fix Accounting Period security * update Account exported local roles * update Accounting Transaction Module security * update Accounting/Balance Transaction security * update web_page_module local_roles * fix Purchase Invoice Transaction security * fix Sale Invoice Transaction security * fixup Payment Transaction security * test Instance Tree security * update Assignment local roles test * test Software Instance local roles * test Slave Instance local roles * test Event local roles * explicitely define the security base category order * test event module local roles * test Compute Node module local roles * test Compute Node local roles * test Support Request module local roles * test Support Request local roles * test Software Product module local roles * test Software Product local roles * drop test for Compute Partition and Software Release * test Software Installation local roles * test Currency (Module) local roles * test Acknowledgment local roles * remove Credit Card local role test We do not store Credit Card * test Regularisation Request local roles * test Computer Model local roles * test Computer Network local roles * drop Computer Module local roles Computer was not reachable, so, no reason to keep this module * test System Event module local roles * test Upgrade Decision local roles * drop InstanceTree_getUpgradeSubscriptionRelatedValue * Upgrade Decision Line is not used anymore * customer is only Auditor on Upgrade Decision * update Computer Network local roles * drop Computer Network scripts * drop add_organisation page * WIP local roles test * fixup Payment Transaction local role test * add SecurePaymentTool local role test * check that Role Definition contains a local_role_group * drop slapos orga and accounting template local roles * drop slapos_aggregated_business_process * drop all trade condition * drop business processes * test: use share code to create accountable project * testSlapOSERP5InteractionWorkflow: there is no source administrator on Compute Node * drop Base_useSaleTradeConditionReference * disable monitor only if allocation_scope is closed/forever * testSlapOSERP5VirtualMasterScenario: define bank account * testSlapOSERP5VirtualMasterScenario: Payment Transaction is not built anymore * TestSlapOSVirtualMasterScenarioMixin * wip testSlapOSERP5VirtualMasterInvoicingScenario * improve consistency in the Role Definition * improve Role Definition consistency * XXX do not allow users to create Compute Node / Instance Tree Break everything, to investigate how we could integrate Open Order with Compute Node * add slapos_subscription_request dependency * Sale person can access Service * only provide read/write access on Organisation to Sale/Accountant * Sale aent create Trade Condition
-
Romain Courteaud authored
* propagate ledger from order builder * add ledger to the accounting template * aggregate source_project on payment
-
Romain Courteaud authored
* subscription scenario needs project now * project is needed when requesting an instance * hardcode automated ledger category for the newly created sale packing list * hardcode automated ledger category for the newly created accounting transactions * automated ledger path * add ledger to the accounting template * only add a project assignment for the existing admin user * create normal user with the project customer assignment * update cdn subscription test project reference needed * add project for chinese subscription * project needed for scenario tests * all Subscription/Trial object must be linked to a Project * test: user need to be linked to a project * propagate source project * delivery/movement must use source_project instead of follow_up * set source_project on event * delivery/movement must use source_project instead of follow_up * use source_project instead of follow_up * use source_project instead of follow_up * test set server allocation_scope/open * Subscription COndition uses follow_up to link to the Project * add missing source_project base category on Subscription Request XXX Subscription Request must inherit this from ticket instead of defining all of this manually * Subscription COndition uses follow to link to Project * also add destination_project on Subscription Request to ensure constraint can be triggered * fix user account assignment creation from SubscriptionRequest * create software product/release in test * improve software product/release * expect Sale Packing List to use a Software Product * use Software Product as resource * drop audit from Subscription Request
-
Romain Courteaud authored
* add SlapOSLedgerConstraint * add SlapOSLedgerConstraint on all * Transaction XXX FOrces tests to fail as much as possible if ledger is not configured. Add test to ensure constraint is configured * hardcode automated ledger category for the newly created sale packing list * propagate ledger in the simulation tree * build ledger category from delivery builders * aggregate ledger from order builder * ensure ledger category is allowed on the portal type when using the constraint * requires ledger on Hosting Subscription, Open Sale Order and Sale Packing List * hardcode ledger value on Open Sale Order and Hosting Subscription * open order must propagate the ledger value * automated ledger path * add ledger to the accounting template * source_administration is not used anymore on Compute Node * source_administration is not used anymore on Compute Node * add source_project constraint on all portal type requiring a ledger * set the source_project on the open sale order * propagate source_project in the simulation/builder * remove source_project constraint from the ledger property sheet * add SlapOSVirtualMasterSourceProjectConstraint on all accounting portal types * use Software Product instead of the service slapos_instance_subscription * build movement using Software Product * consider Software Product as a Service * use Software Product * search the trade condition with searchPredicateList * ensure trade condition is found * disable open order alarm * disable open order creation * add slapos_virtual_master_subscription service * allow using open order for different kind of item * add constraint to check if open order has a sale trade condition * reactivate open order alarm * check if Sale Trade Condition has a business process * ensure open order line has a resource, price, quantity * new constraints for open order / sale trade condition * only automate invoice with automated ledger * only automate packing list with automated ledger * only automate packing list with automated ledger * only automate packing list with automated ledger * add new business process to go from order to invoice This may be temporary. Name is bad on purpose for now. * not sure if it is a good idea to hardcode the business process list... * do not crash if open order line is not linked to an instance * force total_quantity to be > 0 instead of checking quantity property * XXX support Open Order Cell * XXX constraint must also support Cell * create Open Order Cell * first version to fetch trade conditions and prices * select the correct software release/type on open order * get price from sale supply * do not create the open order if the software product can not be found * set price on the open order it requires to create a temp sale order, where sale supply is automatically applied * SlapOSVirtualMasterSourceProjectConstraint on Sale Supply * InstanceTree_getSoftwareProduct also return release and type variations * wip sale supply test * configure Sale Supply predicate * test Supply Line matching and getPrice * allow Supply Line to define price even if resource has variations Force quantity unit to match (no convertion for now) * order Supply Predicate matching * Supply Cell before Line * stop hardcoding default quantity unit * add comment if price not found * quantity is defined on cell * do not create Hosting Subscript before the price is found * slapos_accounting: link Hosting Subscription to project * Cloud Contract is not global for ERP5 Site, but per Virtual MAster * project needed on assignment/compute node * export module business application * revert zero_emission_ratio service deletion I do not remember why I dropped it * set source/destination_project and ledger on created payment * drop slapos orga and accounting template
-
Romain Courteaud authored
* open personal * allocation scope is meaningless to restrict allocation permission * add follow_up category on Compute Node To attach to a project * require a project reference when requesting a compute node * requesting a compute node requires a project * increase error verbosity * stop using shadow to allocate instance Use project only * set follow up on Instance Tree and Software Instance portal type * requesting an instance tree requires a project * assert project reference is provided * propagate follow up when requesting instance * requesting an instance requires a project * add follow_up accessor on compute partition * no need for follow_up on Compute Partition * directly search follow_up value on parent Compute Node * use new related key format * drop source_administration from Compute Node * drop source_administration on Compute Node * drop source_administration from Compute Node * Software Installation drop destination_section and use follow_up * stop setting role/member on Assignment by default * requesting an instance tree need a project reference * add SlapOSVirtualMasterConstraint XXX TODO fix broken TALES expression which prevent entering invaludated/suspended * configure SlapOSVirtualMasterConstraint on most slapos cloud portal types XXX TODO check if some are missing * SlapOSVirtualMasterConstraint need f#+=!$ TALES expression * drop ComputerNetwork_getSoftwareReleaseAllocableState source_administration is not used anymore on Compute Node * source_administration is not used anymore on Compute Node * drop transfer from another Project * drop transfer from another Project * drop transfer from another Project * drop transfer from another Project * drop allocation_scope/open categories * drop allocation_scope/open categories * move test function to mixin * drop ERP5Type_getSecurityCategoryFromAssignmentDestinationClientOrganisation * add SlapOSVirtualMasterSourceProjectConstraint * force source_project accessors when using SlapOSVirtualMasterSourceProjectConstraint * use instance/computer project in the security mapping * test use production/manager to request compute node * allocation_scope/open/public and friend do not exist anymore * only allocate on allocation_scope/open * only allocate on allocation_scope/open * SlapOSVirtualMasterSourceProjectConstraint requires source_project or destination_project * really check source/destination_project... * set compute node default allocation scope to open by default * ensure created Support Request is linked to a Project * drop request_destroy action * disable action if instance tree already has the expected state * move instance action to slapos_panel * move instance tree action to slapos_panel * fix default image usage * drop person.requestOrganisation * only search validated software product/release * add InstanceTree_getSoftwareProduct * do not require open order for allocation * drp audit_validation_workflow * search for Software Product Release Variation * XXX XXX disable crm alarms * drop ComputePartition_getCustomAllocationParameterDict This is a hack incompatible with virtual master standalone logic. Better design is needed * continue to hack on cloud contract * stop catching NotImplementedError * reindex Compute Partition when changing aggregate on Software Instance * Allocation Supply Module draft * allocation supply is... a supply * draft Allocation Supply Line/Cell * Allocation Supply Line view * Allocation Supply Line * SlapOSVirtualMasterSourceProjectConstraint on Allocation Supply * show allocation supply state * InstanceTree_getSoftwareProduct also return release and type variations * check Allocation Supply to filter where allocation can be done * improve Allocation Supply form * add Instance Node portal type * use the allocation supply start date to filter not yet activated * only use Software Product on Allocation Supply Line * configure Allocation Supply Cell predicate * test Allocation Supply predicate * add Project_getSoftwareProductPredicateList * show Allocation Supply destination * Allocation Supply Line are never used as predicate * allocate slave on instance from the same instance tree * method to request and allocate slave instance from an instance tree * add Remote Node portal type It will be used to create cross master allocation * missing workflow on Remote Node * return nothing is no Software Product is found * check if remote instance is allocated * propagate Remote Node requests * define destination_project/section on Remote Node * Remote Node can also be defined on Allocation Supply * test requesting Remote Slave * allow remote allocation on an uniq hardcoded partition * add Remote Node view * do not require Software Installation for Remote Node * add SlaposRemoteNodeConstraint * add SlaposInstanceNodeConstraint * starts moving test to virtual master design * also search allocation supply by node * can not predicate test on aggregate Aggregate is not acquired from Supply to Cell * Allocation Supply need an aggregated Node * AllocationSupplyConstraint * _makeComplexComputeNode need a project * _makeSoftwareRelease url * project on compute node * only return Software Instance related Compute Partition * project needed in test * no requestTransfer anymore * project needed * no source_administration * person need right assignment * open/personal does not exist anymore * drop organisation_slap_interface_workflow Security is only based on project now. Organisation will only be used by accountants * only project admin can create Computer Network * drop the idea of project owner Project will be products sold on the store * project needed in test * assignment needed to touch compute node * project needed in compute node / instance * project needed in test Allocation Supply is now needed... * person can not request project anymore * do not sort security base category when generating local roles Otherwise, it is not possible to ensure source_section/function and destination/function generate the same local role * no need for SlapOSVirtualMasterConstraint on Computer Computer are not used for now * drip upgrade_scope * no need to search a Software Product if there is no url_string * only search compute node from the same project * manually filter Allocation Supply by Compute Node * drop not needed log * commit module business_application * fix SLA tests * preallocate test data this will break many tests... * one day, I'll stop using boolean as argument... * fixup test * test compute network sla * Computer Network creation requires a project reference * use the jump to access Computer Network related Compute Nodes * drop source_administration on Computer Network Only project is used now * drop person.requestSite * fix Computer Network creation test * fix requestComputeNode tests * ensure Compute Node has no related project security group * instance has project based security group * fix user security group test * stop using _simulateScript * drop slapos organisation * test: factorise accountable project creation * bootstrap accountable instance in test * SlapOSTestCaseMixin set ledger on created Sale Invoice * SlapOSTestCaseMixin: factorize Sale Supply creation * test do not hardcode price * drop Item_getCurrentProjectValue * test: drop unused functions * test: create a bank account source payment on the trade condition * test: create a organisation linked to the person if needed * reinstall slapos_subscription_request * drop subscription_request dependency It creates unresolvable dependency * only propagate Instance Tree parameters to the Software/Slave Instance only if an Open Sale Order exists * ensure that alarm propagate parameters of orphaned Instance Tree * drop usage of Subscription Request * check the Subscription Request instead of the Cloud Contract * drop checkCloudContract method * Subscription Request are invalidated after Open Order is created * test: create project by doing a subscription request * do not allocate on a Compute Node without any Subscription * test: no need to manually trigger alarm * test: no need to manually trigger stepCallSlaposAssertInstanceTreeSuccessorAlarm * test: new parameter * test: keep compatibility with previous addProject * test: bypass Service_getSubscriptionStatus * test: use Person_addVirtualMaster to create project * test: login as user to request the instance * test: login as user before doing the request * test: currency is required to create a Virtual Master * constraint: Remote Node has busy partition without related Software Instance * cleanup request when instance is not subscribed yet * stop instance tree propagation on instance_slap_interface_workflow Some alarm call request directly on the Instance Tree (this is expected) * rename Service_getSubscriptionStatus to Item_getSubscriptionStatus * drop not needed workflow interaction * reduce some alarms frequency Interaction workflow are needed to speed up everything * add Base_reindexAndSenseAlarm * add interactions to speed up allocation Use Base_reindexAndSenseAlarm, to ensure object is reindexed, in order to be handled by the alarm * test: no need to manually call alarms Interaction workflow will trigger them * and fix wrong usage of Base_reindexAndSenseAlarm * propagate Slave Instance on Remote Node * update xml * fix InstanceTree_assertSuccessor tests * fixup slapos_free_compute_partition tests * more slapos_free_compute_partition tests * return todestroy status when instance tree is destroyed * fixup tests for slapos_garbage_collect_destroyed_root_tree * fixup slapos_update_compute_node_capacity_scope tests * fixup slapos_stop_collect_instance tests * fixup slapos_garbage_collect_non_allocated_root_tree tests * fixup slapos_cloud_invalidate_destroyed_instance tests * tests: prevent test to impact other tests * test: commit transaction before end of test * test: compatibility with _makeComplexComputeNode * test: fixup remote node creation * test: allow to disable alarm when validation a allocation supply * test: drop reference to an outdated alarm * test: Token creation is allowed to Production users * add One Time Virtual Master Access Token portal type Needed for compatibility with the compute node deploy script * add slaos_cloud_garbage_collect_one_time_virtual_master_access_token * trigger alarm once per day * use optional_variation to configure the Allocation Supply matrixbox * drop support request template preference * drop my_preferred_support_request_template * stop using getPreferredSupportRequestTemplate * drop Subscription Condition usage * break Base_getSupportRequestInProgress Use causality category instead of aggregate, to link the Ticket to the context document (instance, node, ...). Aggregate must be used to define the item of the movement resource. Break the parameters and use the context to define the causality value. * use causality to link the Ticket to the context document * XXX disable person.notify & person.requestSupport I don't get why there are 2 transitions for now. * drop ComputerNetwork_viewComputeNodeList * drop notify and requestSupport transitions They have been replaced by python script and alarms * test: person.notify has been dropped * drop slapos_crm_regularisation_request_template * Do not allow user to change the release/type/shared status * no need to use a tag if context is not reindexed * allow to force software change * speed up Base_reindexAndSenseAlarm execution * drop my_preferred_default_pre_payment_template * drop default_pre_payment_subscription_invoice_template * drop getPreferredAggregatedSubscriptionSaleTradeCondition * test: drop unused functions * drop preferred_aggregated_sale_trade_condition * drop preferred_aggregated_sale_trade_condition * test: drop reference to slapos_aggregated_trade_condition_v3 * test: drop test from dropped interaction * test: role is not required on a Person * test: do not invalidate instance to not unlink * test: create Trade Condition when Project is accountable * drop slapos_crm_web_message_template * drop my_preferred_web_message_template * drop template_pre_payment_subscription_sale_invoice_transaction * drop preferred_default_pre_payment_subscription_invoice_template * drop slapos_accounting_instance_delivery_line_template * drop slapos_aggregated_consumption_trade_condition * drop preferred_aggregated_consumption_sale_trade_condition * drop unused template * drop template_computer_model * drop template_hosting_subscription * drop template_software_installation * drop template_compute_node * drop template_instance_tree * drop template_software_instance * drop template_member * drop drop template_software_instance * drop template_software_instance * drop template_software_instance * add afterClone scripts * test: check remote node parameters propagation * try to create an upgrade decision for a remote instance * test: add checkRemoteInstanceUnallocation method * XXX stop invalidating Slave Instance TODO: Instance on Remote Node must propagate their destruction, before being invalidated * instance must be invalidated before unallocating it * drop not needed script * invalidate Slave Instance allocation on a Compute Node * trigger invalidation as soon as an Instance is destroyed * alarm must visit allocated Slave Instance to invalidate them * report software url of the linked instance, even if it is in destroyed_state / invalidated * test: slave are not directly invalidated as soon as it is destroyed * propagate remote node destruction * do not crash if no instance is found * ExactMatch * drop comments * keep compatibility with project_guid sla * allow to propagate a single instance * add subordination category on Remote Node * try to wait for previous alarms to finish before triggering a new one * priority 3 * do not call activeSense concurrently * prevent activeSense to be called concurrently * reduce number of activities * do not loop * drop preferred_cloud_contract_enabled * stop using hateoas web site * change the skin selection to register * test: create needed bank account
-
Romain Courteaud authored
-
Romain Courteaud authored
This reverts commit 53f61021.
-
Romain Courteaud authored
This reverts commit 730b0f11.
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
slapos_accounting: * no need to create open order slowly * trade condition has more than one supply line * WIP create open order for compute node * alarm to create compute node open order * categrory * define comp node subscription price slapos_cloud: * approve computer again slapos_subscription_request: * trigger compute node open order creation
-
Romain Courteaud authored
* XXX do not approve computer by default TODO: create open order related to the computer usage * drop useless requestComputeNodeRegistration workflow transition This transition does nothing.
-
Romain Courteaud authored
* restore previous price setting * set round price * disable invoice generation for consumption to see test impacted * XXX consumption price must be set to 0 XXX migrate existing packing list
-
Romain Courteaud authored
Try to understand why price is not always copied slapos_accounting: restore original price
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
The new versions do not include any price informations. It is needed to create new Trade Condition which inherite from those versions. Update preference to use those latest trade conditions.
-
Romain Courteaud authored
slapos_accounting: factorise code slapos_wechat: use reference sale trade condition slapos_erp5: check sale trade condition reference
-
Romain Courteaud authored
sale trade condition are versionned.
-
Romain Courteaud authored
-
Romain Courteaud authored
Clarify trade condition title
-
Romain Courteaud authored
-
Romain Courteaud authored
Prices are defined on Supply Line inside Sale Trade Condition. Drop prices from Subscription Condition. Instead, link the Subscription Condition to a Sale Trade Condition. Apply the Sale Trade Condition on the created Open Sale Order. Stop duplicating properties from the Subscription Condition to the created Subscription Request. Payment is managed by the 'payment' category, and not the language. This allows to remove all '==zh' conditions. Instead, use custom Sale Trade Condition.
-
Romain Courteaud authored
slapos_accounting: * generate one open order per instance tree * create empty contraint property sheet for open order * only one line per open order * workaround wrong select returning a result multiple times * XXX break instance tree periodicity. Must move to hosting subscription * rename script for hosting subscription * revert failure error * force open order line to have an Instance tree and a hosting subscription * hosting subscript will host the date info * set open order periodicity on the hosting subscription * typo * hosting subscription will contain the periodicity * create hosting subscription * fixup start/stop date confusion * add hosting subscription workflow * stop using Instance Tree as Subscription Item * move periodicity view on hosting subscription * simulation is expanded from Hosting Subscription * validate hosting subscription * check all aggregate value * revert aggregate tester * simulate from hosting subscription * constraint is on hosting subscription * interaction are on hosting subscription * open order line has 2 aggregate * do not create open order if it was not allocated * script renamed slapos_erp5: * open order line have 2 items now slapos_cloud: * open order line has 2 items now * hosting subscription have a workflow again * add hosting subscription template * update HS_view slapos_subscription_request: * periodicity is on hosting subscription
-
Romain Courteaud authored
* force open order to be created to allocate * only check validated open order * check open order consistency before allocating * call script on the real web section
-