Search in sources :

Example 6 with UserGroup

use of org.openforis.collect.model.UserGroup in project collect by openforis.

the class UserGroupController method createItemInstance.

@Override
protected UserGroup createItemInstance() {
    UserGroup userGroup = new UserGroup();
    userGroup.setCreationDate(new Timestamp(System.currentTimeMillis()));
    userGroup.setCreatedByUser(sessionManager.getSessionState().getUser());
    return userGroup;
}
Also used : Timestamp(java.sql.Timestamp) UserGroup(org.openforis.collect.model.UserGroup)

Example 7 with UserGroup

use of org.openforis.collect.model.UserGroup in project collect by openforis.

the class DataRestoreController method startRestoreJob.

private DataRestoreJob startRestoreJob(InputStream fileInputStream, boolean newSurvey, String expectedSurveyName, User user, boolean validateRecords, boolean deleteAllRecords, OverwriteStrategy recordOverwriteStrategy) throws IOException, FileNotFoundException, ZipException {
    File tempFile = File.createTempFile("ofc_data_restore", ".collect-backup");
    FileUtils.copyInputStreamToFile(fileInputStream, tempFile);
    SurveyBackupInfo info = extractInfo(tempFile);
    CollectSurvey publishedSurvey = findPublishedSurvey(info);
    if (newSurvey) {
        checkPackagedNewSurveyValidity(info);
    } else {
        checkPackagedSurveyValidity(info, expectedSurveyName);
    }
    UserGroup newSurveyUserGroup = userGroupManager.getDefaultPublicUserGroup();
    DataRestoreJob job = jobManager.createJob(DataRestoreJob.JOB_NAME, DataRestoreJob.class);
    job.setUser(user);
    job.setStoreRestoredFile(true);
    job.setPublishedSurvey(publishedSurvey);
    job.setNewSurveyUserGroup(newSurveyUserGroup);
    job.setFile(tempFile);
    job.setRecordOverwriteStrategy(recordOverwriteStrategy);
    job.setRestoreUploadedFiles(true);
    job.setValidateRecords(validateRecords);
    job.setDeleteAllRecordsBeforeRestore(deleteAllRecords);
    String lockId = extractSurveyUri(tempFile);
    jobManager.start(job, lockId);
    return job;
}
Also used : SurveyBackupInfo(org.openforis.collect.io.SurveyBackupInfo) CollectSurvey(org.openforis.collect.model.CollectSurvey) DataRestoreJob(org.openforis.collect.io.data.DataRestoreJob) File(java.io.File) MultipartFile(org.springframework.web.multipart.MultipartFile) UserGroup(org.openforis.collect.model.UserGroup)

Example 8 with UserGroup

use of org.openforis.collect.model.UserGroup in project collect by openforis.

the class SurveyImportVM method startSurveyImport.

protected void startSurveyImport() {
    String surveyName = getFormSurveyName();
    LabelledItem userGroupItem = (LabelledItem) form.get(USER_GROUP_FIELD_NAME);
    UserGroup userGroup = userGroupManager.findByName(userGroupItem.getCode());
    String uploadedFileNameExtension = FilenameUtils.getExtension(this.uploadedFileName);
    AbstractSurveyRestoreJob job;
    if (XML_FILE_EXTENSION.equalsIgnoreCase(uploadedFileNameExtension)) {
        job = jobManager.createJob(XMLSurveyRestoreJob.class);
    } else if (CEP_FILE_EXTENSION.equalsIgnoreCase(uploadedFileNameExtension)) {
        job = jobManager.createJob(CESurveyRestoreJob.class);
    } else {
        job = jobManager.createJob(SurveyRestoreJob.class);
    }
    job.setFile(uploadedFile);
    job.setSurveyName(surveyName);
    job.setSurveyUri(uploadedSurveyUri);
    job.setUserGroup(userGroup);
    job.setRestoreIntoPublishedSurvey(false);
    job.setValidateSurvey(false);
    job.setActiveUser(getLoggedUser());
    jobManager.start(job);
    this.restoreJob = job;
    openSurveyRestoreStatusPopUp();
}
Also used : LabelledItem(org.openforis.collect.designer.model.LabelledItem) AbstractSurveyRestoreJob(org.openforis.collect.io.AbstractSurveyRestoreJob) XMLSurveyRestoreJob(org.openforis.collect.io.XMLSurveyRestoreJob) UserGroup(org.openforis.collect.model.UserGroup)

Example 9 with UserGroup

use of org.openforis.collect.model.UserGroup in project collect by openforis.

the class LocalUserGroupManager method createDefaultPrivateUserGroup.

@Override
@Transactional(readOnly = false, propagation = REQUIRED)
public UserGroup createDefaultPrivateUserGroup(User user, User createdByUser) {
    UserGroup userGroup = new UserGroup();
    userGroup.setName(getDefaultPrivateUserGroupName(user));
    userGroup.setLabel(user.getUsername() + DEFAULT_PRIVATE_USER_GROUP_LABEL_SUFFIX);
    userGroup.setVisibility(Visibility.PRIVATE);
    userGroup.setSystemDefined(true);
    userGroup.setEnabled(true);
    userGroup.setCreationDate(new Timestamp(System.currentTimeMillis()));
    userGroup.setCreatedBy(createdByUser.getId());
    dao.insert(userGroup);
    UserInGroup userInGroup = new UserInGroup();
    userInGroup.setGroupId(userGroup.getId());
    userInGroup.setUserId(user.getId());
    userInGroup.setRole(OWNER);
    userInGroup.setJoinStatus(ACCEPTED);
    userInGroup.setRequestDate(new Date());
    userInGroup.setMemberSince(new Date());
    dao.insertRelation(userInGroup);
    return userGroup;
}
Also used : UserInGroup(org.openforis.collect.model.UserInGroup) Timestamp(java.sql.Timestamp) Date(java.util.Date) UserGroup(org.openforis.collect.model.UserGroup) Transactional(org.springframework.transaction.annotation.Transactional)

Example 10 with UserGroup

use of org.openforis.collect.model.UserGroup in project collect by openforis.

the class LocalUserGroupManager method deleteDefaultPrivateGroup.

private void deleteDefaultPrivateGroup(User user) {
    UserGroup group = dao.loadByName(getDefaultPrivateUserGroupName(user));
    dao.delete(group);
}
Also used : UserGroup(org.openforis.collect.model.UserGroup)

Aggregations

UserGroup (org.openforis.collect.model.UserGroup)26 CollectSurvey (org.openforis.collect.model.CollectSurvey)7 UserInGroup (org.openforis.collect.model.UserInGroup)7 ArrayList (java.util.ArrayList)6 User (org.openforis.collect.model.User)4 Timestamp (java.sql.Timestamp)3 LabelledItem (org.openforis.collect.designer.model.LabelledItem)3 Transactional (org.springframework.transaction.annotation.Transactional)3 Date (java.util.Date)2 HashSet (java.util.HashSet)2 HttpServletResponse (javax.servlet.http.HttpServletResponse)2 AbstractSurveyRestoreJob (org.openforis.collect.io.AbstractSurveyRestoreJob)2 XMLSurveyRestoreJob (org.openforis.collect.io.XMLSurveyRestoreJob)2 SurveySummary (org.openforis.collect.model.SurveySummary)2 Response (org.openforis.commons.web.Response)2 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)2 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)2 File (java.io.File)1 HashMap (java.util.HashMap)1 LinkedHashSet (java.util.LinkedHashSet)1