Search in sources :

Example 1 with SectionImpl

use of org.olat.modules.portfolio.model.SectionImpl in project OpenOLAT by OpenOLAT.

the class PortfolioServiceImpl method deleteAssignment.

@Override
public boolean deleteAssignment(Assignment assignment) {
    Assignment reloadedAssignment = assignmentDao.loadAssignmentByKey(assignment.getKey());
    Section reloadedSection = reloadedAssignment.getSection();
    boolean removed = false;
    if (reloadedSection != null) {
        removed = ((SectionImpl) reloadedSection).getAssignments().remove(reloadedAssignment);
    }
    assignmentDao.deleteAssignment(reloadedAssignment);
    if (removed) {
        binderDao.updateSection(reloadedSection);
    }
    return true;
}
Also used : Assignment(org.olat.modules.portfolio.Assignment) AssessmentSection(org.olat.modules.portfolio.AssessmentSection) Section(org.olat.modules.portfolio.Section) SectionImpl(org.olat.modules.portfolio.model.SectionImpl) AssessmentSectionImpl(org.olat.modules.portfolio.model.AssessmentSectionImpl)

Example 2 with SectionImpl

use of org.olat.modules.portfolio.model.SectionImpl in project OpenOLAT by OpenOLAT.

the class PortfolioServiceImpl method changeSectionStatus.

@Override
public Section changeSectionStatus(Section section, SectionStatus status, Identity coach) {
    PageStatus newPageStatus;
    if (status == SectionStatus.closed) {
        newPageStatus = PageStatus.closed;
    } else {
        newPageStatus = PageStatus.inRevision;
    }
    Section reloadedSection = binderDao.loadSectionByKey(section.getKey());
    List<Page> pages = reloadedSection.getPages();
    for (Page page : pages) {
        if (page != null) {
            ((PageImpl) page).setPageStatus(newPageStatus);
            pageDao.updatePage(page);
            if (newPageStatus == PageStatus.closed) {
                // set user informations to done
                pageUserInfosDao.updateStatus(page, PageUserStatus.done);
            }
        }
    }
    ((SectionImpl) reloadedSection).setSectionStatus(status);
    reloadedSection = binderDao.updateSection(reloadedSection);
    return reloadedSection;
}
Also used : PageImpl(org.olat.modules.portfolio.model.PageImpl) PageStatus(org.olat.modules.portfolio.PageStatus) AssessedPage(org.olat.modules.portfolio.model.AssessedPage) Page(org.olat.modules.portfolio.Page) AssessmentSection(org.olat.modules.portfolio.AssessmentSection) Section(org.olat.modules.portfolio.Section) SectionImpl(org.olat.modules.portfolio.model.SectionImpl) AssessmentSectionImpl(org.olat.modules.portfolio.model.AssessmentSectionImpl)

Example 3 with SectionImpl

use of org.olat.modules.portfolio.model.SectionImpl in project OpenOLAT by OpenOLAT.

the class PortfolioServiceImpl method appendNewPage.

private Page appendNewPage(Identity owner, String title, String summary, String imagePath, boolean editable, PageImageAlign align, SectionRef section) {
    Section reloadedSection = section == null ? null : binderDao.loadSectionByKey(section.getKey());
    if (reloadedSection != null && reloadedSection.getSectionStatus() == SectionStatus.notStarted) {
        ((SectionImpl) reloadedSection).setSectionStatus(SectionStatus.inProgress);
    }
    Page page = pageDao.createAndPersist(title, summary, imagePath, align, editable, reloadedSection, null);
    groupDao.addMembershipTwoWay(page.getBaseGroup(), owner, PortfolioRoles.owner.name());
    return page;
}
Also used : AssessedPage(org.olat.modules.portfolio.model.AssessedPage) Page(org.olat.modules.portfolio.Page) AssessmentSection(org.olat.modules.portfolio.AssessmentSection) Section(org.olat.modules.portfolio.Section) SectionImpl(org.olat.modules.portfolio.model.SectionImpl) AssessmentSectionImpl(org.olat.modules.portfolio.model.AssessmentSectionImpl)

Example 4 with SectionImpl

use of org.olat.modules.portfolio.model.SectionImpl in project OpenOLAT by OpenOLAT.

the class PortfolioServiceImpl method appendNewSection.

@Override
public SectionRef appendNewSection(String title, String description, Date begin, Date end, BinderRef binder) {
    Binder reloadedBinder = binderDao.loadByKey(binder.getKey());
    SectionImpl newSection = binderDao.createSection(title, description, begin, end, reloadedBinder);
    return new SectionKeyRef(newSection.getKey());
}
Also used : Binder(org.olat.modules.portfolio.Binder) AssessedBinder(org.olat.modules.portfolio.model.AssessedBinder) SynchedBinder(org.olat.modules.portfolio.model.SynchedBinder) SectionKeyRef(org.olat.modules.portfolio.model.SectionKeyRef) SectionImpl(org.olat.modules.portfolio.model.SectionImpl) AssessmentSectionImpl(org.olat.modules.portfolio.model.AssessmentSectionImpl)

Example 5 with SectionImpl

use of org.olat.modules.portfolio.model.SectionImpl in project OpenOLAT by OpenOLAT.

the class BinderDAO method createSection.

/**
 * Add a section to a binder. The binder must be a fresh reload one
 * with the possibility to lazy load the sections.
 *
 * @param title
 * @param description
 * @param begin
 * @param end
 * @param binder
 */
public SectionImpl createSection(String title, String description, Date begin, Date end, Binder binder) {
    SectionImpl section = new SectionImpl();
    section.setCreationDate(new Date());
    section.setLastModified(section.getCreationDate());
    section.setBaseGroup(groupDao.createGroup());
    section.setTitle(title);
    section.setDescription(description);
    section.setBeginDate(begin);
    section.setEndDate(end);
    section.setOverrideBeginEndDates(false);
    section.setStatus(SectionStatus.notStarted.name());
    // force load of the list
    ((BinderImpl) binder).getSections().size();
    section.setBinder(binder);
    ((BinderImpl) binder).getSections().add(section);
    dbInstance.getCurrentEntityManager().persist(section);
    dbInstance.getCurrentEntityManager().merge(binder);
    return section;
}
Also used : SectionImpl(org.olat.modules.portfolio.model.SectionImpl) Date(java.util.Date)

Aggregations

SectionImpl (org.olat.modules.portfolio.model.SectionImpl)20 Section (org.olat.modules.portfolio.Section)12 AssessmentSectionImpl (org.olat.modules.portfolio.model.AssessmentSectionImpl)12 AssessmentSection (org.olat.modules.portfolio.AssessmentSection)10 Assignment (org.olat.modules.portfolio.Assignment)8 Date (java.util.Date)6 Binder (org.olat.modules.portfolio.Binder)6 Page (org.olat.modules.portfolio.Page)6 AssessedBinder (org.olat.modules.portfolio.model.AssessedBinder)6 AssessedPage (org.olat.modules.portfolio.model.AssessedPage)6 SynchedBinder (org.olat.modules.portfolio.model.SynchedBinder)6 ArrayList (java.util.ArrayList)4 PageStatus (org.olat.modules.portfolio.PageStatus)4 PageImpl (org.olat.modules.portfolio.model.PageImpl)4 File (java.io.File)2 HashMap (java.util.HashMap)2 SectionStatus (org.olat.modules.portfolio.SectionStatus)2 BinderImpl (org.olat.modules.portfolio.model.BinderImpl)2 SectionKeyRef (org.olat.modules.portfolio.model.SectionKeyRef)2