- 27 Mar, 2024 23 commits
-
-
Romain Courteaud authored
There are 4 types of assigment family: * The accounting team has assignment like: accounting/manager or accounting/agent They can see all invoices, but can not modify the automated ledger * The sale team has assignment like: sale/manager or sale/agent * A virtual master customer has an assignment like: function/customer destination_project/THE_PREFERED_DEFAULT_PROJECT He can request instance trees. He can see all the nodes on the virtual master. * The virtual master manager has assignment like: function/production/manager destination_project/THE_PROJECT or function/production/agent destination_project/THE_PROJECT He is responsible to create the compute node and ensure the quality of the service provided on it (so, he manages the related crm). Worklist must be usable, to quickly allow any user to know what is expected from him in the system. Also in this commit: * change the module id generator to _generatePerDayNodeNumberId to reduce conflicts on object creation * change bt5 dependencies to use the new panel UI
-
Romain Courteaud authored
* drop open/personal allocation_scope * 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 * restore status gadget first rendering onLoop must be fixed probably * status gadget portal _type is provided by the python script * do not mess with cursor used by browser it only confuses users * do not display links without href * disable gadget status onLoop Instead of jio.get, the paramers must provide the url to query, otherwise, it is not possible to use this gadget in the full ERP5JS * reintroduce all stuff from slapos_jio_before_deletion my branch is not ready to drop everything * fixup rebase * drop files moved to portal_skins * move to slapos_panel
-
Romain Courteaud authored
* restore status gadget first rendering onLoop must be fixed probably * drop organisation/site pages * drop project creation/deletion pages * drop gadget_erp5_page_slap_cloud_contract_view_js * drop template_software_installation * drop template_instance_tree * drop template_software_instance * move login page templates * moved to slapos_panel * moved from slapos_jio * drop pages
-
Romain Courteaud authored
-
Romain Courteaud authored
Simplify maintainance of the panel by putting back the business logic into ERP5 actions. This allows to: * view panel actions in ERP5JS too * use formulator to define what a user see * not write JS code for every page We loose the offline functionality, but this was never finished.
-
Romain Courteaud authored
Modules switched to per day/node ID generator. Also in this commit: * drop not needed trade conditions
-
Romain Courteaud authored
Modules switched to per day/node ID generator. Also in this commit: * drop templates * drop not needed trade conditions
-
Romain Courteaud authored
-
Romain Courteaud authored
Unify Ticket and Event creation, to ensure consistency on the different categories. 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. Monitoring: the tickets are managed by the virtual master admin, who is responsible to provide a good service quality. Admin will use their worklist to see the ongoing tickets. Regularisation Request: this ticket is handle by the accounting team. Unpaid invoice can be related to any kind of service (instance, node), which have only 2 states from the ticket point of view: running or destroyed. Only check the automated ledger, do not be impacted by other kind of invoices. Prevent allocation if a customer has an ongoing Regularisation Request. TODO: handle case of unpaid invoices for professional customers Also in this commit: * drop templates * use interaction workflow to trigger alarms
-
Romain Courteaud authored
A Subscription Request is a ticket, which should be used to generate an Open Sale Order for a service. When the Open Order is created, the ticket is closed, and not used anymore. Drop the Subscription Condition object. Using Sale Trade Condition is enough to define all the Open Order profiles. Using Sale Supply is enough to define the prices. As services can be created from SlapOS API, the Subscription Request can be created after the service already exists. Block allocation until the Open Sale Order has not been yet created. User will be able to fill the services details, without it being used in the system. Open Sale Order must be created, even if the service is free, to allow using the inventory API on the services (using Packing List). In order to reduce the number of invoice for the customer, ensure the invoice date is stable for a customer, and provide discount to not invoice unused period. Do not use the same date for every users, to reduce load on the system for that day. To accept a payable service Subscription Request, the customer must provide a deposit, which may be used to pay a not paid monthly invoice. Also in this commit: * drop not needed templates * use interaction workflow to trigger alarms * drop ecommerce dependency
-
Romain Courteaud authored
Instead of having a giant versionned Open Sale Order, containing all user subscriptions, create one Open Sale Order per subscription. The Open Order state can now be used to mark the subscription status. This reduce the simulation tree size, as a such tree will not be updated anymore when a subscription ends. The Open Order stop date is set when closing the Open Order. Create a new 'automated' ledger category, to explicitely mark the deliveries managed by the alarms / scripts. Drop the explicit reference of a specific business process / trade condition, and allow any Trade Condition to be used, based on its predicate/trade_condition_type configuration. Ensure the items are propagated in the simulation movements and delivery lines. Aggregate Sale Invoices, based on their Trade Condition and profile values. A user will have multiple invoices if he is using multiple virtual master's services. Implement a VAT calculation for France only for now. Delivery Line with a taxable business_contribution must trigger the tax calculation script (which depends on many factors like type of sold items, customer address, ...) and explicitely mark on the line the VAT rate. Customer address can be modified in futur, without impacting the delivery vat calculation. Also in this commit: * drop template usages * use interaction workflow to trigger alarms * do not generate invoice with a 0 total price * drop hardcoded reference of hardcoded currencies * add contraints on the simulation logic, to prevent generating wrong movements * configure Sale Supply to allow more complex price definitions * allow using any kind of resource on the deliveries * disable consumption delivery generation (until better specified) * stop forcing/hardcoding payment mode in advance * support for variated resources * allow to manually pay multiple invoices with a single payment * drop the cloud contract tricks * destroy items as soon as the Open Order is closed * add a discount service to reduce the invoice price if wanted * add a deposit service to support invoice prepayment
-
Romain Courteaud authored
A Software Product is a variated resource with 2 axes: - Software Product Release Variation (optional variation), to not force updating Order/Delivery every time one Instance is upgraded - Software Product Type Variation It is linked to a Project (virtual master). Redesign the Upgrade Decision logic. It is now a Ticket, generated by the Allocation Supply configuration: - upgrade is different for every Project - upgrade can be triggered on a specific Node, or for a specific user Upgrade Decision is created automatically only if there is a single possible release allocable for a Software Product. Otherwise, it must be created manually. The Upgrade Decision must be approved by the Project manager, who is responsible for the Allocation Supply configuration. Also in this commit: * drop template usage * trigger alarm with interaction workflow
-
Romain Courteaud authored
A project reference is required to create a compute node. Add compatibility with the user request Console client does not send a project reference. Try to guess it for simple cases
-
Romain Courteaud authored
Drop the allocation scope open/subscription/public logic. Instead, use Project as Virtual Master, and force all slapos_cloud object to be linked to one Project: * every Compute Node is linked to a Project * any Project's Instance can be allocated on a Project's Compute Node Allocation is managed by configuring an Allocation Supply document, which defined on which Compute Node a Software Product can be allocated. User are not allowed anymore to change the release/type/shared state of their Instance Tree. Managing Compute Node is done on the virtual master level, and so, there is no need to define any Compute Node administrator. A Software Product is a variated resource with 2 axes: software release url and softare type. Slave Instance are now allocated on Instance Node, which is created from the Software Instance which will control the configuration. Slave Instance allocation is also controlled by an Allocation Supply, which allow separating the Software Instance and Slave Instances versions. There could be any number of virtual master in the system. Every virtual master defines its own Software Products. Because of this, it is not possible to change a document's virtual master after its creation. Instance request can be propagated on another virtual master, by allocating them on a Remote Node document, which will generate a new Instance Tree request on another virtual master. Also in this commit: * trigger alarms as soon as possible with interaction workflow which allows to reduce some alarms frequency * drop never used Organisation logic * drop person.requestSite * drop audit_validation_workflow * drop ComputePartition_getCustomAllocationParameterDict This is a hack incompatible with virtual master standalone logic. * drop cloud contract * 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 * stop using hardcoded currency/organisation/trade condition/business process * drop templates usages * add One Time Virtual Master Access Token portal type Needed for compatibility with the compute node deploy script
-
Romain Courteaud authored
* automated ledger * drop allocation_scope/open/* categories All compute nodes are public now * add use/trade/deposit category * add trade condition type categories. This will be used to automatically select a Trade Condition in slapos_accounting * add invoicing taxable vat categories
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
* drop default_or_child_aggregate_reference * drop default_or_child_aggregate_uid catalog key * drop follow_up_default_or_child_aggregate_uid * drop causality_subscription_request_related_uid related key
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
This make usage of the relationfield nicer.
-
Romain Courteaud authored
-
- 26 Mar, 2024 1 commit
-
-
Romain Courteaud authored
This reverts commit d127603b.
-
- 25 Mar, 2024 1 commit
-
-
Rafael Monnerat authored
This is required due interacton workflow call on _setAlloctionScope. We could change the capacity_scope to close (so allocation worklfow order dont matter, but it would change the expected behaviour if we drop the interaction workflow, so it is more reasonable keep the existing behaviour unchanged.
-
- 23 Mar, 2024 1 commit
-
-
Rafael Monnerat authored
See merge request nexedi/slapos.core!615
-
- 22 Mar, 2024 6 commits
-
-
Jérome Perrin authored
same as erp5@2e366054
-
Jérome Perrin authored
With the previous approach, the test depend on the order of attributes, but this order is not stable when hash randomization is enabled and we don't care about order of attributes in this test.
-
Jérome Perrin authored
This is no stable with hash randomization, with PYTHONHASHSEED=593 this test failed.
-
Jérome Perrin authored
slapos_cloud:testSlapOSCloud fails with PYTHONHASHSEED=385
-
Jérome Perrin authored
this is done by upgrader in production, so it's consistent to do it before test
-
Jérome Perrin authored
sorted and with the usual workaround for trailing space bug
-
- 19 Mar, 2024 8 commits
-
-
Rafael Monnerat authored
See merge request nexedi/slapos.core!613
-
Rafael Monnerat authored
See merge request !614
-
Rafael Monnerat authored
This is quite specific to project based instances, so no need to add into every instance
-
Rafael Monnerat authored
-
Rafael Monnerat authored
Test some particular cases or features that MUST not be used, to ensure nobody the editor is handling it properly.
-
Rafael Monnerat authored
-
Rafael Monnerat authored
See merge request nexedi/slapos.core!609
-
Rafael Monnerat authored
See merge request nexedi/slapos.core!612
-