recursivetree / seat-alliance-industry

Alliance industry marketplace for eve online
MIT License
2 stars 2 forks source link

Consolidate multiple items into a single order #21

Closed eeverett91 closed 5 months ago

eeverett91 commented 1 year ago

Hello, I'd like to submit a feature request to be able to add multiple items to a single order in a nested fashion.

Currently when pasting a fit into the order creation window, it creates a single order for every item in the fit. For example, in the screenshot below one order is created for the ship itself + one order for every module. Duplicate modules aren't consolidated into a single order with a higher quantity, they are also created individually.

https://i.imgur.com/txZkP4a.png

It'd be great to have a single order, say 2x ventures, and have the hulls and all the modules/drones/ammo/etc be nested within that order.

recursivetree commented 1 year ago

Combining duplicate items shouldn't be much of an issue, but multiple items per order is a relatively big change. I agree that it could be useful tho.

recursivetree commented 1 year ago

done, check it out on the dev-staging version. You can install it on docker by adding recursivetree/seat-alliance-industry:dev-staging instead of recursivetree/seat-alliance-industry to your env file.

There is a checkbox that you need to untick so it will be stored as one order.

Please note that this ist still quite experimental.

eeverett91 commented 1 year ago

Wow thanks for the quick turn around!

I'm running on a blade, tried requiring it with the command below but got a version lock error. Should I run with -W?

root@dmz-eveseat-lxc:/var/www/seat# sudo -H -u www-data bash -c 'composer require recursivetree/seat-treelib:dev-staging'
Cannot create cache directory /var/www/.cache/composer/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache. See also cache-read-only config if your filesystem is read-only.
Info from https://repo.packagist.org: #StandWithUkraine
./composer.json has been updated
Running composer update recursivetree/seat-treelib
Loading composer repositories with package information
Cannot create cache directory /var/www/.cache/composer/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache. See also cache-read-only config if your filesystem is read-only.
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires recursivetree/seat-treelib dev-staging, found recursivetree/seat-treelib[dev-master, 1.0.0, ..., 1.1.3] but it does not match the constraint.
  Problem 2
    - recursivetree/seat-info is locked to version 1.6.4 and an update of this package was not requested.
    - recursivetree/seat-info 1.6.4 requires recursivetree/seat-treelib ^1.0.3 -> found recursivetree/seat-treelib[1.0.3, ..., 1.1.3] but it conflicts with your root composer.json require (dev-staging).
  Problem 3
    - recursivetree/seat-transport is locked to version 1.1.0 and an update of this package was not requested.
    - recursivetree/seat-transport 1.1.0 requires recursivetree/seat-treelib ^1.1.2 -> found recursivetree/seat-treelib[1.1.2, 1.1.3] but it conflicts with your root composer.json require (dev-staging).

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.
recursivetree commented 1 year ago

on blade it is a bit different. In my opinion, it is the easiest to edit the composer.json file like this:

...
"require": {
    ...
    "recursivetree/seat-alliance-industry": "dev-staging",
    ...
  },
...

Also, the staging version requires treelib dev-staging(automatically installed over dependencies, but it might cause problems when you have my other plugins installed(version conflicts). You can also temporarily remove and readd them later, the data will persist)

Just to make it clear, I wouldn't recommend doing this on you production server, this is purely a prerelease.

martinskalicky commented 1 year ago

One this is done and in PROD, it might be even easier to connect the plugin with transport plugin which is a feature which we would heavily use.

martinskalicky commented 1 year ago

Also might be worth to mention possible connetion with fitting plugin so u can order WHOLE fit. I think that would be cool too.

recursivetree commented 1 year ago

Also might be worth to mention possible connetion with fitting plugin so u can order WHOLE fit. I think that would be cool too.

This is a good idea, I'll consider it

recursivetree commented 5 months ago

This is implements, so I'm closing this. If features like integrations with seat-transport are still wanted, please open a issue specifically for that.