Skip to content

Commit

Permalink
Merge pull request #242 from bmic-development/jw-service-calendar-ban…
Browse files Browse the repository at this point in the history
…daid

JM- Temporary Service Calendar Column Fix
  • Loading branch information
Stuart-Johnson committed May 1, 2017
2 parents 8811f8a + c0b646a commit a2968d7
Show file tree
Hide file tree
Showing 9 changed files with 60 additions and 33 deletions.
16 changes: 16 additions & 0 deletions app/assets/stylesheets/service_calendar.sass
Expand Up @@ -43,6 +43,10 @@

.table-bordered
height: 100%
thead, tbody tr
display: table
width: 100%
table-layout: fixed
thead
tr:not(:first-child)
border-bottom: 1px solid #ddd
Expand All @@ -57,6 +61,18 @@
.popover
color: black
tbody
td.service-width
width: 12%
td.subject-count-width
width: 6%
td.select-row-width
width: 5%
td.maximum-total-per-patient-width,
td.total-per-patient-per-visit-cost-per-study-width,
width: 53%
td.maximum-total-per-patient-width-template,
td.total-per-patient-per-visit-cost-per-study-width-template,
width: 54.8%
td.unit-type-number,
td.qty-type-number
height: 100%
Expand Down
11 changes: 11 additions & 0 deletions app/helpers/service_calendar_helper.rb
Expand Up @@ -44,6 +44,17 @@ def notable_type_is_related_to_li_or_liv(notable_type)
notable_type == "LineItemsVisit" || notable_type == "LineItem"
end

def display_unit_type(liv)
unit_type = liv.line_item.service.displayed_pricing_map.unit_type
if unit_type.include?("/")
unit_type = unit_type.split("/")
unit_type = unit_type.first + "/" + " " + unit_type.last
else
unit_type
end
unit_type
end

def display_service_name_and_code(notable_type, notable_id)
case notable_type
when "LineItem"
Expand Down
Expand Up @@ -25,10 +25,10 @@

-# SSR Header Row
%tr.organization-header{ class: locked ? 'text-danger' : '' }
%th.col-sm-6{ colspan: portal ? 7 : 8 }
%th{ colspan: portal ? 7 : 8 }
= display_org_name(Dashboard::ServiceCalendars.display_organization_hierarchy(livs[0]), ssr, locked)
- visit_groups.each do
%th.col-sm-1.billing-type-list.text-center
%th.billing-type-list.text-center
.row
.col-xs-4.billing-type.no-padding{ data: { toggle: 'tooltip', animation: 'false', title: t(:proper)[:service_calendar][:tooltips][:r] } }
= t(:calendars)[:pppv][:header_fields][:research]
Expand All @@ -37,10 +37,10 @@
.col-xs-4.billing-type.no-padding{ data: { toggle: 'tooltip', animation: 'false', title: t(:proper)[:service_calendar][:tooltips][:effort] } }
= t(:calendars)[:pppv][:header_fields][:percent]
- (5 - visit_groups.count).times do
%th.col-sm-1  
%th  

- unless portal
%th.col-sm-1{ colspan: 2 }
%th{ colspan: 2 }

-# Line Item Visits
- livs.each do |liv|
Expand All @@ -61,7 +61,7 @@

- unless portal
%td.unit-type.text-center
= liv.line_item.service.displayed_pricing_map.unit_type
= display_unit_type(liv)

%td.subject-count.text-center
- if locked
Expand Down
Expand Up @@ -42,7 +42,7 @@
%td.your-cost.text-center
= "$#{number_with_precision(Service.cents_to_dollars(liv.line_item.applicable_rate), precision: 2)}"
%td.unit-type.text-center
= liv.line_item.service.displayed_pricing_map.unit_type
= display_unit_type(liv)
%td.subject-count.text-center
= liv.subject_count
- visits = liv.visits.paginate(page: page.to_i, per_page: 5)
Expand Down
Expand Up @@ -18,7 +18,7 @@
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- visit_groups.each_with_index do |visit_group, index|
%th.col-sm-1.text-center
%th.text-center
- if tab == 'template'
= Dashboard::ServiceCalendars.select_column(visit_group, (page - 1) * Visit.per_page + index, portal, service_request, sub_service_request)
- elsif tab == 'quantity'
Expand All @@ -28,4 +28,4 @@
%span.t-label
= t(:calendars)[:pppv][:header_fields][:third_party]
- (visit_groups.size...Visit.per_page).each do |index|
%th.col-sm-1  
%th  
Expand Up @@ -31,25 +31,25 @@
%td.col-sm-1.text-center

%tr.maximum-total-per-patient{ class: "arm-#{arm.id} " }
%td.col-sm-5{ colspan: tab == 'template' ? 9 : 8 }
%td{ colspan: tab == 'template' ? 9 : 8, class: tab == 'template' ? "maximum-total-per-patient-width-template" : "" }
%strong
= t(:calendars)[:pppv][:totals][:maximum_per_patient]
- 5.times do |i|
%td.col-sm-1.text-center{ class: "max-total-per-patient visit-#{i+1}" }
%td.text-center{ class: "max-total-per-patient visit-#{i+1}" }
%strong
%td.col-sm-1.text-center
%td.text-center
%strong
= display_max_total_cost_per_patient(arm, line_items_visits)
%td.col-sm-1.text-center
%td.text-center

%tr.total-per-patient-per-visit-cost-per-study{ class: "arm-#{arm.id} " }
%td.col-sm-5{ colspan: tab == 'template' ? 9 : 8 }
%td{ colspan: tab == 'template' ? 9 : 8, class: tab == 'template' ? "total-per-patient-per-visit-cost-per-study-width-template" : "" }
%strong
= link_to 'javascript:void(0)',
data: { toggle: 'tooltip', placement: 'right', delay: '{"show":"500"}' },
title: t(:calendars)[:tooltips][:pppv_total_costs] do
= I18n.t('calendars.pppv.totals.total_costs', arm_name: arm.name)
%td.col-sm-5{ colspan: 6 }
%td.col-sm-1.text-center
%td{ colspan: 6 }
%td.text-center
%strong
= display_total_cost_per_arm(arm, line_items_visits)
Expand Up @@ -18,59 +18,59 @@
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%tr
%th.text-center{ class: portal ? 'col-sm-2' : 'service-header', colspan: 2, rowspan: 2 }
%th.text-center.service-header{colspan: 2, rowspan: 2 }
= t(:calendars)[:pppv][:header_fields][:service]
%th.col-sm-1.text-center{ rowspan: 2 }
%th.text-center{ rowspan: 2 }
= link_to 'javascript:void(0)',
data: { toggle: 'tooltip', placement: 'top', delay: '{"show":"500"}' },
title: t(:calendars)[:tooltips][:line_item_notes] do
= t(:calendars)[:pppv][:header_fields][:notes]
%th.col-sm-1.text-center{ rowspan: 2 }
%th.text-center{ rowspan: 2 }
= link_to 'javascript:void(0)',
data: { toggle: 'tooltip', placement: 'top', delay: '{"show":"500"}' },
title: t(:calendars)[:tooltips][:pppv_status] do
= t(:calendars)[:pppv][:header_fields][:status]
%th.col-sm-2.text-center{ colspan: 2 }
%th.text-center{ colspan: 2 }
= t(:calendars)[:pppv][:header_fields][:unit_cost]

- unless portal
%th.col-sm-1.text-center{ rowspan: 2 }
%th.text-center{ rowspan: 2 }
= link_to 'javascript:void(0)',
data: { toggle: 'tooltip', placement: 'bottom', delay: '{"show":"500"}' },
title: t(:calendars)[:tooltips][:quantity_type] do
= t(:calendars)[:pppv][:header_fields][:quantity_type]

%th.text-center{ class: portal ? 'col-sm-1' : 'subject-count-header', rowspan: 2 }
%th.text-center.subject-count-header{ rowspan: 2 }
= link_to 'javascript:void(0)',
data: { toggle: 'tooltip', placement: 'top', delay: '{"show":"500"}' },
title: t(:calendars)[:tooltips][:subject_count] do
= t(:calendars)[:pppv][:header_fields][:subject_count]
%th.select-row-header{ rowspan: 2 }
%th.visit-group-select.col-sm-5.text-center{ colspan: 5 }
%th.visit-group-select.text-center{ colspan: 5 }
= render 'service_calendars/master_calendar/pppv/visit_group_page_select', service_request: service_request, sub_service_request: sub_service_request, arm: arm, tab: tab, page: page, pages: pages, review: review, portal: portal, admin: admin

- unless portal
%th.col-sm-1.text-center{ rowspan: 2 }
%th.text-center{ rowspan: 2 }
= t(:calendars)[:pppv][:header_fields][:total_per_patient]
%th.col-sm-1.text-center{ rowspan: 2 }
%th.text-center{ rowspan: 2 }
= t(:calendars)[:pppv][:header_fields][:total_per_study]

%tr
%th.col-sm-1.text-center
%th.text-center
= link_to 'javascript:void(0)',
data: { toggle: 'tooltip', placement: 'bottom', delay: '{"show":"500"}' },
title: t(:calendars)[:tooltips][:service_rate] do
= raw(t(:calendars)[:pppv][:header_fields][:service_rate])
%th.col-sm-1.text-center
%th.text-center
= link_to 'javascript:void(0)',
data: { toggle: 'tooltip', placement: 'top', delay: '{"show":"500"}' },
title: t(:calendars)[:tooltips][:your_cost] do
= raw(t(:calendars)[:pppv][:header_fields][:your_cost])
= render 'service_calendars/master_calendar/pppv/visit_groups', service_request: service_request, arm: arm, tab: tab, visit_groups: visit_groups, portal: portal

%tr
%th.col-sm-7{ colspan: portal ? 7 : 9 }
%th{ colspan: portal ? 8 : 9 }
= render 'service_calendars/master_calendar/pppv/check_visit_columns', service_request: service_request, sub_service_request: sub_service_request, tab: tab, portal: portal, visit_groups: visit_groups, page: page

-unless portal
%th.col-sm-2{ colspan: 2 }
%th{ colspan: 2 }
Expand Up @@ -31,7 +31,7 @@
-# Line Items Visits
- livs.each do |liv|
%tr.pppv-line-item-row{ class: locked ? 'bg-danger text-danger' : '' }
%td.service-name{ colspan: 2 }
%td.service-name.service-width{ colspan: 2 }
= liv.service.display_service_name
%td.notes.text-center
= display_liv_notes(liv, @portal)
Expand All @@ -47,14 +47,14 @@

- unless portal
%td.unit-type.text-center
= liv.line_item.service.displayed_pricing_map.unit_type
= display_unit_type(liv)

%td.subject-count.text-center
%td.subject-count.text-center.subject-count-width
- if locked
= liv.subject_count
- else
%a.edit-subject-count{ class: locked ? 'locked' : '', href: 'javascript:void(0)', data: { arm_id: arm.id, name: 'subject_count', title: t(:calendars)[:pppv][:editable_fields][:subject_count], value: liv.subject_count, url: dashboard_line_items_visit_path(liv, srid: service_request.id, portal: @portal) } }
%td.text-center
%td.text-center.select-row-width
= Dashboard::ServiceCalendars.select_row(liv, sub_service_request, portal, locked)
- visits = liv.visits.paginate(page: page.to_i, per_page: 5)
- totals_hash = liv.try(:per_subject_subtotals, visits)
Expand Down
Expand Up @@ -18,7 +18,7 @@
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- visit_groups.each_with_index do |visit_group, index|
%th.visit-group-box.col-sm-1{ class: "visit-group-#{index+1}" }
%th.visit-group-box{ class: "visit-group-#{index+1}" }
.row.text-center
.col-xs-4.no-padding.text-center
= "-"
Expand Down

0 comments on commit a2968d7

Please sign in to comment.