On Shell, Home, List, Record, Form, Stepped flow, Settings, Issued document
Action group
Add the hirer’s email before sending.
Return to invoiceSend invoice is waiting, and More stands before the way back.
Add the hirer’s email before sending.
A sent invoice can’t be changed until it is filed.
Return to invoiceDraft saved.
Invoice actions with resending waiting on an email address.
Add the hirer’s email before sending.
Continue is waiting on a field and a choice in its form.
Invoice actions with a refused step held above them
Issue refund is refused until both transfers on this invoice have arrived.
Not saved
Source
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead action="primary-action" action_state={nil}>Send invoice</:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Save as draft</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:return><Kit.Phoenix.Roles.WayBack.way_back href="#role-action-group">Return to bookings</Kit.Phoenix.Roles.WayBack.way_back></:return>
</Kit.Phoenix.Roles.ActionGroup.action_group>
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead>
<Kit.Phoenix.Roles.EmphasisedNextAction.emphasised_next_action href="#role-action-group">Add your first room</Kit.Phoenix.Roles.EmphasisedNextAction.emphasised_next_action>
</:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Import rooms from a file</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:return><Kit.Phoenix.Roles.WayBack.way_back href="#role-action-group">Return to setup</Kit.Phoenix.Roles.WayBack.way_back></:return>
</Kit.Phoenix.Roles.ActionGroup.action_group>
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead><Kit.Phoenix.Roles.PrimaryAction.primary_action>Confirm the booking and send the invoice</Kit.Phoenix.Roles.PrimaryAction.primary_action></:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Hold the room without an invoice</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Ask Oakmere Primary School for the missing details</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:return><Kit.Phoenix.Roles.WayBack.way_back href="#role-action-group">Return to the booking</Kit.Phoenix.Roles.WayBack.way_back></:return>
</Kit.Phoenix.Roles.ActionGroup.action_group>
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead><Kit.Phoenix.Roles.PrimaryAction.primary_action>Send reminder</Kit.Phoenix.Roles.PrimaryAction.primary_action></:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Mark as paid</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:return><Kit.Phoenix.Roles.WayBack.way_back href="#role-action-group">Return to invoice</Kit.Phoenix.Roles.WayBack.way_back></:return>
<:routes><a href="#role-action-group">View invoices</a><a href="#role-action-group">View payments received this month</a><a href="#role-action-group">View the client's bookings</a></:routes>
</Kit.Phoenix.Roles.ActionGroup.action_group>
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead action="primary-action" action_state={Kit.Phoenix.ActionState.inert("action-group-send", "Add the hirer’s email before sending.")}>Send invoice</:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Save as draft</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:return><Kit.Phoenix.Roles.WayBack.way_back href="#role-action-group">Return to invoice</Kit.Phoenix.Roles.WayBack.way_back></:return>
</Kit.Phoenix.Roles.ActionGroup.action_group>
<p class="specimen-case-line" id="role-action-group-more">Send invoice is waiting, and More stands before the way back.</p>
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead action="primary-action" action_state={Kit.Phoenix.ActionState.inert("action-group-file", "Add the hirer’s email before sending.")}>Send invoice</:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Save as draft</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:more id="action-group-more" label="More actions for this invoice" action_state={Kit.Phoenix.ActionState.inert("action-group-more-trigger", "A sent invoice can’t be changed until it is filed.")} groups={[Kit.Phoenix.Menu.group([Kit.Phoenix.Menu.item("Edit", icon: "pencil-simple", keys: ["E"]), Kit.Phoenix.Menu.item("Duplicate", icon: "copy", keys: ["Ctrl", "D"])]), Kit.Phoenix.Menu.group([Kit.Phoenix.Menu.destructive("Delete invoice", icon: "trash")])]} />
<:return><Kit.Phoenix.Roles.WayBack.way_back href="#role-action-group">Return to invoice</Kit.Phoenix.Roles.WayBack.way_back></:return>
<:status_lines><Kit.Phoenix.Roles.StatusLine.status_line>Draft saved.</Kit.Phoenix.Roles.StatusLine.status_line></:status_lines>
<:routes><a href="#role-action-group">View invoices</a></:routes>
</Kit.Phoenix.Roles.ActionGroup.action_group>
<p class="specimen-case-line" id="role-action-group-fold">Invoice actions with resending waiting on an email address.</p>
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead action="primary-action" action_state={Kit.Phoenix.ActionState.inert("action-group-fold-send", "Add the hirer’s email before sending.")}>Send invoice</:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Save as draft</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Print invoice</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:secondary action="secondary-action" action_state={Kit.Phoenix.ActionState.inert("action-group-fold-resend", "Add the hirer’s email before resending.")} control_rest={%{type: "submit"}} form_rest={%{action: "#role-action-group"}}>Resend invoice</:secondary>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Download invoice</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:more id="action-group-fold-more" label="More actions for this invoice" groups={[]} />
</Kit.Phoenix.Roles.ActionGroup.action_group>
<p class="specimen-case-line" id="role-action-group-waiting">Continue is waiting on a field and a choice in its form.</p>
<form>
<Kit.Phoenix.Roles.FormGroup.form_group id="action-group-hirer" kind={Kit.Phoenix.Roles.FormGroup.Kind.text(:medium)} control_rest={%{name: "hirer"}}>
<:label>Hirer’s name</:label>
</Kit.Phoenix.Roles.FormGroup.form_group>
<Kit.Phoenix.Roles.SelectionControl.group id="action-group-rooms">
<:legend>Rooms</:legend>
<:choice kind={:checkbox} control_rest={%{name: "rooms", value: "main-hall"}} printed_value="Not booked">Main hall</:choice>
<:choice kind={:checkbox} control_rest={%{name: "rooms", value: "studio"}} printed_value="Not booked">Studio</:choice>
</Kit.Phoenix.Roles.SelectionControl.group>
<Kit.Phoenix.Roles.ActionGroup.action_group>
<:lead action="primary-action" action_state={Kit.Phoenix.ActionState.inert("action-group-continue", "Continue needs the hirer’s name and a room.") |> Kit.Phoenix.ActionState.waits_on(["hirer", "rooms"])}>Continue</:lead>
</Kit.Phoenix.Roles.ActionGroup.action_group>
</form>
<Kit.Phoenix.Roles.ActionGroup.action_group unsaved={Kit.Phoenix.State.unsaved(:attention, "Not saved")}>
<:refusal>
<Kit.Phoenix.Roles.Refusal.refusal id="action-group-refusal">
<:line>Issue refund is refused until both transfers on this invoice have arrived.</:line>
</Kit.Phoenix.Roles.Refusal.refusal>
</:refusal>
<:lead action="primary-action" action_state={nil}>Send invoice</:lead>
<:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Save as draft</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
<:return><Kit.Phoenix.Roles.WayBack.way_back href="#role-action-group">Return to invoice</Kit.Phoenix.Roles.WayBack.way_back></:return>
</Kit.Phoenix.Roles.ActionGroup.action_group>