# - Authentication       : Done
# - Fix Location form    :
 - store and generate transport
 - fix auto generation

- fix problem with showing Наташа Перчекли available on 7-th november from 10:00-12:30
# - fix loading of availabiities in publisher page
# - fix importing of availabilities from the last week, when the end is in the next month
#? - fix availability start/end borders while searching, as adjasecent shifts are shown as available while they are not
# - unit test proximity search for
    + 'Елена Йедлинска', 
    + 'Джейми Лий Смит', 
    + 'Стела Стоянова'@ 9th november last shift
    + 'Юрий Чулак' при импорт достъпностите са ВСЯКА сряда
# - защо не се изтриват достъпностите при импорт? заюото не се взимаха от базата за да се итерират
# - why are some availabilities imported as weekly : current/next month logic when importing in the current month
 - show weekly availabilities in calendar publisher list?

 - importing schedule should create availability if not available. importing preferences deletes old availabilities. 
 - add option (checkbox) if it is a family availability

- on calendar - when click on a publisher - show his availabilities and assihnments in a popup, with the option to move assingments to another shift - where there are free slots or inconfirmed slots.
for each shift withing availability - show the current slots and allow to drag and drop to another shift. each shift has maximum 4 slots. 

 - прибиране/докаване на количките - да се импортира
 - fix month end not to last sunday, but to last day of the month in availabilities
 - да проверя файла с участия
  
 Run `npm audit` for details.
PS D:\DEV\workspace\next-cart-app\next-cart-app> npm update
npm WARN deprecated graphql-import@0.7.1: GraphQL Import has been deprecated and merged into GraphQL Tools, so it will no longer get updates. Use GraphQL Tools instead to stay up-to-date! Check out https://www.graphql-tools.com/docs/migration-from-import for migration and https://the-guild.dev/blog/graphql-tools-v6 for new changes.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated subscriptions-transport-ws@0.9.16: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws    For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md
npm WARN deprecated graphql-tools@4.0.5: This package has been deprecated and now it only exports makeExecutableSchema.
npm WARN deprecated And it will no longer receive updates.
npm WARN deprecated We recommend you to migrate to scoped packages such as @graphql-tools/schema, @graphql-tools/utils and etc.
npm WARN deprecated Check out https://www.graphql-tools.com to learn what package you should use instead

added 85 packages, removed 94 packages, changed 50 packages, and audited 1366 packages in 3m

---
три цвята на назначенията: актуални, минали, без потвърждение/от назначенията/автоматични;

- color code shifts: yellow if 3 publishers, red if <=2 publishers, green if 4 publishers
- for a publisher - view all available shfts where there are free slots and allow to move assignments to another shift


- bulk edit for publishers - change type, target shifts.
- edit publisher availabilities in grid - isWithTransport

After meeting with Fabio:
- passed training cb
- option to search for replacements only for my assignments (directly replace, or ask for help - email)
- 

+ see the whole schedule - talk with Yanko

- sign up 


shift reports - show my shifts, store the report to the shift and norify if report already exists.

!!! make word imports create availability as option during import - create availabilities as tentative and repeat them every month
fix import - it adds it to the next day
elena qdlinska is always created
dariush availabilities are not imported
fix availability repeat checks 


Упътване потребители:
Ако искат винаги да са заедно - може да използват един имейл. Ако не - трябва да имат различни имейли.



Упътване отговорен брат:
1 - провери всеки вестител за предпочитания/назначения (календара)
2 - провери графика за изпуснати вестители - в червено, които не са на разположение за назначението си
3 - провери графика за празни смени
4 - провери за пропуснати вестители - без назначения за месеца
5 - да провери транспорта




Цялата програма - като от ПДФ.

меню: пон-петък


"При лошо време"

 да се добави: контакти - янко и крейг

чекбоксове,
до края на месеца
динамичен график: да могат да търсят заместници

Рубен да провери вестителите: дали са според програмата.


2024.02.14: 
Янко:
1. графика на всички. отделно меню.
2. разрешение от общината. "разрешително". да има и админ за обновяване?
3. линк местоположение
4. местоположение - имена
5. ipad - scroll na PDF-s 148
6. списък с участници.
7. отделен вид разположение "заместник"

Фабио: 
1. да може участника да види тези, които са на разопложение и да види телефоните.
2. да изпращат а) на разположение б) на всички
3. желани смени на месец - в "календар"
4. да се импортират данните за назначение.

Краси
1. Push notifications



-- Bugs:
 - import all assignments from WORD
 - respect repetition of availabilities
 - new api to set availabilities per day (deleting the old ones, based on time periods array) 
 - failover for the server


 Fabio: 
  - може да оставим само тези, които са въвели, но от другия месец, за да можем този ако има проблеми да ги оправим. да не стане така, че не приемаме друг начин, а нещо не работи
  - можем да тестваме с 10=20 човека, и ако няма прооблеми да пратим до всички още този месец.
  - списък с видове назначение:
  Вестител
Бетелит
Редовен Пионер
Специален Пионер
Мисионер
Пътуваща служба

-------------------------------------------------------

Янко:
1. графика на всички. отделно меню.
2. разрешение от общината. "разрешително". да има и админ за обновяване?
3. линк местоположение
4. местоположение - имена
5. ipad - scroll na PDF-s 148
6. списък с участници.
7. отделен вид разположение "заместник"

Фабио: 
1. да може участника да види тези, които са на разопложение и да види телефоните.
2. да изпращат а) на разположение б) на всички
3. желани смени на месец - в "календар"
4. да се импортират данните за назначение.

Краси
1. Push notifications

-- 
Проблеми: някои използват един и същи имейл - няма как да въведат графика и на двамата.

- да оправя дневните разположения
- да се взимат в предвид повтарящите се разопложения

--
- да оправя дневните разположения
- да се взимат в предвид повтарящите се разопложения

--------------------------------------------------------------------

График - само седмица
 Администратор
 вестители - всички - мъж
 
 
 -- форма за обратна връзка
 -- моя график
  
  
  -- add publish functionality to shifts
  
  # caendar/admin
  fix the problem where availability info is not present on calendar - can't destinguish between no availability(not active/imported) and changed availability
  second add/delete fails
  # my calenda
  sometimes delete from mycalendar fails  
 saturday shifts start at 12:00 / dymamic 

-------------------------------
Add availability type UNAVAILABLE/ AWAY (like Estelle, Rick, Me)

why "Александра Чернъшова" seems available every shift thursdays?
fix Time ZONE (currently Z, but it leads to shift when the DST changes (  winter entries are shifter in summer))
защо Марсел Клайнер е червен четв 11 април? - има предпочитания и е в номата
fix repeating availabilities - Tanq kolcjanova only blue first thursday
add assignment in calendar planner
fix database

--
emails: new shifts, replacements, announcements
mobile apps
apple login
разрешителни - upload
wpa: android? apple? pc?
push notifications
store replacement
test email

 problem with my repeating availability3
 relax add/remove transport for publishers

fix published schedule to cover end of the week

имейлите - ОК
графика - синк - ОК
вестителите от Фабио - OK
потребителите с двойни имейли - 


 админс can send *urgent* email to everybody to ask for shift 
in schedule admin - if a publisher is always pair & family is not in the shift - add + button to add them
постоянен лог
лог ако е изрит потребител.


[x] OK last login. pubs.
[x] OK otchet - za denq 
[x] OK - делете цонфирм 
[x] статистика - фкс (янка) + posledno vlizane

[x] OK заместник, предпочитание в миналото - да не може.
[] Да иска потвърждение преди да заместиш някой
[] да не се виждат непубликуваните смени в Моите смени
[] да не се виждат старите предпочитания ако не си админ в публишерс

[] import avalabilities only if no availabilities are set for the month!
[] new page to show EventLog (substitutions)
[]  fix "login as"
[] list with open shift replacements (coverMe requests)
[] fix statistics
[] add notification to statistics info
[] fix logins (apple/azure)


[x] make test notification for user
[] add Congregation field
[] use original assignment when scheduling

[] invalidate one/all user sessions
[] log deletions
[] add user permissions [with logging when used]
[] ? store sessions in DB ?


[] improve reports page(s)


[] fix transport UI
[] revise import/export to word
[] allow keyman/scheduler role
[] allow blocking of inputs (different from publishing) TODO: fix to keep previous occurances when repeating evert week
[] user - add createdAt field

[x] FIX insecure logins

[] nove push to form, - reorganize pWAManager to have session, role, subscriptions, etc...
[] add shift name in calendar/ show in schedule if no assignments.
[] show unpublished schedule if admin


[] fix notifications
[] allow to send test notification to any user if admin
[] see non-published assignments in callendar if admin
[] 


