src.dualinventive.com/mtinfo/dist/webroot/rc-4.05/scripts/page/menu_woitem_info.php

99 lines
3.8 KiB
PHP

<?php
/** \file scripts\page\menu_woitem_info.php
* \brief DI webinterface menu workorder item maintenance script.
* \author Jack, Core|Vision
* \version $Revision: 26247 $
* \date $Date: 2016-02-29 10:40:22 +0100 (Mon, 29 Feb 2016) $
*
* This file contains the menu workorder item maintenance
*
*/
//=== Menu structure ===
// Check that this page is called with the correct action (to prevent illegal access)
if( !is_valid_action("workorder_item_new","workorder_item_duplicate","workorder_item_change","workorder_item_info") ) {
// Redirect page back to login page
force_logout(_("No valid rights"), "Invalid action: " . current_action(TRUE));
}
$page = new MTinfoPage();
//===========================================
// Verify project/rights and log
if( $page->user_has_rights() ) {
// Clear old values
if (is_valid_action("workorder_item_new")) {
if (!$_SESSION[$_PAGE_INFO['id']]['recall_counter']) {
unset($_SESSION[$_PAGE_INFO['id']]['woitem_info']);
unset($_SESSION[$_PAGE_INFO['id']]['woitem_doc']);
$_SESSION[$_PAGE_INFO['id']]['woitem_info']['device'] = $_SESSION[$_PAGE_INFO['id']]['defaults']['s&o']['device'];
}
}
else if( is_valid_action("workorder_item_info","workorder_item_duplicate","workorder_item_change") ) {
// Check if this is a recall action
if( !$_SESSION[$_PAGE_INFO['id']]['recall_counter'] ) {
// get the identifier from either the command-line or the search screen
if( isset($_GET['woitem_id']) ) {
// set change log identifier from the URL
$_SESSION[$_PAGE_INFO['id']]['woitem_id'] = decrypt($_GET['woitem_id'], "woitem_id_" . $_SESSION[$_PAGE_INFO['id']]['login']['user']['id']);
}
else {
$_SESSION[$_PAGE_INFO['id']]['woitem_id'] = $_SESSION[$_PAGE_INFO['id']]['search']['s&o']['woitem_id'];
}
$woitem = db_fetch_workorder_item($_SESSION[$_PAGE_INFO['id']]['woitem_id']);
if( $woitem ) {
$_SESSION[$_PAGE_INFO['id']]['woitem_info'] = $woitem;
// pre-fetch the documents and other uploads
$_SESSION[$_PAGE_INFO['id']]['woitem_doc'] = db_fetch_files($_SESSION[$_PAGE_INFO['id']]['woitem_id'], "werkopdracht_documenten", is_valid_action("workorder_item_duplicate"), "ASC");
// duplicate the original documents
if( is_valid_action("workorder_item_duplicate") ) {
// zap the database identifer of the original item
$_SESSION[$_PAGE_INFO['id']]['woitem_info']['id'] = "tmp_copy_" . $woitem['id'];
// copy the documents
$documents = $_SESSION[$_PAGE_INFO['id']]['woitem_doc'];
$_SESSION[$_PAGE_INFO['id']]['woitem_doc'] = array();
foreach( $documents as $doc ) {
$_SESSION[$_PAGE_INFO['id']]['woitem_doc'][] = db_duplicate_file($doc);
}
// clean up
unset($documents);
}
}
else {
// ID not valid!!! => Redirect back to search menu
header("Location: ?id=" . $_PAGE_INFO['id'] . "&href=page/menu_woitem_search&action=" . current_action(TRUE));
}
}
}
// Nested call?
if (!$_SESSION[$_PAGE_INFO['id']]['recall_counter']) {
$_SESSION[$_PAGE_INFO['id']]['woitem_info']['return_action'] = $_SESSION[$_PAGE_INFO['id']]['return_action'];
}
// Add calendar to header
$extra_header_HTML = "<script type=\"text/javascript\" src=\"" . JAVA_DIR . "calender.js\"></script>\n";
// Show page header
$y_position = (isset($_SESSION[$_PAGE_INFO['id']]['woitem_info']['y_position'])) ? ($_SESSION[$_PAGE_INFO['id']]['woitem_info']['y_position']) : 0;
print_xml_header($y_position, $extra_header_HTML);
// Include info content
include("menu_woitem_info_content.php");
// Show page footer
print_page_footer();
}
else {
// Redirect page back to login page
force_logout(_("No valid rights"), "No rights for menu " . $page->menu . ": " . $page->rights);
}
?>