Auction issueshttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues2024-03-19T12:42:48+02:00https://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 Cherednichenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/248CDB3-5858 Помилка Feed Exception: 'browser'2024-01-26T14:18:50+02:00Pavel KuzmenkoCDB3-5858 Помилка Feed Exception: 'browser'```
[2023-10-03T05:55:11.046Z] | prozorro_sale.auction.ws.ws_handler | ERROR - Feed Exception: 'browser' | X-Request-ID: 28107F000001CFE07F0000010050651BACBF25B74C98E
Traceback (most recent call last):
File "/auction/prozorro_sale/auct...```
[2023-10-03T05:55:11.046Z] | prozorro_sale.auction.ws.ws_handler | ERROR - Feed Exception: 'browser' | X-Request-ID: 28107F000001CFE07F0000010050651BACBF25B74C98E
Traceback (most recent call last):
File "/auction/prozorro_sale/auction/ws/ws_handler.py", line 314, in process_ws
task.result()
File "/auction/prozorro_sale/auction/ws/ws_handler.py", line 237, in feed
await self.auction_feed_watcher(ws)
File "/auction/prozorro_sale/auction/ws/ws_handler.py", line 119, in auction_feed_watcher
await self._create_session()
File "/auction/prozorro_sale/auction/ws/ws_handler.py", line 249, in _create_session
session = get_agent_data(self.request)
File "/auction/prozorro_sale/auction/ws/utils.py", line 20, in get_agent_data
browser = httpagentparser.detect(request.headers.get('User-Agent'))['browser']['name']
KeyError: 'browser'
```
```
haproxy[10256]: 176.108.124.68:48702 [03/Oct/2023:05:54:38.811] HaProxy80 KUBER/ingress-nlb-prod 0/0/2/5/11 101 566 1418 - - ---- 226/133/79/79/0 0/0 28107F000001BE3E7F0000010050651BAC9E32BB74BC9E "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/20G81 [FBAN/FBIOS;FBDV/" "GET /api/auctions/LRE001-UA-20230830-00151/ws HTTP/1.1" "" "auction.prozorro.sale" ""
```v3.87.0Pavel 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/246Архів ЦБД2. Створити схему моделей для аукціону на основі таблиць з мапінгом2024-03-07T10:56:59+02:00Olga KochubynskaАрхів ЦБД2. Створити схему моделей для аукціону на основі таблиць з мапінгомЗробити маппінг для аукціонів
- Створити маппінг аукціонів (2 дні)
- Перевірити чи зможемо використати старі ауки
- Провалідувати данні для аукціонів (2 дні)
- Створити нові моделі (4-5 днів + фронт ???)
- зробити валідацію вихідни...Зробити маппінг для аукціонів
- Створити маппінг аукціонів (2 дні)
- Перевірити чи зможемо використати старі ауки
- Провалідувати данні для аукціонів (2 дні)
- Створити нові моделі (4-5 днів + фронт ???)
- зробити валідацію вихідних данних (1 день)v3.95.0Viacheslav SukhovieievViacheslav Sukhovieievhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/245Прибрати таймзону для користувачів та переробити формат відправки сповіщень.2023-11-15T12:00:21+02:00Bogdan SlusarenkoПрибрати таймзону для користувачів та переробити формат відправки сповіщень.Треба видалити мідлвар для таймзони користувачів. Змінити відправку сповіщень, так щоб відправлявся теймлейт сповіщення з пейлоудом для цього тепліту. Головне перевіряти щоб в цьому пейлоуді не було даних, які є недоступними(приватні) дл...Треба видалити мідлвар для таймзони користувачів. Змінити відправку сповіщень, так щоб відправлявся теймлейт сповіщення з пейлоудом для цього тепліту. Головне перевіряти щоб в цьому пейлоуді не було даних, які є недоступними(приватні) для цього користувача. Треба написати на це тести.v3.87.0Bogdan SlusarenkoBogdan Slusarenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/244Дослідження часу подачі біда2023-10-05T17:01:02+03:00Yuriy BilinskyДослідження часу подачі бідаhttps://auction-dev.prozorro.sale/api/auctions/BSE001-UA-20230825-76001
https://auction-dev.prozorro.sale/BSE001-UA-20230825-76001
Третій раунд завершився - 2023-08-25T11:09:19.907000Z
Ставка (200000) була подана учасником - 202...https://auction-dev.prozorro.sale/api/auctions/BSE001-UA-20230825-76001
https://auction-dev.prozorro.sale/BSE001-UA-20230825-76001
Третій раунд завершився - 2023-08-25T11:09:19.907000Z
Ставка (200000) була подана учасником - 2023-08-25T11:09:20.511000Z, через 0,5 сек після завершення аукціону (згідно json таймінгів)v.3.84.0Pavel KuzmenkoPavel Kuzmenkohttps://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/242CDB3-5271 Wrong calculating dutch step value2023-08-21T11:22:09+03:00Yuriy BilinskyCDB3-5271 Wrong calculating dutch step value![image](/uploads/9a4659e6976d98b5e52286f5c255ce7c/image.png)
![image](/uploads/a2a31a5ca0be08acba9bdced9b59b6bd/image.png)
[999.xlsx](/uploads/dfaa1afd9d353fe70139ac99d0f64375/999.xlsx)![image](/uploads/9a4659e6976d98b5e52286f5c255ce7c/image.png)
![image](/uploads/a2a31a5ca0be08acba9bdced9b59b6bd/image.png)
[999.xlsx](/uploads/dfaa1afd9d353fe70139ac99d0f64375/999.xlsx)v3.82.0Vitalii CherednichenkoVitalii Cherednichenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/241При переході по старому посиланню авторизації - показувати відповідну помилку...2023-08-22T10:37:02+03:00Olga KochubynskaПри переході по старому посиланню авторизації - показувати відповідну помилку - ви вокористовуєте застарілий спосіб авторизації з кнопкою переходу в режим спостерігача!приклад посилання застарілого способу авторизації:
https://auction.prozorro.sale/LRE001-UA-20220201-90589?bidder_id=XXXXXXXX&acc_token=XXXXXXXX
змінити текст у випадку валідних та не валідних даних bidder_id та acc_token на:
Ви викори...приклад посилання застарілого способу авторизації:
https://auction.prozorro.sale/LRE001-UA-20220201-90589?bidder_id=XXXXXXXX&acc_token=XXXXXXXX
змінити текст у випадку валідних та не валідних даних bidder_id та acc_token на:
Ви використовуєте застарілий спосіб авторизації. Перейдіть, будь ласка, повторно за посиланням на участь в аукціоні, яке ви отримали від майданчика. Якщо проблема не вирішилась і ви учасник аукціону — зв’яжіться, будь ласка, з майданчиком, на якому ви зареєстровані.v3.82.0Bogdan SlusarenkoBogdan Slusarenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/240CDB3-5271 Відсутність bidder_id не повинна призводити до 500 помилки2023-08-29T11:03:36+03:00Pavel KuzmenkoCDB3-5271 Відсутність bidder_id не повинна призводити до 500 помилки@vitalii.cherednichenko допоможи @bogdan.slusarenko сформувати запит який призводить до помилки
```
test_scenarios/announcement/JAS/conftest.py:135: in _active_auction
post_auction_bid(data['auctionUrl'], bid1_post_response.id, auc...@vitalii.cherednichenko допоможи @bogdan.slusarenko сформувати запит який призводить до помилки
```
test_scenarios/announcement/JAS/conftest.py:135: in _active_auction
post_auction_bid(data['auctionUrl'], bid1_post_response.id, auction_bid_1, bid1_post_response.acc_token)
```
```
[2023-07-26T15:50:10.517Z] | prozorro_sale.auction.errors | ERROR - Unknown error caught in API - 'AclContext' object has no attribute 'bidder_id' | AUCTION-ID: SPD001-UA-20230726-63955 | X-Request-ID: 2FC47F00000188707F000001005064C140B22004566DC
Traceback (most recent call last):
File "/auction/prozorro_sale/auction/errors.py", line 188, in request_localized_errors_middleware
return await handler(request)
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/auth/__init__.py", line 123, in context_middleware
return await handler(request)
File "/auction/prozorro_sale/auction/utils.py", line 442, in auth_token_middleware
return await handler(request)
File "/auction/prozorro_sale/auction/utils.py", line 466, in tz_middleware
return await handler(request)
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/tools/__init__.py", line 91, in retry_on_concurrency_error_middleware
return await handler(request)
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/tools/__init__.py", line 73, in handler
return await func(request, *args, **kwargs)
File "/auction/prozorro_sale/auction/utils.py", line 104, in handler
return await func(request, *args, **kwargs)
File "/auction/prozorro_sale/auction/utils.py", line 769, in wrapper
response = await func(request, *args, **kwargs)
File "/auction/prozorro_sale/auction/utils.py", line 487, in wrapper
return await func(request, *args, **kwargs)
File "/auction/prozorro_sale/auction/api/api.py", line 172, in post_bid_auction
msg = auction.place_bid(request._context.bidder_id, data['bid'], request._context, validators)
AttributeError: 'AclContext' object has no attribute 'bidder_id'
```v3.82.0Viacheslav SukhovieievViacheslav Sukhovieievhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/239При переході по старому посиланню авторизації - показувати відповідну помилку...2023-08-22T10:20:47+03:00Kupriyanov OleksandrПри переході по старому посиланню авторизації - показувати відповідну помилку - ви вокористовуєте застарілий спосіб авторизації з кнопкою переходу в режим спостерігачаприклад посилання застарілого способу авторизації:
https://auction.prozorro.sale/LRE001-UA-20220201-90589?bidder_id=XXXXXXXX&acc_token=XXXXXXXX
змінити текст у випадку валідних та не валідних даних bidder_id та acc_token на:
Ви викор...приклад посилання застарілого способу авторизації:
https://auction.prozorro.sale/LRE001-UA-20220201-90589?bidder_id=XXXXXXXX&acc_token=XXXXXXXX
змінити текст у випадку валідних та не валідних даних bidder_id та acc_token на:
Ви використовуєте застарілий спосіб авторизації. Перейдіть, будь ласка, повторно за посиланням на участь в аукціоні, яке ви отримали від майданчика.
Якщо проблема не вирішилась і ви учасник аукціону — зв’яжіться, будь ласка, з майданчиком, на якому ви зареєстровані.
скрін необхыдноъ реалізації
![image](/uploads/fecfca068a370a325358e0dc74481e7c/image.png)v.3.81.0Bogdan SlusarenkoBogdan Slusarenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/238CDB3-5438 Прибрати можливість авторизації учасникам в модулі аукціону по при...2023-09-06T10:50:19+03:00Kupriyanov OleksandrCDB3-5438 Прибрати можливість авторизації учасникам в модулі аукціону по прикладу застарілого формату посиланняНаразі, в нашій системі учасником можна авторизуватись в модулі аукціону двома способами, а саме:
1. Основний - за посиланням, що віддає АPI за допомогою GET-запиту в "participationUrl", по прикладу https://procedure.prozorro.sale/api/...Наразі, в нашій системі учасником можна авторизуватись в модулі аукціону двома способами, а саме:
1. Основний - за посиланням, що віддає АPI за допомогою GET-запиту в "participationUrl", по прикладу https://procedure.prozorro.sale/api/auth/auction?token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
2. Застарілий формат - посилання формується за допомогою bidder_id та acc_token .Та може бути згенеровано вручну, або автоматично майданчиком. По прикладу https://auction.prozorro.sale/ХХХХХ-UA-ХХХХХХХХХХХ?bidder_id=ХХХХХХХХХХ&acc_token=ХХХХХХХХХХ
Від застарілого способу авторизації, як від менш безпечного, відмовляємось.
Тож прохання прибрати дану можливість авторизації.v.3.83.0Bogdan SlusarenkoBogdan Slusarenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/237CDB3-4659 Реалізація логіки роботи МА подвійного переважного права (бек)2023-07-05T12:33:36+03:00Olga KochubynskaCDB3-4659 Реалізація логіки роботи МА подвійного переважного права (бек)https://docs.google.com/document/d/1uxJwSSWNiUNaTx5gR9CemxLd3vLU8JUR3jIXTp3u3Ts/https://docs.google.com/document/d/1uxJwSSWNiUNaTx5gR9CemxLd3vLU8JUR3jIXTp3u3Ts/v3.78.0Mike HoangMike Hoanghttps://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/234Create job with check active auction ongoing2022-11-17T12:54:48+02:00dmitry.mashoshinCreate job with check active auction ongoingJob should make db call to find out any active auctions where bidding is now going to avoid deployment
Job should have predeploy hook and max priorityJob should make db call to find out any active auctions where bidding is now going to avoid deployment
Job should have predeploy hook and max priorityv3.63.0Pavel KuzmenkoPavel Kuzmenkohttps://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/232Невірна логіка роботи аукціону та відображення результатів переважного права ...2022-10-25T18:55:14+03:00Kupriyanov OleksandrНевірна логіка роботи аукціону та відображення результатів переважного права в криейторі аукціонівПри створенні аукціону переважного права через криейтор - результати аукціону відображаються не у відповідності до вимог описаних в таблиці
https://docs.google.com/spreadsheets/d/1UACwkctqWYJKxDiUSPW3Ndp_N_XMN8JBTYAWfnhRSsw/edit?hl=uk#g...При створенні аукціону переважного права через криейтор - результати аукціону відображаються не у відповідності до вимог описаних в таблиці
https://docs.google.com/spreadsheets/d/1UACwkctqWYJKxDiUSPW3Ndp_N_XMN8JBTYAWfnhRSsw/edit?hl=uk#gid=0
До прикладу:
1) https://auction-demo.prozorro.sale/LLP001-UA-20221006-10781
Учасник в аукціоні подав найвищу ставку:
AR: Відображається текст - Учасник не скористався переважним правом.
![image](/uploads/fe71bbfb3861006cbef8df2df5101121/image.png)
ER: повинен відображатися текст - Учасник з переважним правом зробив максимальну цінову пропозицію за результатами попередніх раундів.
2) https://auction-demo.prozorro.sale/LLP001-UA-20221006-45153
Учасник в аукціоні подав другу за величиною ставку:
AR: Відображається текст - Учасник не скористався переважним правом.
![image](/uploads/e18591261c1fec226d499d40d9c618c0/image.png)
ER: повинен відображатися текст - "Учасник з переважним правом зробив цінову пропозицію наступну за величиною після пропозиції учасника, який подав найвищу цінову пропозицію за лот, за результатами попередніх раундів."
**До прикладу 1 - приклад аукціону створеного мануально через Postman з тими ж даними що в першому прикладі, де інформація відображається коректно**
https://auction-demo.prozorro.sale/LLP001-UA-20221006-14193
![image](/uploads/f66ea249edf1ee0fa061d819d785c0ab/image.png)v3.61.0-frontPavel KuzmenkoPavel Kuzmenkohttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/231Migrate infinity auction api to websocket2022-10-07T14:11:28+03:00Olga KochubynskaMigrate infinity auction api to websocket1. Move notifications generation to backend side:
* auction started
* t&c confirmed
* new round started
* current tenant notification about his role
* priority round was started
* bid was made
* bid has errors
* cancel bids
* ect.
1. A...1. Move notifications generation to backend side:
* auction started
* t&c confirmed
* new round started
* current tenant notification about his role
* priority round was started
* bid was made
* bid has errors
* cancel bids
* ect.
1. Add websocket messages:
* make_bid
* cancel_bid
1. Move search data mapping to feed schema to backend sidev3.60.0-frontKupriyanov OleksandrKupriyanov Oleksandrhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/230Convert search data into auction shape2022-08-12T15:43:31+03:00dmitry.mashoshinConvert search data into auction shapeif procedure not in `active_auction` status and auction object does not exists, data gets from search and should be converted into auction schema with timeline
- AC: search data converting on frontend side
- ER: search data converting o...if procedure not in `active_auction` status and auction object does not exists, data gets from search and should be converted into auction schema with timeline
- AC: search data converting on frontend side
- ER: search data converting on backend sidev3.57.0-frontdmitry.mashoshindmitry.mashoshinhttps://gitlab.prozorro.sale/prozorro-sale/auction/-/issues/229Migrate priorityEnglish auction api to websocket2022-10-06T11:27:42+03:00dmitry.mashoshinMigrate priorityEnglish auction api to websocket1. Move notifications generation to backend side:
* auction started
* t&c confirmed
* new round started
* current tenant notification about his role
* priority round was started
* bid was made
* bid has errors
* cancel bids
* ect.
1. A...1. Move notifications generation to backend side:
* auction started
* t&c confirmed
* new round started
* current tenant notification about his role
* priority round was started
* bid was made
* bid has errors
* cancel bids
* ect.
1. Add websocket messages:
* make_bid
* cancel_bid
1. Move search data mapping to feed schema to backend sidev3.60.0-frontKupriyanov OleksandrKupriyanov Oleksandr