1. 26 Mar, 2024 25 commits
    • Romain Courteaud's avatar
      slapos_configurator: · 182af20c
      Romain Courteaud authored
      * XXX do not install slapos_subscription_request
        Everything should work without it.
        It will be rework later.
      * 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
      * change module id generator
      * portal_callables is not handle by the configurator
        See nexedi/erp5@a55b0f78
      * test: cloudooo url order is random
      * test: set convertion server with the constraint
      * test: some bt5 were dropped
      182af20c
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_jio: · a1724ed9
      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
      a1724ed9
    • Romain Courteaud's avatar
      slapos_panel_ui_test: · e130aa9a
      Romain Courteaud authored
      * test panel scenario
      * validate testFunctionalSlapOSPanelStyle
      * dependency
      *  HARDCODED data/user bootstrap
      *  passwd policy
      * use theia directly in the test
      * WIP shared instance test
      * shared instance test
      * limit Software Instance to manager only
      * add basic payable service test
      * randomize logins
      * check consistency at the end of the test
      * slapos_panel_ui_test: check all project related documents as project manager
      * execute all alarms at the end of the test to detect unexpected side effects
      * ensure we can activate slave allocation on same tree
      * test remote node allocation
      * test Slave Instance allocation on Remote Node
      * ensure request limit the list of release/type based on allocation supply
      * test Upgrade Decision actions
      * test Computer Network creation
      * use Person_addVirtualMaster
      * do not explicitely call alarms
        rely on interaction workflow instead
      * add Software Product to create Subscription Request
      * add Sale Supply for virtual master
      * fixup to generate subscription request and use the instance parameter editor
      * fixup Instance editor usage
      * set reference on the Trade Condition
      * fix consistency of other documents before running the tests
      * request instance action has been modified
      * fixup accounting scenario
      * text: configure trade_condition_type on the Sale Trade Condition
      * test: assignments are automatically created when adding a virtual master
      * fix Trade Condition creation
      * update selector used by the new jsoneditor
      * discussion_thread_reader gadget is now used
      * do not check Web Site consistency
      * no need to define the currency manually
      * search link has been removed. Access global search manually
      * do not check System Preference
      * test: set the region on customer accounts
      e130aa9a
    • Romain Courteaud's avatar
      slapos_panel: · b4801d9c
      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
      * do not install slapos_subscription_request
      * add dependencies
      * alphabetical order
      * restore Compute Node token creation and usage
        Token is now created from a Project
      * dependency to slapos_jio
        keep status gadget and the parameter gadget in their original bt5, to simplify rebase
      * add missing js dependencies for the json schema validator gadget
      * drop hardcoded url
      * restore status gadget first rendering
        onLoop must be fixed probably
      * project does not have status gadget anymore
      * use getPreferredHateoasUrl to generate the compute token
        improve consistency with slaptool (configure this value in 1 place only)
      * readd translation bt5 dependencies
      * configure trade_condition_type on the Sale Trade Condition
      * adding a virtual master also adds assignment for the user
      * drop unused script
      * show the issue when it is not possible to add a virtual master
      * more assertion when creating a virtual master
      * Subscription Request categories were inverted
      * prototype Subscription Request's events view
      * display the discussion in read only mode
      * use discussion gadget on Support Request
      * do not build url by joing strings
      * create Virtual Master only for validated Person
      * simplify configuration by not requiring to fill the hateoas url in the preferences
      * allow to enter the API url on the web site panel
      * project's codification is used to generate the local roles
      * drop useless field tales which hide the content
      * ensure the url is relative to the web site, but without containing a //
      * those files exist in slapos_cloud
      * desactivat the Supply action
        Force user to supply from the Allocation Supply configuration.
        otherwise, alarms will clean up the manually added Software Installation.
      * user has no group if it can not even access the Project
      * use souce_project to find the trade condition
        no need to trick source/destination project anymore, as trade_condition_type is used
      * add a Sale Supply Line for the Compute Node price
      * SoftwareInstallation_getNewsDict has been dropped
      * add missing arguments
      * ComputeNode_getSoftwareReleaseState was replaced by SoftwareInstallation_getInstallationState
      * add activate_kw parameter
      * virtual master can be free, and instance payble
      * control trade condition reference length
      * drop ComputeNode_getNewsDict
      * jsoneditor needs unsafe-inline style
      * fixup support request creation
      * fix Support Request listbox
      * fix support request view
      * use source_project as sender if none is defined
      * ticket use source_project
      * stop using dropped requestEvent workflow transition
      * customer can not close tickets
      * allow customer to see the list of tickets
      * validate the ticket when possible
      * stop using gadget_slapos_event_discussion_entry
      * display and sort by start date
      * show software types and releases
      * show instance allocation information
      * show Instance/Remote Node
      * set the expected Sale Supply by default
      * drop computer network status field
      * XXX drop slapos_jio dependency
      * activate the service worker
      * move login page templates
      * moved to slapos_panel
      * move to slapos_panel
      * add Preference view
      * add Subscription Request view action
      * drop global search
      * use slapos view on the access page
      * add Regularisation Request view
      * change panel access page to only show user services/projects/computers/tickets
      * add a global request action
      * do not show invalidated tickets
      * move to slapos_panel
      * display radiofield vertically
      * make request dialog a bit more understandable
      * do not propose to close the ticket if it is already closed
      * show action on panel
      * action to create a Ticket on the Project context
      * add an action to manually create an upgrade decision
      * show user's invoice
      * disable the search on the panel access page
        (it is not correctly working)
      * display invoice payment state
      * reintroduce payzen interface
      * do not show/create to object not from the same project in relation field
      * reintroduce RSS feeds
      * moved from slapos_jio
      * if the virtual master is paid by an organisation, it will also pay for compute node
      * drop custom green css
      b4801d9c
    • Romain Courteaud's avatar
      slapos_jio_before_deletion: · 1974f1dc
      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
      1974f1dc
    • Romain Courteaud's avatar
      slapos_erp5: · 5df509ec
      Romain Courteaud authored
      * test: always create open order before trying to allocate
      * check sale trade condition reference
      * add new trade condition versions
        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.
      * change business_application values
      * drop open/personal allocation_scope
      * 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
      * do not install slapos_subscription_request
        Everything should work without it.
        It will be rework later.
      * do not install slapos_subscription_request
      * add slapos_virtual_master_subscription local roles
      * only sort some properties
      * Sale agent can access currencies
      * restore Subscription Request local roles
      * Sale agent can create Subscription Request
      * update Sale Trade Condition local roles with interaction
      * show Sale Trade Condition to its destination
      * allow users to create Compute Node / Instance Tree
      * add Open Sale Order local roles interaction workflow
      * update Sale Trade Condition local roles
      * allow user to see his Open Sale Order
      * only sale people can create Sale Supply
      * create trade condition which could be applied to subscribe to a virtual master
      * local roles of Subscription Request
      * subscription request interaction workflow
      * do not allow Sale function to modify Subscription Request
        Let's automate everything for now
      * test: use Subscription Request to bootstrap the project
      * test Compute Node subscription creation
      * logout test
      * export service_module/slapos_compute_node_subscription
      * init preferences in test
      * test: wip accounting scenario
      * test:  slapos_subscription_request is installed again
      * give read|write permission to accounting/sale on person/project
      * test: update virtual master with/without accounting
      * update one more test
      * test_virtual_master_slave_on_same_tree_without_accounting_scenario
      * test_virtual_master_on_remote_tree_without_accounting_scenario
      * test_virtual_master_slave_instance_on_remote_tree_without_accounting_scenario
      * test: really disable accounting
      * test: sale person have access to the currency module
      * test: provide virtual master currency
      * constraint: Credential Request is not linked to a Project
      * test: define currency on the organisation
      * test: scenario for money deposit
      * test: typo
      * test: apply tax amount only if the resource is taxable
      * allow shadow user to view Organisation
      * test: reduce number of alarm calls
      * test: create deposit payment to validate the subscription
      * test: update related document count
      * test: no need to explicitely trigger all alarms
      * drop no used scenario test
      * give Role for source_project on Sale Supply
      * sale people can view business process
        needed to validate Sale Trade Condition
      * allow Production user to create One Time Access Token
      * drop slapos_jio dependency
      * drop my_configuration_slapos_master_web_url
      * test: configure trade_condition_type on the Sale Trade Condition
      * test: slapos_panel_compatibility was added
      * test: create Trade Condition for Deposit
      * test:  slapos_panel_compatibility skin selection
      * test: fixup trade condition specialise
      * configure 2 modules's business_application
      * do not allow user to see each others
        Do not allow personal information to be visible to anybody
      * allow Sale agent/manager to handle Assignments
      * test: assignments are automaticall created when creating a virtual master
      * test: fixup
      * drop organisation pages
      * drop project creation/deletion pages
      * configure Sale Supply like Sale Trade Condition
        Sale people manage Sale Supply
      * drop support request template local roles
      * getPreferredSupportRequestTemplate has been dropped
      * sale agent will manage support request unrelated to any project
      * customer is destination_decision on the Subscription Request
      * source/destination project have been inverted
      * customer will be Associate on Subscription Request
        In order to provid worklist for money deposit
      * Accountant will be Assign** on Currency
      * slapos_panel: allow to enter the API url on the web site panel
      * test: remove deleted script from coverage
      * xml update
      * system preference can not be fixed by the upgrader
      * drop Cloud Contract role definitions
      * fixup rebase
      * test: disable 2 tests
      * test: update Currency check
      * test: generate the compute node certificate
      * Sale person can be Assign* on Event
      * test: use source_project on the Sale Supply
      * test: use the same Sale Supply for Computer and Software
      * drop tests for dropped scripts
      * test: sale agent/manager can access Events
      * sale agt/manager can handle Regularisation/Support Request
      * drop slapos_crm_regularisation_request_template
      * drop regularisation request template
      * test: dropped script
      * drop testSlapOSERP5DefaultScenario
      * give read access to sale packing list to accountant and sale people
      * test: drop test_InternalPackingListLine*
      * drop code related to unused Trade Condition
      * test: noallocation compute node are still monitored
      * test: dropped scripts
      * drop slapos_crm_web_message_template local roles
      * fixup rebase
      * drop template_compute_node
      * drop template_software_instance
      * drop template_member
      * fixup rebase
      * drop ComputeNode_getSecurityCategoryFromValidationState
      * test: Assignment local roles
      * test Sale Supply local roles
      * test project local roles
      * nobody have to access Hosting Subscription for now
      * test Sale Packing List local roles
      * give read access to Open Order to sale/accountant people
      * test Sale Trade Condition local roles
      * update Subscription Request local roles
      * test Organisation local roles
      * drop Product local roles
        Unused for now
      * drop Campaign local roles
        Unused
      * fix Business Process local roles
        Accounting people can view the business process
      * fixup Bank Account local roles
      * test Instance/Remote Nodes local roles
      * fixup Service local roles
      * test Person local roles
      * test Login local roles
      * test PDF and Document Module local roles
      * test Query local roles
      * test Notification Message local roles
      * drop Incident Response roles
        Will be done later, as not critical.
      * test Credential Update Module local roles
      * test Access Token local roles
      * test Document Ingestion Module local roles
      * test Cash Register local roles
      * Contract Invitation Token does not seem to be used
      * drop Invitation Token Module local roles
      * drop User Consumption HTML File local roles
        Seems not used
      * drop Computer Consumption TioXML File local roles
      * only provide Author access to computer on Consumption Document Module
      * test Integration Site/Tool local roles
      * test: G-COMPAGNY group was dropped
      * test: skip coding style for some scripts
      * test: not existing script
      * test: skip some coding style
      * test: check that destroying a remote instance also destroy propagated instance
      * fixup rebase
      * test: do not check Customer BT5 Configurator Item consistency
      * test: skip more portal types
      * add manifest for the panel website
      * no idea why Hal was used in the manifest tests
      * discussion gadget in service worker
      * not needed js
      * test: many bt5 dependencies have been removed
      * this script is kept for configurator compatibility
      * test: fixup
      * XXX test: disable check consistency
      * test: do not check global consistency and mailhost
      * coding style
      * fixup rebase
      * drop organisation_security_uid
      * set local_roles_group
      * test: 2 roles are expected to be without group
      * production manager can create upgrade decision
      * add new gadget in panel
      * no need to give access to Regularisartion Request to production manager
      * update exported currency local roles
      * no need to be assignor on a module
      * fixup ticket/event local roles
        Sale must have some access on module
      * fixup shadow user permission on payment transaction
      * change module id generator
        Base the id prefix on node id, to prevent conflict when generating many activities
      * do not crash if a module does not have the business_application category
      * test: rss installed
      * test: stabilize discount/invoice period
      * drop not required bt5 dependencies
      * test: 1 event is created on the subscription request until invoice is lettered
      * test: WIP: professional account scenario
      * user is set on the destination of the Sale Order and Sale Invoice
      * person is set on the Payment's destination
      * keep Payzen/Wechat conf as previously
      * update interaction for local roles
      * test: create 2 Trade Model Line for empty and full vat
      * test: set the seller region
      * test: define the region.vat code on the customer organisation
      5df509ec
    • Romain Courteaud's avatar
      slapos_rss_style: · 19949fbf
      Romain Courteaud authored
      * drop template_software_installation
      * drop template_instance_tree
      * drop template_member
      * test: fixup
      * test: drop updateLocalRolesOnSecurityGroups calls
      * test: drop usage of organisation_module.slapos
      * stop using dropped related keys
      * test: use dedicated scripts to create Ticket/Event
      * test: Event_getRSSTextContent does not exist
      * drop immediateReindexObject
      * fix context_related parameter usage
      19949fbf
    • Romain Courteaud's avatar
      slapos_crm: · c1f6806d
      Romain Courteaud authored
      * source_administration is not used anymore on Compute Node
      * add virtual master contraint to tickets and events portal types
      * propagate project from Regularisation Request to event
      * delivery/movement must use source_project instead of follow_up
      * set source_project on event
      * stop setting person as source_project
      * copy project from ticket to the new event
      * utf-8 encoding issue
      * XXX disable regularisation request alarm
      * Regularisation Request Module acquires local roles
        See other modules
      * drop upgrade_scope
        Upgrade is managed by Allocation Supply.
      * drip upgrade_scope usage
      * drop Upgrade Decision Line usage
      * lint test
      * fix slapos_crm_check_software_installation_state alarm test
      * fixup slapos_crm_check_compute_node_state tests
      * fixup slapos_crm_check_instance_in_error test
      * fixup slapos_crm_update_support_request_state tests
      * fixup slapos_crm_send_pending_ticket_reminder test
      * fixup slapos_crm_trigger_stop_reminder_escalation tests
      * fixup slapos_crm_trigger_stop_acknowledgment_escalation test
      * fixup slapos_crm_trigger_delete_reminder_escalation test
      * fix slapos_crm_trigger_acknowledgment_escalation test
      * fix slapos_crm_stop_instance_tree test
      * fix slapos_crm_invalidate_suspended_regularisation_request test
      * fix slapos_crm_delete_instance_tree test
      * fix slapos_crm_create_regularisation_request test
      * drop slapos_crm_check_update_allocation_scope tests
      * do not require source_project on crm
      * fixup rebase: drop Instance Tree Module | slapos_resilience_usage_report
      * drop preferred_support_request_template_property
      * drop slapos_crm_support_request_template
      * fixup slapos_crm_create_regularisation_request tests
      * reactivate slapos_crm_create_regularisation_request
      * test slapos_crm_invalidate_suspended_regularisation_request is ok
      * test slapos_crm_check_software_installation_state
      * test slapos_crm_check_instance_in_error
      * test slapos_crm_update_support_request_state
      * desactivate Person_getSubscriptionRequestFirstUnpaidInvoiceList
      * drop Person_getSubscriptionRequestFirstUnpaidInvoiceList
      * do not count all Support Requests
        limit parameter with count is meaningless, as count return 1 result
      * update Base_getSupportRequestInProgress usage
      * XXX disable ticket.notify and ticket.requestEvent
      * wip script to create Support Request and Event
      * search a matching Trade Condition to generate a Support Request
      * update ComputeNode_checkState to use new scripts
      * test ComputeNode_checkSoftwareInstallationState
      * deliver outgoing events
      * test InstanceTree_checkSoftwareInstanceState
      * Project_createSupportRequestWithCausality already checks if Support Request exists
      * no need to check twice the object portal type
      * test SupportRequest_updateMonitoringState
      * activate one more alarm
      * revert  Send Mail on pending tickets
        nexedi/slapos.core!417
        Virtual Master's manager are responsible to handle the tickets through their worklist.
        Not user.
        Virtual Master's manager can send email from the Ticket to directly ping a user.
      * drop ticket_slap_interface_workflow
      * test ComputeNode_hasContactedRecently
        Do not check if there is a packing list. It is unrelated to the contact.
      * Base_getOpenRelatedTicketList was dropped
      * ComputeNode_checkAndUpdateAllocationScope was dropped
      * test: simplify
      * set comment in the event workflow history
      * send Mail Message
      * unify event creation
        Reuse Ticket_createProjectEvent
      * do not pass a empty list of node_uid
      * no need to manually handle the notification message
      * create the Regularisation Request from a Trade Condition instead of a template
      * use notification message title instead of the ticket title
      * use Entity_hasOutstandingAmount
        Entity_getOutstandingAmount is meaningless in case of multiple source_section and multiple currencies.
        Entity_hasOutstandingAmount will only report True or False.
      * test RegularisationRequest_invalidateIfPersonBalanceIsOk
      * test RegularisationRequest_checkToTriggerNextEscalationStep
      * test RegularisationRequest_triggerStopReminderEscalation
      * test RegularisationRequest_triggerStopAcknowledgmentEscalation
      * test RegularisationRequest_triggerDeleteReminderEscalation
      * test RegularisationRequest_stopInstanceTreeList
      * test RegularisationRequest_deleteInstanceTreeList
      * fixup RegularisationRequest_checkToSendUniqEvent tests
      * fixup RegularisationRequest_checkToTriggerNextEscalationStep tests
      * fixup InstanceTree_stopFromRegularisationRequest tests
      * fixup InstanceTree_deleteFromRegularisationRequest tests
      * drop slapos_crm_regularisation_request_template
      * drop slapos_crm_web_message_template
      * drop preferred_web_message_template_property
      * drop slapos_ticket_trade_condition
      * drop update_destination_for_slapos
      * drop allocation_tester
      * drop template_software_installation
      * drop template_instance_tree
      * drop template_member
      * test: fixup person title
      * test: fixup: ensure tickets can be created
      * test: fixup creation of instance tree
      * test: fixup instance tree creation
      * test: ComputeNode_getTicketRelatedList was dropped
      * test: rss feed will be used by virtual manager production
      * test: ticket.approveRegistration was dropped
      * ExactMatch
      * drop preferred_cloud_contract_enabled_property
      * only submit the newlu created Support Request
        end user can not validate their submitted ticket
      * drop jump_related_slapos_item
      * drop outdated SlapOSSupportRequestConstraint
      * submit created event
        This allow to separate new ticket from the one currently handled
      * constraint was dropped
      * test: create test ticket in submitted state
      * support request are created in submitted state
      * drop open/personal allocation_scope
      * only check automated Outstanding Invoices
      * invalidate Regularisation Request as soon as payment is done
      * create the regularisation request as soon as possible
      * use _baseSetGroupingReference for interaction
      * test: disable interaction
      * test: use PinnedDateTime context
      * delete instance, compute node, project if regularisation request reach the end
      * test: add crm scenario showing services are destroyed
      * trigger Project invalidation as soon as Nodes and Instances are invalidated
      * trigger not paid item deletion as fast as possible
      * test: reduce number of alarm triggered
      * do not stop but delete directly
        Services were already in degraded mode due to allocation/propagation being forbidden
      * test: only payable services are destroyed by the subscription request
      c1f6806d
    • Romain Courteaud's avatar
      slapos_subscription_request: · a7877fd5
      Romain Courteaud authored
      * drop not needed condition
      * factorize some code
      * test: always create open order before trying to allocate
      * define subscription prices on Sale Trade Condition
        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.
      * use explicit id to improve understanding of all paths
        Clarify trade condition title
      * add new trade condition versions
        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.
      * rename couscous trade condition
      * change subscription price. Do not defined it as ttc
        Try to understand why price is not always copied
      * trigger compute node open order creation
      * 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
      * DROP slapos_sbuscription_request
        Only for lazy me to simplify grep usage
      * Subscription Request is a ticket like Credential Request
      * restore subscription_request_workflow as ticket_workflow
      * Subscription Request is not linked to a project
      * add Subscription Request Constraint
      * new constraint on Subscription Request
      * add testSlapOSERP5VirtualMasterSubscriptionRequestScenario
      * drop outdated subscription scenarios
      * WIP selling project subscription
      * forbid Subscription Request which could generate Invoice with a 0 price
      * do not allow empty quantity on Subscription Request
      * WIP selling virtual master to customer
      * improve test Trade Condition
      * disable existing Subscription Request alarm
      * create Subscription Request from orphaned Instance Tree
      * create Open Sale Order from Subscription Request
      * drop slapos_subscription_request_process_planned
      * drop slapos_subscription_request_process_draft
      * drop slapos_subscription_request_process_ordered
      * drop slapos_subscription_request_process_confirmed
      * drop slapos_subscription_request_process_started
      * drop slapos_subscription_request_process_stopped
      * drop Alarm_processStoppedSubscriptionRequest
      * test slapos_subscription_request_create_from_orphaned_item
      * add assert when creating Open Order
      * alarm to validate submitted Subscription Request
      * create Subscription Requuest manually from a resource
      * create Subscription Request for Compute Node
      * trigger validation as soon as a Subscription Request is submitted
      * decrease slapos_subscription_request_validate_submitted alarm periodicity
      * create Subscription Request as soon as a Compute Node is validated
      * create Subscription Request as soon as Instance Tree is validated
      * use different trade condition for instance and node
      * do not generate Subscription for Organisation
        This work must be done later
      * constraint: no Organisation as source_section
      * constraint: fixup empty price check
      * constraint: destination_section is not required
        for accounting less subscription
      * stop creating project from subscription request
        It is too complex (as it requires to create Trade Condition, Assignment, Project, etc...), and I don't know for now how to make something generic from it.
        Use a custom action for now.
      * test that Subscription Request is created from Compute Node
      * drop SubscriptionRequest_processStopped
      * drop SubscriptionRequest_processStarted
      * drop SubscriptionRequest_processOrdered
      * drop SubscriptionRequest_processConfirmed
      * drop SubscriptionRequest_processRequest
      * drop SubscriptionCondition_renderKVMClusterParameter
      * drop Base_instanceXmlToDict
      * drop SubscriptionCondition_renderParameter
      * drop testSlapOSERP5VirtualMasterSubscriptionRequestScenario
      * ensure Subscription Request is consistent
      * allow to choose the currency when creating a Subscription Request
      * try to close the Subscription Request as soon as user paid an invoice
      * block subscription process if there is no deposit
      * do not accept new services if the virtual master subscription state is not expected
      * use Base_reindexAndSenseAlarm
      * do not set the stop_date on the open order
      * generate a discount on the first invoice
        If the open order does not start the same day, do not ask user to pay for those missing days
      * no need to call OpenSaleOrder_updatePeriod when creating the open order
      * drop accounting_list action
        This action hardcodes rapidspace organisation, and has a different logic from the new implementation
      * drop unused scripts
      * use the same hosting subscription periodicity per user
        Ensure all invoices for one user will be created at the same date.
        Ensure all users do not use the same periodicity, to NOT generated all system invoices on the same date.
      * do not encode url parameter in tales
      * allow to check if creating a subscription request is possible
      * update subscription history ifvalidation is rejected
      * do not generate discount if the price is 0
      * set trade_condition_type on temporary Sale Order
      * do not set the software release as variation on the Open Order
      * update xml format
      * assert trade_condition_type are the same
      * update Subscription Request view
      * configure the Subscription Request like a Support Request.
        Customer as destination_decision
      * update constraint as categories were inversed on subscription request
      * fixup variable name
      * Subscription Request categories were inverted
      * invert source_project/destination_project
      * source/destination have been inverted
      * provice Associate worklist for submitted Subscription Request
      * drop Subscription Condition
      * drop ecommerce_dependency
      * drop Subscription Condition
      * drop unused SubscriptionRequest_verifyReservationPaymentTransaction
      * drop SubscriptionRequest_verifyPaymentBalanceIsReady
      * test: SubscriptionRequest_verifyInstanceIsAllocated was dropped
      * display Subscription Request's events
      * create an Event when the Subscription Request can not be validated
      * drop slapos_update_subscription_request_consistency_state alarm
      * drop slapos_subscription_request_process_ alarms
      * test slapos_subscription_request_validate_submitted
      * use souce_project to find the trade condition
        no need to trick source/destination project anymore, as trade_condition_type is used
      * reduce the precision of the discount price
        The idea is to reduce the risk of bad precision when building the related accounting transactions
      * drop unused scripts
      * drop proxy role
      * drop accounting_module/slapos_pre_payment_template
      * drop slapos_wechat_pre_payment_template
      * drop template_wechat_pre_payment_subscription_sale_invoice_transaction
      * drop template_pre_payment_subscription_sale_invoice_transaction
      * only try to create subscription request from validated instance/compute node
      * reduce frenquency of the subscription request creation alarm
      * test: validate items
      * only check automated ledger
      * reduce conflict on modules
      * allow to provide a default price while creating subscription request
      * fix getPrice usage
      * wait for the request indexaction before launching again the alarm
      * put the item reference in the open order title
      * set open order title
      * improve columns on subscription list
      * ensure no price is found if no accounting is expected
      * nearly revert ensure no price is found if no accounting is expected
        Do not care of Sale Supply price.
        But keep default_price if provided during the migration
      * skip looking for Sale Supply if not needed
      * provide more information in the log
      * check deposit as soon as total price is not empty
      * do not search trade condition by destination_section
      * do not gather deposit receivable to calculate the payable amount
      * trigger Subscription validation when an Open Order is validated
      * do not check deposit reimburse
      * allow Subscription to be paid by an Organisation
      * calculate open order start date from the destination section
      * calculate the vat rate of the open order lines
      * try to stop process as fast as possible if something seems wrong
      * add more constraint on Subscription Request
      a7877fd5
    • Romain Courteaud's avatar
      slapos_wechat: · 6e2fb8f4
      Romain Courteaud authored
      * drop not needed wechat_sale_trade_condition
      * new id generator per node is used
      * payment transaction ID is used as mapping
      6e2fb8f4
    • Romain Courteaud's avatar
      slapos_payzen: · c02f97f5
      Romain Courteaud authored
      * validate slapos_manual_accounting_trade_condition
      * propagate ledger from order builder
      * add ledger to the accounting template
      * aggregate source_project on payment
      * stop building payment transaction automatically
      * drop template_sale_invoice_transaction
        it is only used in one place. Let's create it manually
      * try to reduce cast error
      * reduce the alarm frequency
      * check the payment when it is updated
      * drop not needed payzen_sale_trade_condition
      * new id generator per node is used
      * test: make the html differences more visible
      c02f97f5
    • Romain Courteaud's avatar
      slapos_accounting: · 83968690
      Romain Courteaud authored
      * test: always create open order before trying to allocate
      * define subscription prices on Sale Trade Condition
        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.
      * use explicit id to improve understanding of all paths
        Clarify trade condition title
      * use the trade condition reference instead of the id
        sale trade condition are versionned.
      * no need to rely on the catalog to validate the trade condition
      * factorise code
      * add new trade condition versions
      * 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.
      * rename couscous trade condition
      * remove zh templates
      * change subscription price. Do not defined it as ttc
        Try to understand why price is not always copied
      * restore original price
      * 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
      * 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
      * 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
      * propagate ledger from order builder
      * add ledger to the accounting template
      * aggregate source_project on payment
      * drop template_sale_invoice_transaction
        it is only used in one place. Let's create it manually
      * 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
      * stop using fixConsistency to set hosting subscription periodicity
        Set it directly from the script which create it
      * reduce alarm frequency
      * constraint: be consistent if invoice has no source payment
      * check more usable invoices
      * do not forget to retry building the simulation movement
      * test invoice generation and aggregation
      * test: fixup trade condition retrieval
      * try to reduce conflicts when building the deliveries
        No need to trigger multiple build for the same group of movements
      * drop not needed serialize
      * fix open order simu tests
      * test fix TestDefaultTradeModelRule
      * test: fix one test
      * test: fix builder tests
      * drop unused AccountingTransactionModule_getUnpaidInvoiceList
      * only check Invoice amount
      * use default parameters
      * do not hardcode any reversal trick
        Invoice must be correctly grouped.
      * Entity_getOutstandingAmountList parameters default value changed
      * use SaleInvoiceTransaction_isLettered script
      * show Cancelled status on reversed Invoices
      * do not check reversal transaction to display state
        it is impossible to understand
      * do not check payment_mode when creating reversal invoice
      * only show the reversal action to accountant
      * drop not needed SaleInvoiceTransaction_resetPaymentMode
      * test: use PinnedDateTime from mixin
      * archive Compute Node, Project open order and hosting subscription
      * archive Open Order as soon as Item is invalidated
      * test: checking float equality is not absolute
      * allow destination_section to be an Organisation
      * fixup deposit account configuration
      * test: set the destination on the Payment Transaction
      * add deposit debit business path
      * generate tax accounting movement only if the total price is not 0
      * product can have different trade model line applying
      * try to limit errors in the simulation with checkConsistency
      * check that taxable base_contribution is correctly set on Movement
      * ensure the source_section has a region set
      * script to calculate the vat rate of every line of a sale delivery
      * do not check VAT calculation if no accounting is generated
      * add more constraint on the delivery destination section
      * VAT calculation
      83968690
    • Romain Courteaud's avatar
      slapos_pdm: support for the virtual master logic · 7134546e
      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
      7134546e
    • Romain Courteaud's avatar
      slapos_slap_tool: support for the virtual master logic · e1f74ff5
      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
      e1f74ff5
    • Romain Courteaud's avatar
      slapos_cloud: add virtual master concept · e5f82c58
      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
      e5f82c58
    • Romain Courteaud's avatar
      slapos_category: · a5689b47
      Romain Courteaud authored
      * add new business application categories
      * export edger category
      * automated ledger is not only for accounting
      * drop allocation_scope/open categories
        All compute nodes are public now
      * add use/trade/deposit category
      * do not use the same title for 2 categories
      * Add trade condition type categories.
        This will be used to automatically select a Trade Condition in slapos_accounting
      * add invoicing taxable vat categories
      a5689b47
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_mysql_innodb_catalog: · 8d9642c7
      Romain Courteaud authored
      * drop default_or_child_aggregate_reference
      * drop  default_or_child_aggregate_uid catalog key
      * drop unused follow_up_default_or_child_aggregate_uid
      * drop causality_subscription_request_related_uid related key
      8d9642c7
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_mysql_innodb_catalog: configure title column as a keyword key · f59f369c
      Romain Courteaud authored
      This make usage of the relationfield nicer.
      f59f369c
    • Romain Courteaud's avatar
      1e6b3694
  2. 25 Mar, 2024 1 commit
    • Rafael Monnerat's avatar
      slapos_cloud: Split edit in 2 · acff4533
      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.
      acff4533
  3. 23 Mar, 2024 1 commit
  4. 22 Mar, 2024 6 commits
  5. 19 Mar, 2024 7 commits