-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added waiting time to waiting step (#460) #590
base: master
Are you sure you want to change the base?
Changes from 6 commits
7b82819
81d3e3f
1c29a6c
98f36fa
0f38ac7
8eacb90
1d32da8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -83,7 +83,8 @@ def step_params | |
:position, | ||
:app_url, | ||
:app_link_text, | ||
:type | ||
:type, | ||
:waiting_time | ||
) | ||
end | ||
end |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,7 +9,7 @@ class UserStep < ApplicationRecord | |
validates :status, inclusion: { in: %w(not_started started waiting done) } | ||
|
||
def refresh_status | ||
if all_tasks_completed? && !step.has_app? | ||
if all_tasks_completed? && !step.has_app? && !step.is_waiting_step? | ||
update(status: 'done') | ||
elsif user_tasks.completed.none? | ||
update(status: 'not_started') | ||
|
@@ -18,6 +18,18 @@ def refresh_status | |
end | ||
end | ||
|
||
def update_status(new_status:) | ||
xpavle00 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
update(status: new_status, submitted_at: new_status == 'waiting' ? Date.today : nil) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. mozno lepsie tu dat lebo pri nejakom podani ti mozu lehotu aj posunut - cize je to od pripadu k pripadu. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Zatial som to nechal tak, aby tam ostala informacia kedy to bolo podane, mozno sa na nieco hodi. |
||
end | ||
|
||
def remaining_time | ||
step.waiting_time - (Date.today - submitted_at).to_i | ||
end | ||
|
||
def expected_resolution_date | ||
Date.today + remaining_time.days | ||
end | ||
|
||
def done? | ||
status == 'done' | ||
end | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,6 +23,14 @@ | |
<strong> | ||
<%= link_to step.title, [@journey, step], class: 'sdn-timeline__link' %> | ||
</strong> | ||
<% if step.waiting_time > 0 && user_step&.status == "waiting" && user_step&.submitted_at %> | ||
<% remaining_time = user_step.remaining_time %> | ||
<% if remaining_time < 0 %> | ||
Lehota vypršala pred: <strong class="govuk-tag govuk-tag--red"><%= format_past_days_count(-1 * remaining_time) %></strong> | ||
<% else %> | ||
Čakacia lehota: <strong class="govuk-tag govuk-tag--blue"><%= format_remaining_days_count(remaining_time) %></strong> | ||
Comment on lines
+29
to
+31
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Toto by mal vidiet este nejaky dizajner. |
||
<% end %> | ||
<% end %> | ||
<% else %> | ||
<%= link_to step.title, [@journey, step], class: 'sdn-timeline__link' %> | ||
<% end %> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
<div class="sdn-todo-list-main-action"> | ||
<% if current_user_step.done? %> | ||
<div class="govuk-body-s sdn-todo-list-main-action__info"> | ||
<h2 class="govuk-heading-s">Vybavené!</h2> | ||
Ak sa chcete vrátiť späť, môžete tento krok | ||
návodu <%= link_to 'označiť ako nevybavený', journey_step_path(@journey, @current_step, status: 'not_started'), method: :patch, remote: true %> | ||
. | ||
</div> | ||
<% elsif current_user_step.waiting? %> | ||
<div class="govuk-body-s sdn-todo-list-main-action__info"> | ||
<h2 class="govuk-heading-s">Podanie bolo zaslané | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Myslim, si ze tu treba lepsie "copy" lebo toto nemusi vzdy znamenat, ze to bolo podanie (aj ked vacsinou ano). Zaroven sa mi zda ten navrh prilis vela textu a vela buttonov (velkych primarnych zelenych). Toto bude treba lepsie upratat. @xpavle00 ty si trufas aj na navrh toho ako by to malo vyzerat? (Staci sa pohrat s textami a govuk elementami) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Skusil som to zjednodusit. Prilozim screeny. |
||
<% if current_user_step.submitted_at %>dňa <%= current_user_step.submitted_at.strftime('%d.%m.%Y') %> | ||
<% end %></h2> | ||
<div id="next-steps-info"> | ||
<%= render 'step_subscription', current_user_step: current_user_step %> | ||
<a href="#" onclick="$('#change-notification-date').removeClass('sdn-appear-link-hide');$('#next-steps-info').addClass('sdn-appear-link-hide');return false;">Zmeniť dátum?</a> | ||
xpavle00 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
</div> | ||
<div id="change-notification-date" class="sdn-appear-link-hide"> | ||
<div class="govuk-grid-column-two-thirds"> | ||
Zmeniť dátum notifikácie | ||
</div> | ||
<div class="govuk-grid-column-one-third" style="text-align:right"> | ||
<a href="#" onclick="$('#change-notification-date').addClass('sdn-appear-link-hide');$('#next-steps-info').removeClass('sdn-appear-link-hide');return false;">Zatvoriť</a> | ||
</div> | ||
<%= form_tag subscribe_to_deadline_notification_journey_step_path(@current_step.journey, @current_step) , remote: true, authenticity_token: true do %> | ||
<div class="govuk-form-group"> | ||
<span id="dob-error" class="govuk-error-message sdn-appear-link-hide"> | ||
<span class="govuk-visually-hidden">Chyba:</span> Zadali ste neplatný dátum | ||
</span> | ||
<div class="govuk-date-input" id="dob"> | ||
<div class="govuk-date-input__item"> | ||
<div class="govuk-form-group"> | ||
<%= label_tag 'dob-day', 'Deň', class: "govuk-label govuk-date-input__label" %> | ||
<%= number_field_tag 'day', current_user_step.expected_resolution_date.day, required: true, min: 1, max: 31, class: 'govuk-input govuk-date-input__input govuk-input--width-2', id: 'dob-day' %></div> | ||
</div> | ||
<div class="govuk-date-input__item"> | ||
<div class="govuk-form-group"> | ||
<%= label_tag 'dob-month', 'Mesiac', class: "govuk-label govuk-date-input__label" %> | ||
<%= number_field_tag 'month', current_user_step.expected_resolution_date.month, required: true, min: 1, max: 12, class: 'govuk-input govuk-date-input__input govuk-input--width-2', id: 'dob-month' %></div> | ||
</div> | ||
<div class="govuk-date-input__item"> | ||
<div class="govuk-form-group"> | ||
<%= label_tag 'dob-year', 'Rok', class: "govuk-label govuk-date-input__label" %> | ||
<%= number_field_tag 'year', current_user_step.expected_resolution_date.year, required: true, min: 2023, class: 'govuk-input govuk-date-input__input govuk-input--width-2', id: 'dob-year' %></div> | ||
</div> | ||
</div> | ||
</div> | ||
<%= submit_tag 'Zmeniť dátum a potvrdiť notifikáciu.', class: 'govuk-button' %> | ||
<% end %> | ||
</div> | ||
</div> | ||
|
||
<p> | ||
Po úspešnom vybavení podania, keď dostanete pozitívnu odpoveď, označte úlohu za vybavenú. | ||
</p> | ||
<div class="sdn-todo-list-main-action-buttons-wrapper"> | ||
<div class="sdn-todo-list-main-action-buttons"> | ||
<%= link_to 'Označiť ako vybavené', journey_step_path(@journey, @current_step, status: 'done'), class: 'govuk-button', method: :patch, remote: true %> | ||
</div> | ||
</div> | ||
<% else %> | ||
<% if @current_step.tasks.any? && @current_step.has_app? %> | ||
<div class="govuk-body-s sdn-todo-list-main-action__info"> | ||
Po splnení všetkých povinností môžete podať elektronickú žiadosť a potom označiť tento krok ako podaný. | ||
</div> | ||
<% end %> | ||
<div class="sdn-todo-list-main-action-buttons-wrapper"> | ||
<div class="sdn-todo-list-main-action-buttons"> | ||
<% if @current_step.has_app? %> | ||
<%= link_to @current_step.app_link_text.presence || 'Požiadať elektronicky', start_journey_step_path(@journey, @current_step), target: '_blank', class: 'govuk-button govuk-button--start', draggable: false %> | ||
<% end %> | ||
<% if @current_step.is_waiting_step? %> | ||
<%= link_to 'Označiť ako podané', journey_step_path(@journey, @current_step, status: 'waiting'), class: 'govuk-button', method: :patch, remote: true %> | ||
<% else %> | ||
<%= link_to 'Označiť ako vybavené', journey_step_path(@journey, @current_step, status: 'done'), class: 'govuk-button', method: :patch, remote: true %> | ||
<% end %> | ||
</div> | ||
</div> | ||
<% end %> | ||
</div> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<div id="step_subscription"> | ||
<% if current_user_step.submitted_at %> | ||
<p> | ||
Teraz treba počkať na rozhodnutie. Ostáva <%= current_user_step.remaining_time %> z | ||
pôvodných <%= t('components.deadline.remaining_days', count: @current_step.waiting_time) %>. | ||
</p> | ||
<% end %> | ||
<% if current_user_step.to_be_notified_at %> | ||
<p> | ||
Budeme vás o tom notifikovať e-mailom <%= current_user_step.to_be_notified_at.strftime('%d.%m.%Y') %>. | ||
</p> | ||
<%= form_tag unsubscribe_deadline_notification_journey_step_path(@current_step.journey, @current_step), remote: true, authenticity_token: true, method: :delete do %> | ||
<%= hidden_field_tag :current_user_step_id, current_user_step.id %> | ||
<%= submit_tag 'Zrušiť naplánovanú notifikáciu.', class: 'govuk-button' %> | ||
<% end %> | ||
<% else | ||
current_user_step.submitted_at %> | ||
<p> | ||
Pošleme Vám na e-mail notifikáciu keď sa bude lehota blížiť? | ||
Vychádza to na <%= current_user_step.expected_resolution_date.strftime('%d.%m.%Y') %> | ||
</p> | ||
|
||
<%= form_tag subscribe_to_deadline_notification_journey_step_path(@current_step.journey, @current_step), remote: true, authenticity_token: true do %> | ||
<%= hidden_field_tag :current_user_step_id, current_user_step.id %> | ||
<%= hidden_field_tag :notification_date, current_user_step.expected_resolution_date %> | ||
<%= submit_tag 'Áno, toto chcem.', class: 'govuk-button' %> | ||
<% end %> | ||
<% end %> | ||
</div> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
$('#change-notification-date').find('.govuk-form-group').addClass('govuk-form-group--error') | ||
$('#change-notification-date').find('#dob-error').removeClass('sdn-appear-link-hide') |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
$('#step_subscription').replaceWith('<%= j render "step_subscription", current_user_step: @user_step %>'); | ||
$('#next-steps-info').removeClass('sdn-appear-link-hide') | ||
$('#change-notification-date').addClass('sdn-appear-link-hide') | ||
$('#change-notification-date').find('.govuk-form-group').removeClass('govuk-form-group--error') | ||
$('#change-notification-date').find('#dob-error').addClass('sdn-appear-link-hide') |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
class AddWaitingTimeToSteps < ActiveRecord::Migration[6.1] | ||
def change | ||
add_column :steps, :waiting_time, :integer, default: 0 | ||
end | ||
end |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
class AddSubmittedAtAndToBeNotifiedAtToUserStep < ActiveRecord::Migration[6.1] | ||
def change | ||
add_column :user_steps, :submitted_at, :date, default: nil | ||
add_column :user_steps, :to_be_notified_at, :date, default: nil | ||
end | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
preco tato zmena?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Asi tam bola este nejaka logika @crutch? Vratil som tam update.