void dspRunningAvailability::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *pSelected, int) { QAction *menuItem; QString ordertype = pSelected->text(list()->column("ordertype")); if (ordertype == tr("Planned W/O (firmed)") || ordertype == tr("Planned W/O") || ordertype == tr("Planned P/O (firmed)") || ordertype == tr("Planned P/O") ) { if (ordertype == tr("Planned W/O (firmed)") || ordertype == tr("Planned P/O (firmed)") ) pMenu->addAction(tr("Soften Order..."), this, SLOT(sSoftenOrder())); else pMenu->addAction(tr("Firm Order..."), this, SLOT(sFirmOrder())); pMenu->addAction(tr("Release Order..."), this, SLOT(sReleaseOrder())); pMenu->addAction(tr("Delete Order..."), this, SLOT(sDeleteOrder())); } else if (ordertype.contains("W/O") && !(ordertype == tr("Planned W/O Req. (firmed)") || ordertype == tr("Planned W/O Req."))) { pMenu->addAction(tr("View Work Order Details..."), this, SLOT(sViewWo())); menuItem = pMenu->addAction(tr("Work Order Schedule by Item..."), this, SLOT(sDspWoScheduleByWorkOrder())); menuItem->setEnabled( _privileges->check("MaintainWorkOrders") || _privileges->check("ViewWorkOrders")); } else if (ordertype == "S/O") { menuItem = pMenu->addAction(tr("View Sales Order..."), this, SLOT(sViewSo())); menuItem->setEnabled(_privileges->check("ViewSalesOrders")); menuItem = pMenu->addAction(tr("Edit Sales Order..."), this, SLOT(sEditSo())); menuItem->setEnabled(_privileges->check("MaintainSalesOrders")); } else if (ordertype == "T/O") { menuItem = pMenu->addAction(tr("View Transfer Order..."), this, SLOT(sViewTo())); menuItem->setEnabled(_privileges->check("ViewTransferOrders")); menuItem = pMenu->addAction(tr("Edit Transfer Order..."), this, SLOT(sEditTo())); menuItem->setEnabled(_privileges->check("MaintainTransferOrders")); } else if (ordertype == "P/O") { menuItem = pMenu->addAction(tr("View Purchase Order..."), this, SLOT(sViewPo())); menuItem->setEnabled(_privileges->check("ViewPurchaseOrders")); menuItem = pMenu->addAction(tr("Edit Purchase Order..."), this, SLOT(sEditPo())); menuItem->setEnabled(_privileges->check("MaintainPurchaseOrders")); } }
void dspRunningAvailability::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *pSelected) { int menuItem; if (pSelected->text(ORDERTYPE_COL) == tr("Planned W/O (firmed)") || pSelected->text(ORDERTYPE_COL) == tr("Planned W/O") || pSelected->text(ORDERTYPE_COL) == tr("Planned P/O (firmed)") || pSelected->text(ORDERTYPE_COL) == tr("Planned P/O") ) { if (pSelected->text(ORDERTYPE_COL) == tr("Planned W/O (firmed)") || pSelected->text(ORDERTYPE_COL) == tr("Planned P/O (firmed)") ) pMenu->insertItem(tr("Soften Order..."), this, SLOT(sSoftenOrder()), 0); else pMenu->insertItem(tr("Firm Order..."), this, SLOT(sFirmOrder()), 0); pMenu->insertItem(tr("Release Order..."), this, SLOT(sReleaseOrder()), 0); pMenu->insertItem(tr("Delete Order..."), this, SLOT(sDeleteOrder()), 0); } else if (pSelected->text(ORDERTYPE_COL).contains("W/O") && !(pSelected->text(ORDERTYPE_COL) == tr("Planned W/O Req. (firmed)") || pSelected->text(ORDERTYPE_COL) == tr("Planned W/O Req."))) { pMenu->insertItem(tr("View Work Order Details..."), this, SLOT(sViewWo()), 0); menuItem = pMenu->insertItem(tr("Work Order Schedule..."), this, SLOT(sDspWoScheduleByWorkOrder()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("MaintainWorkOrders") || _privileges->check("ViewWorkOrders")); } else if (pSelected->text(ORDERTYPE_COL) == "S/O") { menuItem = pMenu->insertItem(tr("View Sales Order..."), this, SLOT(sViewSo()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewSalesOrders")); } else if (pSelected->text(ORDERTYPE_COL) == "T/O") { menuItem = pMenu->insertItem(tr("View Transfer Order..."), this, SLOT(sViewTo()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewTransferOrders")); } }
menuManufacture::menuManufacture(GUIClient *Pparent) : QObject(Pparent) { setObjectName("woModule"); parent = Pparent; toolBar = new QToolBar(tr("Manufacture Tools")); toolBar->setObjectName("Manufacture Tools"); toolBar->setIconSize(QSize(32, 32)); if (_preferences->boolean("ShowWOToolbar")) parent->addToolBar(toolBar); mainMenu = new QMenu(parent); ordersMenu = new QMenu(parent); formsMenu = new QMenu(parent); materialsMenu = new QMenu(parent); materialsIssueMenu = new QMenu(parent); materialsReturnMenu = new QMenu(parent); transactionsMenu = new QMenu(parent); reportsMenu = new QMenu(parent); reportsScheduleMenu = new QMenu(parent); reportsHistoryMenu = new QMenu(parent); reportsMatlReqMenu = new QMenu(parent); reportsMatlUseVarMenu = new QMenu(parent); reportsOpenWoMenu = new QMenu(parent); utilitiesMenu = new QMenu(parent); mainMenu->setObjectName("menu.manu"); ordersMenu->setObjectName("menu.manu.orders"); formsMenu->setObjectName("menu.manu.forms"); materialsMenu->setObjectName("menu.manu.materials"); materialsIssueMenu->setObjectName("menu.manu.materialsissue"); materialsReturnMenu->setObjectName("menu.manu.materialsreturn"); transactionsMenu->setObjectName("menu.manu.transactions"); reportsMenu->setObjectName("menu.manu.reports"); reportsScheduleMenu->setObjectName("menu.manu.reportsschedule"); reportsHistoryMenu->setObjectName("menu.manu.reportshistory"); reportsMatlReqMenu->setObjectName("menu.manu.reportsmatlreq"); reportsMatlUseVarMenu->setObjectName("menu.manu.reportsmatlusevar"); reportsOpenWoMenu->setObjectName("menu.manu.reportsopenwo"); utilitiesMenu->setObjectName("menu.manu.utilities"); actionProperties acts[] = { // Production | Control { "menu", tr("&Work Order"), (char*)ordersMenu, mainMenu, "true", 0, 0, true, NULL }, { "wo.newWorkOrder", tr("&New..."), SLOT(sNewWorkOrder()), ordersMenu, "MaintainWorkOrders", 0, 0, true, NULL }, { "separator", NULL, NULL, ordersMenu, "true", 0, 0, true, NULL }, { "wo.explodeWorkOrder", tr("E&xplode..."), SLOT(sExplodeWorkOrder()), ordersMenu, "ExplodeWorkOrders", 0, 0, true, NULL }, { "wo.implodeWorkOrder", tr("&Implode..."), SLOT(sImplodeWorkOrder()), ordersMenu, "ImplodeWorkOrders", 0, 0, true, NULL }, { "wo.releaseWorkOrdersByPlannerCode", tr("&Release..."), SLOT(sReleaseWorkOrdersByPlannerCode()), ordersMenu, "ReleaseWorkOrders", 0, 0, true, NULL }, { "wo.closeWorkOrder", tr("&Close..."), SLOT(sCloseWorkOrder()), ordersMenu, "CloseWorkOrders", 0, 0, true, NULL }, { "separator", NULL, NULL, ordersMenu, "true", 0, 0, true, NULL }, { "wo.reprioritizeWorkOrder", tr("Re&prioritize..."), SLOT(sReprioritizeWorkOrder()), ordersMenu, "ReprioritizeWorkOrders",0, 0, true, NULL }, { "wo.rescheduleWorkOrder", tr("Re&schedule..."), SLOT(sRescheduleWorkOrder()), ordersMenu, "RescheduleWorkOrders", 0, 0, true, NULL }, { "wo.changeWorkOrderQuantity",tr("Change &Quantity..."), SLOT(sChangeWorkOrderQty()), ordersMenu, "ChangeWorkOrderQty", 0, 0, true, NULL }, // Production | W/O Materials { "menu", tr("&Materials"), (char*)materialsMenu, mainMenu, "true", 0, 0, true, NULL }, { "wo.createWoMaterialRequirement", tr("&New..."), SLOT(sCreateWoMaterialRequirement()), materialsMenu, "MaintainWoMaterials", 0, 0, true, NULL }, { "wo.maintainWoMaterialRequirements",tr("&Maintain..."), SLOT(sMaintainWoMaterials()), materialsMenu, "MaintainWoMaterials", 0, 0, true, NULL }, { "separator", NULL, NULL, mainMenu, "true", 0, 0, true, NULL }, // Production | Transactions { "menu", tr("&Transactions"), (char*)transactionsMenu, mainMenu, "true", 0, 0, true, NULL }, // Production |Transactions | Issue { "menu", tr("&Issue Material"), (char*)materialsIssueMenu, transactionsMenu, "true", 0, 0, true, NULL }, { "wo.issueWoMaterialBatch", tr("&Batch..."), SLOT(sIssueWoMaterialBatch()), materialsIssueMenu, "IssueWoMaterials", 0, 0, true, NULL }, { "wo.issueWoMaterialItem", tr("&Item..."), SLOT(sIssueWoMaterialItem()), materialsIssueMenu, "IssueWoMaterials", 0, 0, true, NULL }, // Production | Transactions | Return { "menu", tr("Ret&urn Material"), (char*)materialsReturnMenu, transactionsMenu, "true", 0, 0, true, NULL }, { "wo.returnWoMaterialBatch", tr("&Batch..."), SLOT(sReturnWoMaterialBatch()), materialsReturnMenu, "ReturnWoMaterials", 0, 0, true, NULL }, { "wo.returnWoMaterialItem", tr("&Item..."), SLOT(sReturnWoMaterialItem()), materialsReturnMenu, "ReturnWoMaterials", 0, 0, true, NULL }, { "wo.scrapWoMaterialFromWo", tr("&Scrap..."), SLOT(sScrapWoMaterialFromWo()), transactionsMenu, "ScrapWoMaterials", 0, 0, true, NULL }, { "separator", NULL, NULL, transactionsMenu, "true", 0, 0, true, NULL }, { "wo.postProduction", tr("Post Productio&n..."), SLOT(sPostProduction()), transactionsMenu, "PostProduction", 0, 0, true, NULL }, { "wo.correctProductionPosting",tr("C&orrect Production Posting..."),SLOT(sCorrectProductionPosting()),transactionsMenu, "PostProduction", 0, 0, true, NULL }, { "wo.closeWorkOrder", tr("&Close Work Order..."), SLOT(sCloseWorkOrder()), transactionsMenu, "CloseWorkOrders", 0, 0, true, NULL }, { "separator", NULL, NULL, transactionsMenu, "true", 0, 0, true, NULL }, { "wo.postMiscProduction", tr("Post &Misc. Production..."), SLOT(sPostMiscProduction()), transactionsMenu, "PostMiscProduction",0, 0, true, NULL }, { "separator", NULL, NULL, mainMenu, "true", 0, 0, true, NULL }, // Production | Forms { "menu", tr("&Forms"), (char*)formsMenu, mainMenu, "true", 0, 0, true, NULL }, { "wo.printTraveler", tr("Print &Traveler..."), SLOT(sPrintTraveler()), formsMenu, "PrintWorkOrderPaperWork", 0, 0, true, NULL }, { "wo.printPickList", tr("Print &Pick List..."), SLOT(sPrintPickList()), formsMenu, "PrintWorkOrderPaperWork", 0, 0, true, NULL }, { "separator", NULL, NULL, formsMenu, "true", 0, 0, true, NULL }, { "wo.rptPrintWorkOrderForm",tr("Print &Work Order Form..."),SLOT(sPrintWorkOrderForm()),formsMenu, "PrintWorkOrderPaperWork", 0, 0, true, NULL }, // Production | Reports { "menu", tr("&Reports"), (char*)reportsMenu, mainMenu, "true", 0, 0, true, NULL }, // Production | Reports | Schedule { "menu", tr("Work Order &Schedule"),(char*)reportsScheduleMenu, reportsMenu, "true", 0, 0, true, NULL }, { "wo.dspWoScheduleByPlannerCode", tr("by &Planner Code..."), SLOT(sDspWoScheduleByPlannerCode()),reportsScheduleMenu, "MaintainWorkOrders ViewWorkOrders", QPixmap(":/images/dspWoScheduleByPlannerCode.png"), toolBar, true, tr("Work Order Schedule by Planner Code") }, { "wo.dspWoScheduleByClassCode", tr("by &Class Code..."), SLOT(sDspWoScheduleByClassCode()), reportsScheduleMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "wo.dspWoScheduleByItemGroup", tr("by Item &Group..."), SLOT(sDspWoScheduleByItemGroup()), reportsScheduleMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "wo.dspWoScheduleByItem", tr("by &Item..."), SLOT(sDspWoScheduleByItem()), reportsScheduleMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "wo.dspWoScheduleByWorkOrder", tr("by &Work Order..."), SLOT(sDspWoScheduleByWorkOrder()), reportsScheduleMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, // Production | Reports | Material Requirements { "menu", tr("&Material Requirements"),(char*)reportsMatlReqMenu, reportsMenu, "true", 0, 0, true, NULL }, { "wo.dspWoMaterialRequirementsByWorkOrder", tr("by &Work Order..."), SLOT(sDspWoMaterialsByWo()), reportsMatlReqMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "wo.dspWoMaterialRequirementsByComponentItem",tr("by &Component Item..."), SLOT(sDspWoMaterialsByComponentItem()), reportsMatlReqMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "wo.dspInventoryAvailabilityByWorkOrder", tr("&Inventory Availability..."), SLOT(sDspInventoryAvailabilityByWorkOrder()), reportsMenu, "ViewInventoryAvailability", 0, 0, true, NULL }, { "wo.dspPendingWoMaterialAvailability", tr("&Pending Material Availability..."),SLOT(sDspPendingAvailability()), reportsMenu, "ViewInventoryAvailability", 0, 0, true, NULL }, { "separator", NULL, NULL, reportsMenu, "true", 0, 0, true, NULL }, // Production | Reports | History { "menu", tr("&History"), (char*)reportsHistoryMenu, reportsMenu, "true", 0, 0, true, NULL }, { "wo.dspWoHistoryByClassCode", tr("by &Class Code..."), SLOT(sDspWoHistoryByClassCode()), reportsHistoryMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "wo.dspWoHistoryByItem", tr("by &Item..."), SLOT(sDspWoHistoryByItem()), reportsHistoryMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "wo.dspWoHistoryByNumber", tr("by &W/O Number..."), SLOT(sDspWoHistoryByNumber()), reportsHistoryMenu, "MaintainWorkOrders ViewWorkOrders", 0, 0, true, NULL }, { "separator", NULL, NULL, reportsMenu, "true", 0, 0, true, NULL }, { "wo.dspJobCosting", tr("&Job Costing..."), SLOT(sDspJobCosting()), reportsMenu, "ViewCosts", 0, 0, true, NULL }, // Production | Reports | Material Usage Variance { "menu", tr("Material &Usage Variance"),(char*)reportsMatlUseVarMenu, reportsMenu, "true", 0, 0, true, NULL }, { "wo.dspMaterialUsageVarianceByWarehouse", tr("by &Site..."), SLOT(sDspMaterialUsageVarianceByWarehouse()), reportsMatlUseVarMenu, "ViewMaterialVariances", 0, 0, true, NULL }, { "wo.dspMaterialUsageVarianceByItem", tr("by &Item..."), SLOT(sDspMaterialUsageVarianceByItem()), reportsMatlUseVarMenu, "ViewMaterialVariances", 0, 0, true, NULL }, { "wo.dspMaterialUsageVarianceByBOMItem", tr("by &BOM Item..."), SLOT(sDspMaterialUsageVarianceByBOMItem()), reportsMatlUseVarMenu, "ViewMaterialVariances", 0, 0, true, NULL }, { "wo.dspMaterialUsageVarianceByComponentItem",tr("by &Component Item..."), SLOT(sDspMaterialUsageVarianceByComponentItem()),reportsMatlUseVarMenu, "ViewMaterialVariances", 0, 0, true, NULL }, { "wo.dspMaterialUsageVarianceByWorkOrder", tr("by &Work Order..."), SLOT(sDspMaterialUsageVarianceByWorkOrder()), reportsMatlUseVarMenu, "ViewMaterialVariances", 0, 0, true, NULL }, { "separator", NULL, NULL, reportsMenu, "true", 0, 0, true, NULL }, // Production | Reports | Open Work Orders { "menu", tr("Ope&n Work Orders"), (char*)reportsOpenWoMenu, reportsMenu, "true", 0, 0, true, NULL}, { "wo.dspOpenWorkOrdersWithClosedParentSalesOrders",tr("with &Closed Parent Sales Orders..."),SLOT(sDspWoSoStatusMismatch()),reportsOpenWoMenu,"MaintainWorkOrders ViewWorkOrders",0, 0, true, NULL}, { "wo.dspOpenWorkOrdersWithParentSalesOrders", tr("with &Parent Sales Orders..."), SLOT(sDspWoSoStatus()), reportsOpenWoMenu,"MaintainWorkOrders ViewWorkOrders",0, 0, true, NULL}, { "separator", NULL, NULL, mainMenu, "true", 0, 0, true, NULL }, { "menu", tr("&Utilities"), (char*)utilitiesMenu, mainMenu, "true", 0, 0, true, NULL }, { "wo.purgeClosedWorkOrder",tr("Pur&ge Closed Work Orders..."), SLOT(sPurgeClosedWorkOrders()), utilitiesMenu, "PurgeWorkOrders", 0, 0, true, NULL }, }; addActionsToMenu(acts, sizeof(acts) / sizeof(acts[0])); parent->populateCustomMenu(mainMenu, "Manufacture"); QAction * m = parent->menuBar()->addMenu(mainMenu); if(m) m->setText(tr("&Manufacture")); }