Skip to content

[OrganizerPosition] Confusing contract status in UI #12378

@garyhtou

Description

@garyhtou

There are two confusing things in the UI:

  1. It say

    Invited over 1 year ago as a contract signee by MCA Eagles

    when they were actually invited NOT as a contract signee, then later sent a contract signee by an admin. In other words, their invite has is_signee = false, but their organizer position has is_signee = true.

    Invited
    <%= relative_timestamp(organizer_position.organizer_position_invite.created_at) %>
    <%= "as a contract signee" if organizer_position.signee? || organizer_position.organizer_position_invite&.contract.present? %>
    by <%= organizer_position.organizer_position_invite.sender.name %>

  2. The admin toggle contract button does NOT consider organizer_position.fiscal_sponsorship_contract which I think is the more important association.

    Image

    <% if organizer_position.organizer_position_invite.contract&.signed? %>
    <%= link_to organizer_position.organizer_position_invite.contract.document || event_documents_path(event: organizer_position.event), class: "success", data: { turbo_frame: "_top" } do %>
    <%= inline_icon("docs-positive", size: 24) %>
    <% end %>
    <% elsif organizer_position.organizer_position_invite.contract&.present? %>
    <div data-controller="menu" data-menu-placement-value="bottom-start">
    <div class="primary pointer" data-menu-target="toggle" data-action="click->menu#toggle click@document->menu#close keydown@document->menu#keydown">
    <%= inline_icon("clock", size: 24) %>
    </div>
    <div data-menu-target="content" class="menu__content menu__content--2 menu__content--compact">
    <%= link_to void_contract_path(organizer_position.organizer_position_invite.contract), data: { turbo_confirm: "Are you sure you want to void this contract?", turbo_method: :post } do %>
    Void this contract
    <% end %>
    <%= link_to resend_to_user_contract_path(organizer_position.organizer_position_invite.contract), data: { turbo_method: :post } do %>
    Resend to the user
    <% end %>
    <% if organizer_position.organizer_position_invite.contract.cosigner_email.present? %>
    <%= link_to resend_to_cosigner_contract_path(organizer_position.organizer_position_invite.contract), data: { turbo_method: :post } do %>
    Resend to the cosigner
    <% end %>
    <% end %>
    </div>
    </div>
    <% else %>
    <%= link_to "#", class: "warning", data: { behavior: "modal_trigger", modal: "send_contract_#{organizer_position.organizer_position_invite.id}" } do %>
    <%= inline_icon("docs-negative", size: 24) %>
    <% end %>
    <section class="modal modal--scroll bg-snow" data-behavior="modal" role="dialog" id="send_contract_<%= organizer_position.organizer_position_invite.id %>">
    <%= modal_header "Send a contract" %>
    <%= render "organizer_position_invites/contract_form", opi: organizer_position.organizer_position_invite %>
    </section>
    <% end %>

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions