Как изменить проект по умолчанию для нескольких пользователей
Bulk скрипты в TrackStudio предназначены для выполнения операций над одной или несколькими выбранными из списка задачами. Однако использовать их можно и для более широких целей. Например, для изменения проекта по умолчанию для группы пользователей.
В данном скрипте меняется проект по умолчанию для всех пользователей, которые имеют доступ к выбранной задаче. При желании вы можете модифицировать код и менять другие параметры. Например, часовой пояс.
В скрипте мы получаем список пользователей, доступных через ACL, с помощью метода getUserList адаптера SecuredAclAdapterManager. Затем, перебирая список, мы устанавливаем новые свойства для пользователей через updateUser адаптера SecuredUserAdapterManager.
package scripts.bulk; import java.util.ArrayList; import com.trackstudio.app.adapter.AdapterManager; import com.trackstudio.exception.GranException; import com.trackstudio.external.TaskBulkProcessor; import com.trackstudio.secured.SecuredTaskBean; import com.trackstudio.secured.SecuredUserBean; import com.trackstudio.securedkernel.SecuredUserAdapterManager; public class ChangeUsersProperties implements TaskBulkProcessor { @Override public SecuredTaskBean execute(SecuredTaskBean task) throws GranException { SecuredUserAdapterManager uam = AdapterManager.getInstance() .getSecuredUserAdapterManager(); ArrayList<SecuredUserBean> users = AdapterManager.getInstance() .getSecuredAclAdapterManager() .getUserList(task.getSecure(), task.getId()); for (SecuredUserBean u : users) uam.updateUser(task.getSecure(), u.getId(), u.getLogin(), u.getName(), u.getTel(), u.getEmail(), u.getPrstatusId(), u.getManagerId(), u.getTimezone(), u.getLocale(), u.getCompany(), u.getTemplate(), task.getId(), u.getExpireDate(), u.getPreferences(), u.isEnabled()); return task; } }
Для изменения других свойств пользователей новые значения нужно подставить в метод updateUser и перекомпилировать скрипт. Исходные коды и файл класса прилагаются.
Файл класса нужно положить в папку etc/plugins/scripts/bulk вашего экземпляра TrackStudio.
Attachment | Size |
---|---|
ChangeUsersProperties.class | 2.7 KB |
ChangeUsersProperties.java | 1.09 KB |