74 lines
1.7 KiB
C++
74 lines
1.7 KiB
C++
/*
|
|
* SaveAllWorkflowsCmd.cpp
|
|
*
|
|
* Created on: 2012-10-19
|
|
* Author: dev
|
|
*/
|
|
|
|
#include "SaveAllWorkflowsCmd.h"
|
|
#include "PaiWorkflowDataModel.h"
|
|
#include "SaveHelper.h"
|
|
#include "SaveWorkflowCmd.h"
|
|
#include "TimeStampLogger.h"
|
|
#include "PaiWorkflowTemplateTree.h"
|
|
#include "SaveTemplateCmd.h"
|
|
#include "PaiPermissionChecker.h"
|
|
|
|
using namespace pai::objectmodel;
|
|
using namespace pai::gui;
|
|
|
|
namespace pai
|
|
{
|
|
SaveAllWorkflowsCmd::SaveAllWorkflowsCmd(QUuid viewID, pai::CPaiWorkflowTemplateTree *pTemplateTree, QUndoCommand *parent)
|
|
:QUndoCommand(parent),
|
|
m_ViewID(viewID),
|
|
m_pTemplateTree(pTemplateTree)
|
|
{
|
|
|
|
}
|
|
|
|
SaveAllWorkflowsCmd::~SaveAllWorkflowsCmd()
|
|
{
|
|
}
|
|
|
|
void SaveAllWorkflowsCmd::undo()
|
|
{
|
|
|
|
}
|
|
|
|
void SaveAllWorkflowsCmd::redo()
|
|
{
|
|
pai::gui::TimeStampLogger::GetInstance().WriteGUIBenchMarkLog("Workflow", true, "Save all workflows");
|
|
|
|
SaveAllWorkflows();
|
|
|
|
pai::gui::TimeStampLogger::GetInstance().WriteGUIBenchMarkLog("Workflow", false, "Save all workflows");
|
|
}
|
|
|
|
void SaveAllWorkflowsCmd::SaveAllWorkflows()
|
|
{
|
|
QList<PaiWorkflowDataModel*> lstModifiedWorkflows = SaveHelper::GetModifiedWorkflows(m_ViewID);
|
|
|
|
foreach(PaiWorkflowDataModel* pModifiedWorkflow, lstModifiedWorkflows)
|
|
{
|
|
if(PaiPermissionChecker::HasPermission(dynamic_cast<PaiObject*>(pModifiedWorkflow),PaiAction::PaiPermissionTypes(PaiAction::UPDATE)))
|
|
{
|
|
if(pModifiedWorkflow->IsTemplate() == false)
|
|
{
|
|
SaveWorkflowCmd saveWorkflowCmd(m_ViewID,pModifiedWorkflow);
|
|
saveWorkflowCmd.redo();
|
|
}
|
|
else
|
|
{
|
|
if(m_pTemplateTree)
|
|
{
|
|
SaveTemplateCmd saveTemplateCmd(m_pTemplateTree,pModifiedWorkflow);
|
|
saveTemplateCmd.redo();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|