highlight routing criteria label when updated
This commit is contained in:
parent
60251013f7
commit
924702699f
6 changed files with 38 additions and 4 deletions
|
@ -10,7 +10,7 @@ module DossierHelper
|
|||
end
|
||||
|
||||
def highlight_if_unseen_class(seen_at, updated_at)
|
||||
if seen_at&.<(updated_at)
|
||||
if updated_at.present? && seen_at&.<(updated_at)
|
||||
"highlighted"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -301,7 +301,7 @@ class Dossier < ApplicationRecord
|
|||
|
||||
def assign_to_groupe_instructeur(groupe_instructeur, author = nil)
|
||||
if groupe_instructeur.procedure == procedure && groupe_instructeur != self.groupe_instructeur
|
||||
if update(groupe_instructeur: groupe_instructeur)
|
||||
if update(groupe_instructeur: groupe_instructeur, groupe_instructeur_updated_at: Time.zone.now)
|
||||
unfollow_stale_instructeurs
|
||||
|
||||
if author.present?
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
%tbody
|
||||
- if dossier.procedure.routee?
|
||||
%th= dossier.procedure.routing_criteria_name
|
||||
%td= dossier.groupe_instructeur.label
|
||||
%td
|
||||
%td{ class: highlight_if_unseen_class(demande_seen_at, dossier.groupe_instructeur_updated_at) }= dossier.groupe_instructeur.label
|
||||
%td.updated-at
|
||||
%span{ class: highlight_if_unseen_class(demande_seen_at, dossier.groupe_instructeur_updated_at) }
|
||||
modifié le
|
||||
= try_format_datetime(dossier.updated_at)
|
||||
= render partial: "shared/dossiers/champ_row", locals: { champs: champs, demande_seen_at: demande_seen_at, profile: profile, repetition: false }
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class AddGroupeInstructeurUpdatedAtToDossiers < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
add_column :dossiers, :groupe_instructeur_updated_at, :timestamp
|
||||
end
|
||||
end
|
|
@ -252,6 +252,7 @@ ActiveRecord::Schema.define(version: 2020_02_27_100001) do
|
|||
t.datetime "brouillon_close_to_expiration_notice_sent_at"
|
||||
t.index "to_tsvector('french'::regconfig, (search_terms || private_search_terms))", name: "index_dossiers_on_search_terms_private_search_terms", using: :gin
|
||||
t.index "to_tsvector('french'::regconfig, search_terms)", name: "index_dossiers_on_search_terms", using: :gin
|
||||
t.datetime "groupe_instructeur_updated_at"
|
||||
t.index ["archived"], name: "index_dossiers_on_archived"
|
||||
t.index ["groupe_instructeur_id"], name: "index_dossiers_on_groupe_instructeur_id"
|
||||
t.index ["hidden_at"], name: "index_dossiers_on_hidden_at"
|
||||
|
|
|
@ -67,6 +67,31 @@ describe 'shared/dossiers/champs.html.haml', type: :view do
|
|||
expect(subject).to include(procedure.routing_criteria_name)
|
||||
expect(subject).to include(dossier.groupe_instructeur.label)
|
||||
end
|
||||
|
||||
context "with seen_at" do
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:nouveau_groupe_instructeur) { create(:groupe_instructeur, procedure: dossier.procedure) }
|
||||
let(:champ1) { create(:champ, :checkbox, value: "on") }
|
||||
let(:champs) { [champ1] }
|
||||
|
||||
context "with a demande_seen_at after groupe_instructeur_updated_at" do
|
||||
let(:demande_seen_at) { dossier.groupe_instructeur_updated_at + 1.hour }
|
||||
|
||||
it "expect to not highlight new group instructeur label" do
|
||||
dossier.assign_to_groupe_instructeur(nouveau_groupe_instructeur)
|
||||
expect(subject).not_to have_css(".highlighted")
|
||||
end
|
||||
end
|
||||
|
||||
context "with a demande_seen_at before groupe_instructeur_updated_at" do
|
||||
let(:demande_seen_at) { dossier.groupe_instructeur_updated_at - 1.hour }
|
||||
|
||||
it "expect to not highlight new group instructeur label" do
|
||||
dossier.assign_to_groupe_instructeur(nouveau_groupe_instructeur)
|
||||
expect(subject).to have_css(".highlighted")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "with a dossier champ, but we are not authorized to acces the dossier" do
|
||||
|
|
Loading…
Reference in a new issue