Screen Composition

Overview

Novusoft’s screen composition is split into reusable backend headers, table fragments, a PPMP detail header, and two purchase-request print templates. The files define markup and data inputs; they do not establish that a route or caller actively includes them.

[!IMPORTANT] No enclosing caller, registration, route, or lifecycle boundary is established for these fragments, so treat them as source-declared reusable surfaces rather than proof of active runtime use. In both printable templates, the row containing Year, PR Status, and Tracking Status is enclosed in HTML comments and is not rendered. Filter, editor, and submission fragments are outside the evidence for this page.

Surface inventory

Surface Feature role Source-defined inputs or behavior Source
Global backend header Application brand and user menu BASEURL, DEFAULTLOGO, PROJECTNAME, and session identity values imspr/novusoft/views/backend/header.php
Backend content header Module title and breadcrumbs $module->title, $module->full_width, $breadgrams, and $BG['label'] imspr/novusoft/views/backend/content/header.php
PPMP detail header PPMP context summary $ppmp_name, $account, and $modepro imspr/novusoft/include/view-ppmp/view/header.php
Generic table Static record table $id, $header, $record, row class, and cell value imspr/novusoft/views/table.php
Backend data table Data-table shell with optional search $tag_id, $panel_tag_id, $url, $hash['table_id'], $action, and $cols imspr/novusoft/views/backend/table.php
PPMP-management printable template Purchase-request print composition $title, $pr_item, and purchase-request item fields imspr/novusoft/include/ppmp-management/view/template.php
PR printable template Purchase-request print composition $title, $pr_item, and purchase-request item fields imspr/novusoft/include/pr/view/template.php

Header variants

The global header defines a home link using BASEURL and places DEFAULTLOGO in an image with height 35 and PROJECTNAME as its alt text.

Its user box displays the session-derived full_name, brgy, and position values. The profile data attributes retain full_name and username as data-lock-fullname and data-lock-username.

The menu declares:

  • Change Password at BASEURL/component/common/view/change-password, with $session->user_id_hash in data-main-id.
  • Sign out at BASEURL/auth/sign-out.

The content header places $module->title in an h2. Its page-header element adds the zero-left class when $module->full_width is truthy.

The breadcrumb markup always includes a dashboard home link at BASEURL/dashboard. When $breadgrams is truthy, the fragment iterates $breadgrams and adds each $BG['label'] as a breadcrumb.

The PPMP detail fragment is a three-column table with these labels:

  • PPMP — $ppmp_name
  • Account — $account
  • Mode of Procurement — $modepro

Table variants

The generic table is nested inside panel panel-default, table-responsive, and dataTable_wrapper containers. The table id comes from $id.

Header entries from $header provide each header label and its style through $H['label'] and $H['style']. The fragment then iterates $record; each record supplies a row class through $R['class'] and a row collection. Each cell uses its class and displays its value from $RR['class'] and $RR['value'].

The backend table uses a bordered, striped data-table-list table. Its identity and client metadata are sourced from:

  • $tag_id — table id and data-table-tag-id
  • $panel_tag_id — data-panel-id
  • $url — data-url
  • $hash['table_id'] — data-table-id

The header includes ID and Special. An Action header is included only when $action!=''.

For each $cols entry, the fragment uses $C->size for the column width. When isset($C->search) && $C->search is true, the column contains a text input whose placeholder is $C->label, whose class includes search-datatables, whose panel metadata is $panel_tag_id, and whose column index is $K+3. Otherwise, the column displays $C->label directly.

The fragment’s <tbody> is empty; row population is not defined inside this view.

Printable template variants

This file is a complete HTML document with its title sourced from $title. It defines fixed #header and #footer blocks and presents the visible heading PURCHASE REQUEST, followed by City of Butuan and LOCAL GOVERNMENT UNIT.

The item body contains a foreach($pr_item as $keyPI => $PI) loop. Each item contributes a tabular row containing:

  • Item number from $keyPI+1
  • Item code from $PI->item_id
  • Quantity from the sum of $PI->aqty1 through $PI->aqty12
  • Unit from $PI->unit
  • Description from $PI->item_desc
  • Formatted unit price from $PI->unit_price
  • Formatted APV total price from $PI->apv_total_price

A Nothing Follows row follows the item loop.

This file is a separate complete HTML document with its title sourced from $title. It also defines fixed #header and #footer blocks and presents PURCHASE REQUEST, followed by City of Butuan and LOCAL GOVERNMENT UNIT.

Its item body contains a foreach($pr_item as $keyPI => $PI) loop. Each item contributes a tabular row containing:

  • Item number from $keyPI+1
  • Item code from $PI->item_id
  • Quantity from the sum of $PI->aqty1 through $PI->aqty12
  • Unit from $PI->unit
  • Description from $PI->item_desc
  • Formatted unit price from $PI->unit_price
  • Formatted APV total price from $PI->apv_total_price

A Nothing Follows row follows the item loop.

Updated