Дата создания задачи при ее дублировании.

Обсуждаем TrackStudio по-русски

Дата создания задачи при ее дублировании.

Postby a-b-c » Wed Jul 14, 2010 6:06 pm

Дублирую с помощью скрипта after_add_message:
Code: Select all
AdapterManager.getInstance().getSecuredTaskAdapterManager().pasteTasks(
      message.getSecure(),
         message.getTask().getParent().getId(),
      message.getTaskId(),
      "SINGLE_COPY");
return message;   

В результате дата создания новой задачи совпадает с датой создания исходной. Хотелось бы, чтобы дата создания была равна дате выполнения этой операции. Как это можно сделать?
TrackStudio 4.0.5 x64
Windows SA + PostgreSQL 8.4.4
a-b-c
 
Posts: 391
Joined: Fri Jul 10, 2009 10:15 am
Location: Moscow, Russia

Re: Дата создания задачи при ее дублировании.

Postby mvasenkov » Wed Jul 14, 2010 6:51 pm

a-b-c wrote:Дублирую с помощью скрипта after_add_message:
Code: Select all
AdapterManager.getInstance().getSecuredTaskAdapterManager().pasteTasks(
      message.getSecure(),
         message.getTask().getParent().getId(),
      message.getTaskId(),
      "SINGLE_COPY");
return message;   

В результате дата создания новой задачи совпадает с датой создания исходной. Хотелось бы, чтобы дата создания была равна дате выполнения этой операции. Как это можно сделать?


Варианта два. Либо копировать задачу не через pasteTasks, а через TaskManager.importTask (это Kernel-метод, т.е. не рекомендуется).
Либо после pasteTask создать SecuredTaskTriggerBean с нужной submit date и выполнить для него update().

Code: Select all
SecuredTaskBean task = message.getTask();
SecuredTaskTriggerBean t = new SecuredTaskTriggerBean(task.getId(), task.getDescription(), task.getName(), task.getAlias(), <тут дата, которая нужна>, null, task.getClosedate(), null, task.getBudget(), task.getDeadline(), task.getNumber(), task.getSubmittedId(), task.getHandlerId(), task.getHandlerUserId(), String task.getHandlerGroupId(),task.getParentId(), task.getCategoryId(), task.getWorkflowId(), task.getStatusId(), task.getResolutionId(), task.getPriorityId(),  udfMap, message.getSecure());
t.update(false);


Мы не сделали в SecuredTaskTriggerBean возможности устанавливать дату напрямую, это будет исправлено в ближайших версиях, тогда будет еще проще:
Code: Select all
SecuredTaskTriggerBean t = new SecuredTaskTriggerBean(message.getTaskId(), message.getSecure());
t.setSubmitdate(...);
t.update(false);
Skype (RU): max.vasenkov
Email/Jabber: max.vasenkov@gmail.com
http://juick.com/winzard
mvasenkov
TrackStudio Support
 
Posts: 218
Joined: Tue Jan 14, 2003 5:57 pm
Location: Smolensk

Re: Дата создания задачи при ее дублировании.

Postby a-b-c » Thu Jul 15, 2010 2:34 pm

Спасибо! Немного подправил, заработал такой вариант:
Code: Select all
SecuredTaskBean task = new SecuredTaskBean(AdapterManager.getInstance().getSecuredTaskAdapterManager().pasteTasks(message.getSecure(),
                                                                      message.getTask().getParent().getId(),
                                                                      message.getTaskId(),
                                                                      "SINGLE_COPY"),
                              message.sc);   
SecuredTaskTriggerBean ttb = new SecuredTaskTriggerBean(task.getId(),
                                  task.getDescription(),
                                  task.getName(),
                                  task.getAlias(),
                                  date(),
                                  null,
                                  null,
                                  null,
                                  task.getBudget(),
                                  task.getDeadline(),
                                  task.getNumber(),
                                  task.getSubmittedId(),
                                  task.getHandlerId(),
                                  task.getHandlerUserId(),
                                  String task.getHandlerGroupId(),
                                  task.getParentId(),
                                  task.getCategoryId(),
                                  task.getWorkflowId(),
                                  task.getStatusId(),
                                  task.getResolutionId(),
                                  task.getPriorityId(),
                                  task.getUDFValues(),
                                  task.getSecure());
ttb.update(false);      
return message;   
TrackStudio 4.0.5 x64
Windows SA + PostgreSQL 8.4.4
a-b-c
 
Posts: 391
Joined: Fri Jul 10, 2009 10:15 am
Location: Moscow, Russia


Return to TrackStudio Support [Russian]

Who is online

Users browsing this forum: No registered users and 0 guests

cron