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_hashindata-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— tableidanddata-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->aqty1through$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->aqty1through$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