diff options
| -rwxr-xr-x | includes/classes/StockAssembly.php | 17 | ||||
| -rwxr-xr-x | list_assemblies.php | 1 | ||||
| -rwxr-xr-x | templates/user_galleries.tpl | 67 |
3 files changed, 41 insertions, 44 deletions
diff --git a/includes/classes/StockAssembly.php b/includes/classes/StockAssembly.php index c072c41..10a59d7 100755 --- a/includes/classes/StockAssembly.php +++ b/includes/classes/StockAssembly.php @@ -997,6 +997,16 @@ class StockAssembly extends StockBase { $sortSql .= " ORDER BY ".$this->mDb->convertSortmode( $pListHash['sort_mode'] )." "; } $selectSql .= ", (SELECT COUNT(*) FROM `".BIT_DB_PREFIX."stock_assembly_map` sacmc WHERE sacmc.`assembly_content_id` = lc.`content_id`) AS `child_count`"; + $X = BIT_DB_PREFIX; + $selectSql .= ", (SELECT FIRST 1 x.`xkey` FROM `{$X}liberty_xref` x WHERE x.`content_id` = lc.`content_id` AND x.`item` = '#SUP' ORDER BY x.`xorder`) AS `part_number`"; + $selectSql .= ", (SELECT FIRST 1 x.`xkey` FROM `{$X}liberty_xref` x WHERE x.`content_id` = lc.`content_id` AND x.`item` = 'KLID') AS `klid`"; + $selectSql .= ", (SELECT COUNT(*) FROM `{$X}liberty_xref` x WHERE x.`content_id` = lc.`content_id` AND x.`item` IN ('SGL','PRT','SHT','VOL')) AS `component_count`"; + $selectSql .= ", (SELECT COALESCE(SUM(CAST(xasm.`xkey` AS DOUBLE PRECISION)), 0) + FROM `{$X}liberty_xref` xasm + INNER JOIN `{$X}liberty_content` mc ON mc.`content_id` = xasm.`content_id` + AND mc.`content_type_guid` = 'stockmovement' AND mc.`user_id` = lc.`user_id` + INNER JOIN `{$X}liberty_xref` xpbld ON xpbld.`content_id` = xasm.`content_id` AND xpbld.`item` = 'PBLD' + WHERE xasm.`item` = 'ASSEMBLY' AND xasm.`xref` = lc.`content_id`) AS `prebuild_count`"; if( !empty( $pListHash['stgrp'] ) ) { $whereSql .= " AND EXISTS (SELECT 1 FROM `".BIT_DB_PREFIX."liberty_xref` sx WHERE sx.`content_id` = lc.`content_id` AND sx.`item` = ?)"; @@ -1033,6 +1043,13 @@ class StockAssembly extends StockBase { foreach( array_keys( $data ) as $assemblyId ) { $data[$assemblyId]['display_url'] = static::getDisplayUrlFromHash( $data[$assemblyId] ); $data[$assemblyId]['display_uri'] = static::getDisplayUriFromHash( $data[$assemblyId] ); + if( !empty( $data[$assemblyId]['data'] ) ) { + $parseHash = [ + 'data' => $data[$assemblyId]['data'], + 'format_guid' => $data[$assemblyId]['format_guid'] ?? 'bithtml', + ]; + $data[$assemblyId]['parsed_data'] = LibertyContent::parseDataHash( $parseHash ); + } if( empty( $pListHash['no_thumbnails'] ) ) { if( $thumbImage = $this->getThumbnailImage( $data[$assemblyId]['content_id'] ) ) { $data[$assemblyId]['thumbnail_url'] = $thumbImage->getThumbnailUrl( $thumbsize ); diff --git a/list_assemblies.php b/list_assemblies.php index 69e9db8..6f428f6 100755 --- a/list_assemblies.php +++ b/list_assemblies.php @@ -38,6 +38,7 @@ if (!empty($_REQUEST['user_id']) && is_numeric($_REQUEST['user_id'])) { $galleryList = $gStockAssembly->getList( $_REQUEST ); $gStockAssembly->invokeServices( 'content_list_function', $_REQUEST ); $gBitSmarty->assign( 'listInfo', $_REQUEST['listInfo'] ); + $gBitSmarty->assign( 'galleryList', $galleryList ); $gDefaultCenter = "bitpackage:stock/$template"; diff --git a/templates/user_galleries.tpl b/templates/user_galleries.tpl index ddf4e4e..bda5520 100755 --- a/templates/user_galleries.tpl +++ b/templates/user_galleries.tpl @@ -1,66 +1,45 @@ {strip} <div class="listing stock"> <header> - <div class="floaticon"> + <div class="floaticon hidden-print"> + <button type="button" class="btn btn-link" onclick="window.print()">{biticon ipackage="icons" iname="document-print" iexplain="Print"}</button> + {if $gBitUser->mUserId eq $gQueryUserId} + {if $gBitUser->hasPermission('p_stock_create')} + <a href="{$smarty.const.STOCK_PKG_URL}add_prebuild.php">{biticon ipackage="icons" iname="package-x-generic" iexplain="Add Prebuild"}</a> + {/if} + <a href="{$smarty.const.STOCK_PKG_URL}list_stock.php?user_id={$gQueryUserId}">{biticon ipackage="icons" iname="view-form-table" iexplain="Stock Levels"}</a> + {/if} {minifind prompt="Assemblies"} </div> - <h1>{tr}Assemblies{/tr}{if $gQueryUserId} {tr}by{/tr} {displayname user_id=$gQueryUserId}{/if}</h1> + <h1>{tr}Assemblies{/tr} {tr}by{/tr} {displayname user_id=$gQueryUserId}</h1> + <small><a href="{$smarty.const.STOCK_PKG_URL}list_assemblies.php">{tr}Assemblies{/tr}</a></small> </header> <section class="body"> - {if !$gQueryUserId} - <ul class="list-inline sortby"> - <li>{biticon ipackage="icons" iname="go-next" iexplain="sort by" iforce="icon"}</li> - {if $gBitSystem->isFeatureActive('stock_list_title')} - <li>{smartlink ititle="Name" isort="title"}</li> - {/if} - {if $gBitSystem->isFeatureActive('stock_list_user')} - <li>{smartlink ititle="Owner" isort=$gBitSystem->getConfig('users_display_name')}</li> - {/if} - {if $gBitSystem->isFeatureActive('stock_list_created')} - <li>{smartlink ititle="Created" isort="created"}</li> - {/if} - {if $gBitSystem->isFeatureActive('stock_list_lastmodif')} - <li>{smartlink ititle="Last Modified" isort="last_modified"}</li> - {/if} - {if $gBitSystem->isFeatureActive('stock_list_hits')} - <li>{smartlink ititle="Hits" isort="hits"}</li> - {/if} - </ul> - {/if} - <div class="row assemblies"> {foreach from=$galleryList key=galleryId item=gal} - <div class="col-xs-6 col-sm-4 col-md-3"> + <div class="col-xs-12 col-sm-6 col-md-4"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> <a href="{$gal.display_url|escape}"> - {if $gBitSystem->isFeatureActive('stock_list_title')} - {$gal.title|truncate|escape} - {else} - {tr}Assembly{/tr} {$gal.content_id} - {/if} + {$gal.title|truncate|escape}<br /> + <small class="text-muted">{tr}Kitlocker{/tr}: {$gal.klid|escape}</small> </a> - {if $gal.is_hidden|default:'n' == 'y' || $gal.is_private|default:'n' == 'y' || $gal.access_answer|default:false} - {biticon ipackage="icons" iname="lock" iexplain="Restricted"} - {/if} </h3> </div> <div class="panel-body"> - {if $gBitSystem->isFeatureActive('stock_list_user')} - <small>{displayname hash=$gal nolink=true}</small> - {/if} - {if $gBitSystem->isFeatureActive('stock_list_created')} - <div class="text-muted small">{$gal.created|bit_short_date}</div> - {/if} - {if $gBitSystem->isFeatureActive('stock_list_lastmodif')} - <div class="text-muted small">{tr}Modified:{/tr} {$gal.last_modified|bit_short_date}</div> + {if $gal.parsed_data} + <div class="content">{$gal.parsed_data}</div> {/if} - {if $gBitSystem->isFeatureActive('stock_list_hits')} - <div class="text-muted small">{tr}Hits:{/tr} {$gal.hits}</div> - {/if} - {include file="bitpackage:liberty/services_inc.tpl" serviceLocation='body' serviceHash=$gal} + </div> + <div class="panel-footer"> + <dl class="dl-horizontal small" style="margin-bottom:0"> + <dt>{tr}Components{/tr}</dt> + <dd>{$gal.component_count}</dd> + <dt>{tr}Prebuilt{/tr}</dt> + <dd>{$gal.prebuild_count|string_format:"%.0f"}</dd> + </dl> </div> </div> </div> |
