1. 26 Jan, 2024 40 commits
    • Romain Courteaud's avatar
      slapos_upgrader: · 7d45837e
      Romain Courteaud authored
      * WIP migration scripts
      * migrate compute node
      * do not skip some migration
      * migrate more properties on compute node
      * migrate software installation
      * migrate compute already linked to a project
      * trigger instance tree migration
      * migrate more instance trees
      * migrate Instance Tree, Software/Slave Instance
      * migrate instance tree
      * do not create not needed activities
      * migrate instance tree linked to an existing project
      * migrate existing subscription requests/projects
      * allow to run the migration multiple time
      * move an instance to the same virtual master than his main compute node
      * if all instances are linked to the same project, move the computer to that project
      * migrate computer network
      * move to personal if no instance allocated
      * partially destroyed instanc ewill move to personal
        Unallocated instance will use remote note
      * force migration to remaining compute nodes
      * break network link if not consistent
      * create Remote Node and Remote Instances
      * reduce concurrency on instance tree creation
      * try to reduce conflict
      * some sla xml seems broken
      * instances do not always have a predecessor
      * it seems activity is also triggered on already migrated instance
      * some instances were manually invalidated...
      * do not go too slowly
      * generate a graph showing the virtual master relation
      * another report
      * prepare migrating Instance Tree to a remote node
      * change report output
      * fixup instance virtual master migration
        do not forget to also move the successor to the new virtual master
      * do not fail if already migrated
      * create Software Product (and its variations)
      * create Instance Node
      * create allocation supplies
      7d45837e
    • Romain Courteaud's avatar
      slapos_erp5: · 583da470
      Romain Courteaud authored
      * 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
      583da470
    • Romain Courteaud's avatar
      slapos_jio_before_deletion: · 5af2ee3d
      Romain Courteaud authored
      * 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
      5af2ee3d
    • Romain Courteaud's avatar
      slapos_panel: · 506447a6
      Romain Courteaud authored
      * 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
      506447a6
    • Romain Courteaud's avatar
      slapos_mysql_innodb_catalog: · bd15789a
      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
      bd15789a
    • Romain Courteaud's avatar
      slapos_subscription_request: · d30de8c3
      Romain Courteaud authored
      * 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
      d30de8c3
    • Romain Courteaud's avatar
      slapos_accounting: · 2f414c7f
      Romain Courteaud authored
      * 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
      2f414c7f
    • Romain Courteaud's avatar
      slapos_rss_style: · 9eba923a
      Romain Courteaud authored
      * drop template_software_installation
      * drop template_instance_tree
      * drop template_member
      9eba923a
    • Romain Courteaud's avatar
      slapos_pdm: · a9a36b73
      Romain Courteaud authored
      * update xml format
      * optional_variation_base_category_list are not set in variation_base_category_list
      * force software change from Upgrade Decision
      * drop template_instance_tree
      * allow to force upgrade to a specific release
      * rely on self instead of one a global
      * drop view_related_upgrade_decision on Compute Node
        Deprecated for a long time
      a9a36b73
    • Romain Courteaud's avatar
      9b30c305
    • Romain Courteaud's avatar
      9b28b27d
    • Romain Courteaud's avatar
      slapos_jio: · 8f2e9e5e
      Romain Courteaud authored
      * fixup rebase
      * drop files moved to portal_skins
      8f2e9e5e
    • Romain Courteaud's avatar
      slapos_accounting: · 83ff9883
      Romain Courteaud authored
      * 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
      83ff9883
    • Romain Courteaud's avatar
      slapos_crm: · cc8ae8bf
      Romain Courteaud authored
      * 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
      cc8ae8bf
    • Romain Courteaud's avatar
      slapos_cloud: · d9981cfd
      Romain Courteaud authored
      * drop support request template preference
      * drop my_preferred_support_request_template
      * stop using getPreferredSupportRequestTemplate
      * drop Subscription Condition usage
      * break Base_getSupportRequestInProgress
        Use causality category instead of aggregate, to link the Ticket to the context document (instance, node, ...).
        Aggregate must be used to define the item of the movement resource.
        Break the parameters and use the context to define the causality value.
      * use causality to link the  Ticket to the context document
      * XXX disable person.notify & person.requestSupport
        I don't get why there are 2 transitions for now.
      * drop ComputerNetwork_viewComputeNodeList
      * drop notify and requestSupport transitions
        They have been replaced by python script and alarms
      * test: person.notify has been dropped
      * drop slapos_crm_regularisation_request_template
      * Do not allow user to change the release/type/shared status
      * no need to use a tag if context is not reindexed
      * allow to force software change
      * speed up Base_reindexAndSenseAlarm execution
      * drop my_preferred_default_pre_payment_template
      * drop default_pre_payment_subscription_invoice_template
      * drop getPreferredAggregatedSubscriptionSaleTradeCondition
      * test: drop unused functions
      * drop preferred_aggregated_sale_trade_condition
      * drop preferred_aggregated_sale_trade_condition
      * test: drop reference to slapos_aggregated_trade_condition_v3
      * test: drop test from dropped interaction
      * test: role is not required on a Person
      * test: do not invalidate instance to not unlink
      * test: create Trade Condition when Project is accountable
      * drop slapos_crm_web_message_template
      * drop my_preferred_web_message_template
      * drop template_pre_payment_subscription_sale_invoice_transaction
      * drop preferred_default_pre_payment_subscription_invoice_template
      * drop slapos_accounting_instance_delivery_line_template
      * drop slapos_aggregated_consumption_trade_condition
      * drop preferred_aggregated_consumption_sale_trade_condition
      * drop unused template
      * drop template_computer_model
      * drop template_hosting_subscription
      * drop template_software_installation
      * drop template_compute_node
      * drop template_instance_tree
      * drop template_software_instance
      * drop template_member
      * drop drop template_software_instance
      * drop template_software_instance
      * drop template_software_instance
      * add afterClone scripts
      * test: check remote node parameters propagation
      * try to create an upgrade decision for a remote instance
      * test: add checkRemoteInstanceUnallocation method
      * XXX stop invalidating Slave Instance
        TODO: Instance on Remote Node must propagate their destruction, before being invalidated
      * instance must be invalidated before unallocating it
      * drop not needed script
      * invalidate Slave Instance allocation on a Compute Node
      * trigger invalidation as soon as an Instance is destroyed
      * alarm must visit allocated Slave Instance to invalidate them
      * report software url of the linked instance, even if it is in destroyed_state / invalidated
      * test: slave are not directly invalidated as soon as it is destroyed
      * propagate remote node destruction
      * do not crash if no instance is found
      * ExactMatch
      * drop comments
      * keep compatibility with project_guid sla
      * allow to propagate a single instance
      * add subordination category on Remote Node
      * try to wait for previous alarms to finish before triggering a new one
      * priority 3
      * do not call activeSense concurrently
      * prevent activeSense to be called concurrently
      * reduce number of activities
      * do not loop
      * drop preferred_cloud_contract_enabled
      * stop using hateoas web site
      * change the skin selection to register
      * test: create needed bank account
      d9981cfd
    • Romain Courteaud's avatar
      slapos_configurator: do not prevent slapos_category to be updated · f457faaf
      Romain Courteaud authored
      otherwise, new categories are not installed
      f457faaf
    • Romain Courteaud's avatar
      slapos_panel_ui_test: · d8522ba8
      Romain Courteaud authored
      * test: assignments are automatically created when adding a virtual master
      d8522ba8
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_erp5: · c254df44
      Romain Courteaud authored
      * 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
      c254df44
    • Romain Courteaud's avatar
      slapos_subscription_request: · 8c5b9194
      Romain Courteaud authored
      * assert trade_condition_type are the same
      * update Subscription Request view
      8c5b9194
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_erp5: · ac36e283
      Romain Courteaud authored
      * test: slapos_panel_compatibility was added
      * test: create Trade Condition for Deposit
      * test:  slapos_panel_compatibility skin selection
      ac36e283
    • Romain Courteaud's avatar
      0819fdad
    • Romain Courteaud's avatar
      slapos_payzen: update xml format · 4e7a77f6
      Romain Courteaud authored
      4e7a77f6
    • Romain Courteaud's avatar
      slapos_crm: update xml format · 98cf645a
      Romain Courteaud authored
      98cf645a
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_pdm: software_release is an optional variation · cc23fdf2
      Romain Courteaud authored
      We can not update the Open Order every time one Instance is upgraded
      cc23fdf2
    • Romain Courteaud's avatar
      slapos_accounting: · d0f9e509
      Romain Courteaud authored
      * search Sale Trade Condition by trade_condition_type
      * set trade_condition_type on temporary Sale Order
      d0f9e509
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_panel: · 664dcd3a
      Romain Courteaud authored
      * readd translation bt5 dependencies
      * configure trade_condition_type on the Sale Trade Condition
      664dcd3a
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_category: Add trade condition type categories. · eba57d22
      Romain Courteaud authored
      This will be used to automatically select a Trade Condition in slapos_accounting
      eba57d22
    • Romain Courteaud's avatar
      slapos_jio_before_deletion: · 958c5305
      Romain Courteaud authored
      * dependencies
      958c5305
    • Romain Courteaud's avatar
      slapos_jio: · de100658
      Romain Courteaud authored
      * 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
      de100658
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      slapos_panel: · 526cc755
      Romain Courteaud authored
      * 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)
      526cc755