Auction issueshttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues2020-06-26T11:01:46+03:00https://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/58Endpoint to show history diff2020-06-26T11:01:46+03:00Dmytro HalinovskyiEndpoint to show history diffv3.x.xVitalii FisenkoVitalii Fisenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/65Investigate two-factor authorization2020-10-02T12:46:22+03:00Dmytro HalinovskyiInvestigate two-factor authorizationv3.x.xhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/114Навантажувальне тестування для датарум2020-10-15T22:22:23+03:00Olga KochubynskaНавантажувальне тестування для датарумпровести навантажувального тестування та надати результати для майданчиківпровести навантажувального тестування та надати результати для майданчиківv3.x.xhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/195Integrate with Sphinx2021-06-03T13:15:01+03:00dmitry.mashoshinIntegrate with SphinxAdd Sphinx integration to create project level documentation. Integrate with ci and gilab pagesAdd Sphinx integration to create project level documentation. Integrate with ci and gilab pageshttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/185Investigate websocket session expiration2021-06-16T20:46:14+03:00dmitry.mashoshinInvestigate websocket session expirationhttps://prozorrosale.slack.com/archives/GKPLJBYG3/p1615286591101800
check if heartbeat may fix this issuehttps://prozorrosale.slack.com/archives/GKPLJBYG3/p1615286591101800
check if heartbeat may fix this issuev3.x.xdmitry.mashoshindmitry.mashoshinhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/182Duplicate code refactoring2021-07-04T13:36:56+03:00Olga KochubynskaDuplicate code refactoringv3.x.xhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/201Validation bid status is_valid2021-07-04T13:40:23+03:00Pavel KuzmenkoValidation bid status is_validДобавить в bid статус отображающий его состояние валидности.
bid.amount >= self._auction.valueAmount + self._auction.minimalStepAmountДобавить в bid статус отображающий его состояние валидности.
bid.amount >= self._auction.valueAmount + self._auction.minimalStepAmountv3.x.xhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/194Додати фильтрацію для сторінки з переліком аукціонів2021-07-20T23:11:04+03:00Olga KochubynskaДодати фильтрацію для сторінки з переліком аукціонівтипа аукціону - sellingMethod
дата початку аукціону - auctionPeriod.startDate
https://auction.prozorro.sale/
https://auction-dev.prozori.in.ua/
![image](/uploads/1b7caa2c1e074b76211b299ecd5c5fd5/image.png)
Фільтри:
Тип процедури
Ти...типа аукціону - sellingMethod
дата початку аукціону - auctionPeriod.startDate
https://auction.prozorro.sale/
https://auction-dev.prozori.in.ua/
![image](/uploads/1b7caa2c1e074b76211b299ecd5c5fd5/image.png)
Фільтри:
Тип процедури
Тип аукціону
Дата початку аукціону
Початкова ціна
Сортування:
Дата початку аукціону
Початкова ціна
Також опціональна (не обов'язкова) реалізація фільтрів, у випадку якщо їх реалізація не буде складною:
Регіон
Організаторv3.x.xhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/205Integrate with pipenv2021-08-16T12:53:05+03:00dmitry.mashoshinIntegrate with pipenvintegrate project with to use lock requirements https://github.com/pypa/pipenv
* update dockerfile with usage of pipenv
* split requirements to dev(with test packages) and prod
* during tests install with `--dev`
* prod stage inst...integrate project with to use lock requirements https://github.com/pypa/pipenv
* update dockerfile with usage of pipenv
* split requirements to dev(with test packages) and prod
* during tests install with `--dev`
* prod stage install with `pipenv sync`https://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/200Реалізація дій з МА різними учасниками в межах одного аукціону, в одному брау...2021-12-23T13:26:42+02:00Olga KochubynskaРеалізація дій з МА різними учасниками в межах одного аукціону, в одному браузері3 вариант: генерировать имя cookie `auth_token-{auction_id}-{random_uid}` во время авторизации и редиректить на `/api/auctions/{auction_id}?uid={random_uid}`. На основе `random_uid` брать нужные кукисы, которые и использовать для ставок
...3 вариант: генерировать имя cookie `auth_token-{auction_id}-{random_uid}` во время авторизации и редиректить на `/api/auctions/{auction_id}?uid={random_uid}`. На основе `random_uid` брать нужные кукисы, которые и использовать для ставок
вариант требует изменение в auth (`/api/auth/auction`), а также в методе поиска нужного кукисаv3.x.xdmitry.mashoshindmitry.mashoshinhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/171Add more metrics to normalize alarms on timer ticks2022-09-14T13:47:56+03:00o.dmitrievAdd more metrics to normalize alarms on timer ticksСейчас tick latency вычисляется как:
`rate(chronograph_timer_latency_sum{app_kubernetes_io_instance=~"$namespace"}[1m]) / rate(chronograph_timer_latency_count{app_kubernetes_io_instance=~"$namespace"}[1m])`
что приводит к некорректным р...Сейчас tick latency вычисляется как:
`rate(chronograph_timer_latency_sum{app_kubernetes_io_instance=~"$namespace"}[1m]) / rate(chronograph_timer_latency_count{app_kubernetes_io_instance=~"$namespace"}[1m])`
что приводит к некорректным результатам т.к. обычно rate от chronograph_timer_latency_count на 1m меньше 1 (меньше 60 таймеров в минуту, если я правильно понимаю какую логику отдают метрики)
Нужно исправить, или скорее добавить метрики на основе которых можно сделать правильный рассчёт задержки.dmitry.mashoshindmitry.mashoshinhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/233Security data leak2022-10-20T16:13:43+03:00Pavel KuzmenkoSecurity data leakУтечка информации об участниках и проходящем аукционе позволяющая косвенными способами определить количество участников и ...
Типы аукционов и кейсы определения:
- Бесконечный аукцион
- Приоритетный
- Англичанин
- ГоландецУтечка информации об участниках и проходящем аукционе позволяющая косвенными способами определить количество участников и ...
Типы аукционов и кейсы определения:
- Бесконечный аукцион
- Приоритетный
- Англичанин
- Голандецv3.x.x-frontPavel KuzmenkoPavel Kuzmenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/226Безкінечний аукціон: додати 2-й раунд2023-01-12T14:45:39+02:00Olga KochubynskaБезкінечний аукціон: додати 2-й раунд* Базовий варіант працює як зараз. Перше місце визначається тільки на ньому
* В момент завершення аукціону (коли ніхто за 3 хв не зробив ставку), якщо дельта ставки переможця зі ставкою останнього раунду менша/рівна ніж один крок - 2-й р...* Базовий варіант працює як зараз. Перше місце визначається тільки на ньому
* В момент завершення аукціону (коли ніхто за 3 хв не зробив ставку), якщо дельта ставки переможця зі ставкою останнього раунду менша/рівна ніж один крок - 2-й раунд не починається, аукціон завершується.
* Якщо дельта більше чим 1 крок - починається 2й раунд.
* Концептуально логіка 2-го раунду як в голландському аукціоні 10 хв (закриті цінові пропозиції)
Логіка раунду
* закриті цінові пропозиції (ніхто не бачить, скільки учасників і які їх ставки)
* 10 хв на дію
* у всіх учасників крім переможця першого раунду є можливість позмагатись за 2е місце і запропонувати ставку у діапазоні \[попередня ставка учасника\\стартова ціна (якщо учасник не встиг зробити ставку):ставка першого місця\]
Розяснення: Якщо зривів нема і всі торгуються у нормальному режимі - на другому раунді можуть нічого не робити. Але якщо був зрив, у нормального учасника з'являється шанс на 2ге місце і отримання активу після того, як 1ше місце дискваліфікують за зривv3.x.x-frontPavel KuzmenkoPavel Kuzmenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/196Реалізація можливості виконання дій з МА різними учасниками в межах одного ау...2023-03-22T16:20:55+02:00Kupriyanov OleksandrРеалізація можливості виконання дій з МА різними учасниками в межах одного аукціону, в одному браузері
ЦБД3 - renewables-multiAwards-fast-manual"
Передумови: Аукціон в статусі active_auction (Аукціон).
Steps To Reproduce:
1. Послідовно в модулі аукціону авторизуватися за приватним посиланням трьома користувачами в одному браузері в рі...
ЦБД3 - renewables-multiAwards-fast-manual"
Передумови: Аукціон в статусі active_auction (Аукціон).
Steps To Reproduce:
1. Послідовно в модулі аукціону авторизуватися за приватним посиланням трьома користувачами в одному браузері в різних вкладках
1. Перейти на вкладку першого учасника
1. Дочекатися черги 1-го учасника та спробувати подати ставку
Actual result: Неможливо подати ставку учасником. сповіщення "неможливо завантажити ставку в даному стані"
![image](/uploads/2d476117aab81840678dd64a03ef3b7c/image.png)
Expected result: Реалізація можливості виконання дій з МА різними учасниками в межах одного аукціону, в одному браузері під час черги кожного з нихv3.x.xBogdan SlusarenkoBogdan Slusarenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/235Описать проблему с конкурентностью подачи ставки и возможные ее кейсы решения2023-08-09T12:06:21+03:00Pavel KuzmenkoОписать проблему с конкурентностью подачи ставки и возможные ее кейсы решения## Investigation / Researching Summary
<!--
Please briefly describe what you are researching. /
Пожалуйста, кратко опишите, что исследуем.
-->
процесс обработки ставки занимает \~ 70 милисеккунд (мин 40, макс 90)
процесс состоит из сле...## Investigation / Researching Summary
<!--
Please briefly describe what you are researching. /
Пожалуйста, кратко опишите, что исследуем.
-->
процесс обработки ставки занимает \~ 70 милисеккунд (мин 40, макс 90)
процесс состоит из следующих этапов
1. вычитываются данные из БД
1. производиться обработка
1. записываються данне в БД
если между 1 и 3 этапом произошло изменение данных, то весь процесс обработки прирывается
более подробно проблема описана
https://gitlab.prozorro.sale/prozorro-sale/auction-frontend/-/issues/873
***
### Business problem
<!---
Describe the business problem being investigated /
Описать исследуемую бизнес проблему
--->
в результате прерывания обработки, выводиться сообшение
"Аукціон було змінено. Прохання повторити дію." которое может кофьюзить пользователя
***
### Hypothesis
<!---
Describe hypothetical solutions /
Опишите гипотетические варианты решения
--->
Необходимо описать гипотетические варианты решения
***
### Supporting data
<!---
Write additional information about the problem or solutions (links, etc.) if any. /
Напишите дополнительную информацию о проблеме или решениях (ссылки и др.) если есть.
--->
***
### Expected outcome
<!---
Write the expected result or what the result should include (graphics, metrics, etc.) if any. /
Напишите ожидаемый результат или то, что должен включать в себя результат (графика, показатели и т. д.), если таковые имеются.
--->
<!--
Please select the appropriate label from the following:
~Investigation"
~"High priority"
~"Low priority"
~"NeedEstimate"
-->v3.x.xPavel KuzmenkoPavel Kuzmenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/247Архів ЦБД2. Прогнати аукціони на демо оточенні2023-09-18T12:44:38+03:00Olga KochubynskaАрхів ЦБД2. Прогнати аукціони на демо оточенніhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/243Виправити свагер. Актуалізувати2023-11-16T11:20:32+02:00Pavel KuzmenkoВиправити свагер. Актуалізувати![image](/uploads/3cb7662c43b701a7d8fb19ff2b1f1d2f/image.png)
изза того что свагер читает докстринг который не может разобрать
![image](/uploads/24c276b4164779076dbdff36ef0f9624/image.png)
анотация свагера дожна быть отделена от докс...![image](/uploads/3cb7662c43b701a7d8fb19ff2b1f1d2f/image.png)
изза того что свагер читает докстринг который не может разобрать
![image](/uploads/24c276b4164779076dbdff36ef0f9624/image.png)
анотация свагера дожна быть отделена от докстринга с помошью **---**
например вот так
```
async def ping(request):
"""
Test that application is up. Return "pong" json if operation is successful.
Args:
request (object): Request.
Returns:
aiohttp.web.Response: Response object.
---
description: This end-point allow to test that service is up.
tags:
- Health check
produces:
- text/plain
responses:
"200":
description: successful operation. Return "pong" text
"405":
description: invalid HTTP Method
"""
return web.Response(text="pong")
```
со значением defaults надо разобраться отдельно
![image](/uploads/0d953f8cf157cbd5a528ce77e3bcacff/image.png)Vitalii CherednichenkoVitalii Cherednichenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/257generate_auction_report не коректный импорт csv to xls2024-03-19T12:42:48+02:00Pavel Kuzmenkogenerate_auction_report не коректный импорт csv to xlsесли в репорте, было несколько активных сесий, то ломаеться импорт в иксель из-за запятой
```
4d7b213825b04dd7ac,ТОВАРИСТВО,10.55.30.24 (Chrome),10.09.2023,20:00:01,Автентифікація учасника з айпі 10.55.30.24
4d7b213825b04dd7ac,ТОВАРИСТВО...если в репорте, было несколько активных сесий, то ломаеться импорт в иксель из-за запятой
```
4d7b213825b04dd7ac,ТОВАРИСТВО,10.55.30.24 (Chrome),10.09.2023,20:00:01,Автентифікація учасника з айпі 10.55.30.24
4d7b213825b04dd7ac,ТОВАРИСТВО",10.55.93.175 (Chrome), 10.55.30.24 (Chrome),10.09.2023,22:47:57,Автентифікація учасника з айпі 10.55.30.24
```
заменить разделитель с , на /
```
'active_sessions': "/ ".join([f"{session['ip']} ({session['browser']})" for session in sessions]),
```Vitalii CherednichenkoVitalii Cherednichenko