Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
f447c7db11
core/src/main/java/se/su/dsv/scipro
gdpr
project
report
AbstractCriterion.javaAbstractGradingCriterionPoint.javaCriterion.javaGradingReport.javaGradingReportServiceImpl.javaOppositionReport.java
system
view/src
main
java/se/su/dsv/scipro/grading
CriteriaPanel.javaFillOutReportPanel.javaNoPointNoFeedbackGradingReportPdf.javaSupervisorGradingReportPdf.java
resources
test/java/se/su/dsv/scipro/grading
@ -348,8 +348,9 @@ public class ZipReporter implements Reporter {
|
||||
.filter(this::hasAssessment)
|
||||
.map(gc -> li(List.of(
|
||||
strong(text(String.format("%s (%s/%d points)",
|
||||
gradingReport.getProject().isReportLanguageSwedish() ? gc.getTitle() : gc.getTitleEn(),
|
||||
Objects.requireNonNullElse(gc.getPoints(), "-"), gc.getMaxPoints()))), p(text(gc.getFeedback()))
|
||||
gc.getTitle(gradingReport.getReportLanguage()),
|
||||
Objects.requireNonNullElse(gc.getPoints(), "-"), gc.getMaxPoints()))),
|
||||
p(text(gc.getFeedback()))
|
||||
)))
|
||||
.toList();
|
||||
list.add(ul(criteria));
|
||||
|
@ -300,8 +300,8 @@ public class Project extends DomainObject {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isReportLanguageSwedish() {
|
||||
return language != null ? language == Language.SWEDISH : getProjectType().getDegreeType() == DegreeType.BACHELOR;
|
||||
public Language getReportLanguage() {
|
||||
return Objects.requireNonNullElse(language, getProjectType().getDefaultLanguage());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,8 @@ import jakarta.persistence.Basic;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.MappedSuperclass;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
import java.util.Objects;
|
||||
@ -48,6 +50,10 @@ public abstract class AbstractCriterion extends DomainObject {
|
||||
return titleEn;
|
||||
}
|
||||
|
||||
public String getTitle(Language language) {
|
||||
return language == Language.ENGLISH ? getTitleEn() : getTitle();
|
||||
}
|
||||
|
||||
public Integer getSortOrder() {
|
||||
return this.sortOrder;
|
||||
}
|
||||
|
@ -3,6 +3,8 @@ package se.su.dsv.scipro.report;
|
||||
import se.su.dsv.scipro.system.DomainObject;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@MappedSuperclass
|
||||
@ -43,6 +45,10 @@ public abstract class AbstractGradingCriterionPoint extends DomainObject impleme
|
||||
return descriptionEn;
|
||||
}
|
||||
|
||||
public String getDescription(Language language) {
|
||||
return language == Language.ENGLISH ? getDescriptionEn() : getDescription();
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package se.su.dsv.scipro.report;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@Entity
|
||||
@ -63,6 +65,10 @@ public class Criterion extends AbstractCriterion {
|
||||
return this.descriptionEn;
|
||||
}
|
||||
|
||||
public String getDescription(Language language) {
|
||||
return language == Language.ENGLISH ? getDescriptionEn() : getDescription();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(final Object o) {
|
||||
if (o == this) return true;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package se.su.dsv.scipro.report;
|
||||
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
@ -78,8 +79,8 @@ public abstract class GradingReport extends Report {
|
||||
return project.getProjectType();
|
||||
}
|
||||
|
||||
public boolean isSwedish() {
|
||||
return project.isReportLanguageSwedish();
|
||||
public Language getReportLanguage() {
|
||||
return project.getReportLanguage();
|
||||
}
|
||||
|
||||
public Grade getGrade(GradeCalculator gradeCalculator) {
|
||||
|
@ -8,6 +8,7 @@ import se.su.dsv.scipro.grading.GradingBasis;
|
||||
import se.su.dsv.scipro.grading.ThesisSubmissionHistoryService;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.system.AbstractServiceImpl;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.util.Either;
|
||||
|
||||
@ -61,7 +62,7 @@ public class GradingReportServiceImpl extends AbstractServiceImpl<GradingReport,
|
||||
List<GradingBasis.Assessment> assessment = supervisorGradingReport.getProjectCriteria()
|
||||
.stream()
|
||||
.sorted(Comparator.comparing(GradingCriterion::getSortOrder))
|
||||
.map(gc -> toAssessment(supervisorGradingReport.isSwedish(), gc))
|
||||
.map(gc -> toAssessment(supervisorGradingReport.getReportLanguage(), gc))
|
||||
.toList();
|
||||
return new GradingBasis(
|
||||
assessment,
|
||||
@ -78,7 +79,7 @@ public class GradingReportServiceImpl extends AbstractServiceImpl<GradingReport,
|
||||
for (SupervisorGradingReport supervisorGradingReport : supervisorGradingReports) {
|
||||
for (GradingCriterion projectCriterion : supervisorGradingReport.getProjectCriteria()) {
|
||||
for (GradingBasis.Assessment assessment : gradingBasis.criteria()) {
|
||||
String title = getTitle(supervisorGradingReport.isSwedish(), projectCriterion);
|
||||
String title = projectCriterion.getTitle(supervisorGradingReport.getReportLanguage());
|
||||
if (Objects.equals(assessment.criterion().title(), title)) {
|
||||
projectCriterion.setPoints(assessment.getPoints());
|
||||
}
|
||||
@ -92,27 +93,23 @@ public class GradingReportServiceImpl extends AbstractServiceImpl<GradingReport,
|
||||
}
|
||||
|
||||
private GradingBasis.Assessment toAssessment(
|
||||
boolean isSwedish,
|
||||
Language language,
|
||||
GradingCriterion gc) {
|
||||
List<GradingBasis.Criterion.Requirement> requirements = gc.getGradingCriterionPoints()
|
||||
.stream()
|
||||
.sorted(Comparator.comparing(GradingCriterionPoint::getPoint))
|
||||
.map(gcp -> toRequirement(isSwedish, gcp))
|
||||
.map(gcp -> toRequirement(language, gcp))
|
||||
.toList();
|
||||
String title = getTitle(isSwedish, gc);
|
||||
String title = gc.getTitle(language);
|
||||
GradingBasis.Criterion criterion = new GradingBasis.Criterion(title, requirements, gc.getPointsRequiredToPass());
|
||||
return new GradingBasis.Assessment(criterion, gc.getPoints());
|
||||
}
|
||||
|
||||
private static String getTitle(boolean isSwedish, GradingCriterion gc) {
|
||||
return isSwedish ? gc.getTitle() : gc.getTitleEn();
|
||||
}
|
||||
|
||||
private GradingBasis.Criterion.Requirement toRequirement(
|
||||
boolean isSwedish,
|
||||
Language language,
|
||||
GradingCriterionPoint gcp)
|
||||
{
|
||||
String description = isSwedish ? gcp.getDescription() : gcp.getDescriptionEn();
|
||||
String description = gcp.getDescription(language);
|
||||
return new GradingBasis.Criterion.Requirement(
|
||||
gcp.getPoint(),
|
||||
description);
|
||||
|
@ -1,6 +1,7 @@
|
||||
package se.su.dsv.scipro.report;
|
||||
|
||||
import se.su.dsv.scipro.finalseminar.FinalSeminarOpposition;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
@ -72,8 +73,8 @@ public class OppositionReport extends AttachmentReport {
|
||||
return finalSeminarOpposition.getFinalSeminar().getProjectTitle();
|
||||
}
|
||||
|
||||
public boolean isReportLanguageSwedish() {
|
||||
return finalSeminarOpposition.getFinalSeminar().getProject().isReportLanguageSwedish();
|
||||
public Language getLanguage() {
|
||||
return finalSeminarOpposition.getFinalSeminar().getProject().getReportLanguage();
|
||||
}
|
||||
|
||||
public String getAuthorNames() {
|
||||
|
@ -131,6 +131,13 @@ public class ProjectType extends LazyDeletableDomainObject {
|
||||
this.reviewed = reviewed;
|
||||
}
|
||||
|
||||
public Language getDefaultLanguage() {
|
||||
return switch (degreeType) {
|
||||
case BACHELOR -> Language.SWEDISH;
|
||||
default -> Language.ENGLISH;
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(final Object o) {
|
||||
if (o == this) return true;
|
||||
|
@ -35,6 +35,7 @@ import se.su.dsv.scipro.report.AbstractGradingCriterion;
|
||||
import se.su.dsv.scipro.report.GradingCriterion;
|
||||
import se.su.dsv.scipro.report.GradingCriterionPoint;
|
||||
import se.su.dsv.scipro.report.SupervisorGradingReport;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.util.AjaxConfirmationLink;
|
||||
|
||||
@ -52,8 +53,9 @@ public class CriteriaPanel extends GenericPanel<SupervisorGradingReport> {
|
||||
|
||||
public CriteriaPanel(String id, IModel<SupervisorGradingReport> model) {
|
||||
super(id, model);
|
||||
Project project = model.getObject().getProject();
|
||||
boolean isSwedish = project != null && project.isReportLanguageSwedish();
|
||||
IModel<Language> language = model
|
||||
.map(SupervisorGradingReport::getProject)
|
||||
.map(Project::getReportLanguage);
|
||||
IModel<User> author = model.map(SupervisorGradingReport::getUser);
|
||||
add(new ListView<>(CRITERIA, model.map(SupervisorGradingReport::getIndividualCriteria)) {
|
||||
{
|
||||
@ -65,7 +67,7 @@ public class CriteriaPanel extends GenericPanel<SupervisorGradingReport> {
|
||||
final WebMarkupContainer grading = new WebMarkupContainer("grading");
|
||||
grading.setOutputMarkupId(true);
|
||||
item.add(grading);
|
||||
item.add(new Label(TITLE, item.getModel().map(isSwedish ? GradingCriterion::getTitle : GradingCriterion::getTitleEn)));
|
||||
item.add(new Label(TITLE, item.getModel().combineWith(language, GradingCriterion::getTitle)));
|
||||
grading.add(new Label(MAX_POINTS,
|
||||
new StringResourceModel(
|
||||
"point_requirement",
|
||||
@ -117,8 +119,7 @@ public class CriteriaPanel extends GenericPanel<SupervisorGradingReport> {
|
||||
};
|
||||
pf.setOutputMarkupId(true); // required for wicket:for
|
||||
grading.add(pf);
|
||||
grading.add(new Label("pfCriteria", item.getModel().map(gc -> isSwedish ? gc.getGradingCriterionPoints().get(1).getDescription()
|
||||
: gc.getGradingCriterionPoints().get(1).getDescriptionEn())));
|
||||
grading.add(new Label("pfCriteria", item.getModel().combineWith(language, (gc, lang) -> gc.getGradingCriterionPoints().get(1).getDescription(lang))));
|
||||
|
||||
if (item.getModelObject().getTitle().startsWith("Ö1 ")) {
|
||||
grading.setEnabled(false);
|
||||
@ -144,9 +145,9 @@ public class CriteriaPanel extends GenericPanel<SupervisorGradingReport> {
|
||||
return new ChoiceRenderer<>() {
|
||||
@Override
|
||||
public Object getDisplayValue(GradingCriterionPoint object) {
|
||||
String description = isSwedish ? object.getDescription() : object.getDescriptionEn();
|
||||
String description = object.getDescription(language.getObject());
|
||||
return object.getPoint().toString() + " p"
|
||||
+ (description != null && !description.equals("") ? " - " + description : "");
|
||||
+ (description != null && !description.isBlank() ? " - " + description : "");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -23,6 +23,7 @@ import se.su.dsv.scipro.report.Criterion;
|
||||
import se.su.dsv.scipro.report.OppositionReport;
|
||||
import se.su.dsv.scipro.report.ReportService;
|
||||
import se.su.dsv.scipro.repository.panels.ViewAttachmentPanel;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.util.JavascriptEventConfirmation;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -59,13 +60,13 @@ public class FillOutReportPanel<T extends OppositionReport> extends Border {
|
||||
public ReportForm(String id, final IModel<T> model) {
|
||||
super(id, model);
|
||||
add(new ComponentFeedbackPanel(FEEDBACK_PANEL, this));
|
||||
OppositionReport oppositionReport = model.getObject().getFinalSeminarOpposition().getOppositionReport();
|
||||
boolean isSwedish = oppositionReport != null && oppositionReport.isReportLanguageSwedish();
|
||||
IModel<Language> language = model
|
||||
.map(OppositionReport::getLanguage);
|
||||
add(new ListView<>(GRADING_CRITERIA, model.map(OppositionReport::getCriteria)) {
|
||||
@Override
|
||||
protected void populateItem(ListItem<Criterion> item) {
|
||||
item.add(new Label(TITLE, item.getModel().map(isSwedish ? Criterion::getTitle : Criterion::getTitleEn)));
|
||||
item.add(new Label(DESCRIPTION, item.getModel().map(isSwedish ? Criterion::getDescription : Criterion::getDescriptionEn)));
|
||||
item.add(new Label(TITLE, item.getModel().combineWith(language, Criterion::getTitle)));
|
||||
item.add(new Label(DESCRIPTION, item.getModel().combineWith(language, Criterion::getDescription)));
|
||||
TextArea<String> textArea = new TextArea<>(FEEDBACK, LambdaModel.of(item.getModel(), Criterion::getFeedback, Criterion::setFeedback));
|
||||
textArea.add(new AutoSavingBehaviour() {
|
||||
@Override
|
||||
|
@ -1,114 +0,0 @@
|
||||
package se.su.dsv.scipro.grading;
|
||||
|
||||
import org.apache.wicket.model.IModel;
|
||||
import se.su.dsv.scipro.report.GradingCriterion;
|
||||
import se.su.dsv.scipro.report.SupervisorGradingReport;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class NoPointNoFeedbackGradingReportPdf implements GradingReportPdf {
|
||||
|
||||
private final IModel<SupervisorGradingReport> supervisorGradingReport;
|
||||
|
||||
public NoPointNoFeedbackGradingReportPdf(IModel<SupervisorGradingReport> supervisorGradingReport) {
|
||||
this.supervisorGradingReport = supervisorGradingReport;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProjectTitle() {
|
||||
return supervisorGradingReport.getObject().getProject().getTitle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDegreeType() {
|
||||
return supervisorGradingReport.getObject().getProjectType().getDegreeType().toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSwedish() {
|
||||
return supervisorGradingReport.getObject().getProject().isReportLanguageSwedish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAuthorName() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAuthorNames() {
|
||||
return supervisorGradingReport.getObject().getProject()
|
||||
.getProjectParticipants()
|
||||
.stream()
|
||||
.map(User::getFullName)
|
||||
.collect(Collectors.joining(", "));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSupervisorName() {
|
||||
return supervisorGradingReport.getObject().getProject().getSupervisorName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReviewerName() {
|
||||
return supervisorGradingReport.getObject().getProject().getReviewerName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlagiarismFeedback() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getLastModified() {
|
||||
return supervisorGradingReport.getObject().getLastModified();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GradingCriterion> getGradingCriteria() {
|
||||
List<GradingCriterion> criteria = new ArrayList<>(supervisorGradingReport.getObject().getGradingCriteria());
|
||||
for (GradingCriterion criterion : criteria){
|
||||
criterion.setFeedback(null);
|
||||
criterion.setPoints(null);
|
||||
}
|
||||
return criteria;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProjectTypeName() {
|
||||
return supervisorGradingReport.getObject().getProjectType().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRejectionComment() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRejectionCommentFeedback() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReflection() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRoughDraftComments() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMotivation() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPointTotal() {
|
||||
return 0;
|
||||
}
|
||||
}
|
@ -6,6 +6,8 @@ import se.su.dsv.scipro.report.GradingCriterion;
|
||||
import se.su.dsv.scipro.report.SupervisorGradingReport;
|
||||
import se.su.dsv.scipro.reviewing.Decision;
|
||||
import se.su.dsv.scipro.reviewing.RoughDraftApproval;
|
||||
import se.su.dsv.scipro.system.DegreeType;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -41,12 +43,28 @@ public class SupervisorGradingReportPdf implements GradingReportPdf {
|
||||
|
||||
@Override
|
||||
public String getDegreeType() {
|
||||
return supervisorGradingReport.getObject().getProjectType().getDegreeType().toString();
|
||||
DegreeType degreeType = supervisorGradingReport.getObject().getProjectType().getDegreeType();
|
||||
if (isSwedish()) {
|
||||
return switch (degreeType) {
|
||||
case NONE -> "Okänd";
|
||||
case BACHELOR -> "Kandidat";
|
||||
case MAGISTER -> "Magister";
|
||||
case MASTER -> "Master";
|
||||
};
|
||||
}
|
||||
else {
|
||||
return switch (degreeType) {
|
||||
case NONE -> "Unknown";
|
||||
case BACHELOR -> "Bachelor";
|
||||
case MAGISTER -> "One-year-Master";
|
||||
case MASTER -> "Master";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSwedish() {
|
||||
return supervisorGradingReport.getObject().getProject().isReportLanguageSwedish();
|
||||
return supervisorGradingReport.getObject().getReportLanguage() == Language.SWEDISH;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -21,6 +21,7 @@
|
||||
</style>
|
||||
|
||||
<subDataset name="dataset1" uuid="11042a5e-8b28-4516-887c-94af6b007800">
|
||||
<parameter name="swedish" class="java.lang.Boolean"/>
|
||||
<field name="points" class="java.lang.Integer"/>
|
||||
<field name="title" class="java.lang.String"/>
|
||||
<field name="titleEn" class="java.lang.String"/>
|
||||
@ -29,6 +30,7 @@
|
||||
</subDataset>
|
||||
|
||||
<subDataset name="dataset2">
|
||||
<parameter name="swedish" class="java.lang.Boolean"/>
|
||||
<field name="description" class="java.lang.String"/>
|
||||
<field name="descriptionEn" class="java.lang.String"/>
|
||||
<field name="gradingCriterion" class="se.su.dsv.scipro.report.GradingCriterion"/>
|
||||
@ -100,8 +102,7 @@
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement positionType="Float" style="bodyStyle" x="65" y="20" width="430" height="20" uuid="6f798cbd-1111-42d7-9b7e-ea3b38432ba5"/>
|
||||
<textFieldExpression><![CDATA[$F{swedish} ? ($F{degreeType}.equals("BACHELOR") ? "Kandidat" : ($F{degreeType}.equals("MASTER") ? "Master" : ($F{degreeType}.equals("MAGISTER") ? "Magister" : "")))
|
||||
: ($F{degreeType}.equals("BACHELOR") ? "Bachelor" : ($F{degreeType}.equals("MASTER") ? "Master" : ($F{degreeType}.equals("MAGISTER") ? "One-year-Master" : "")))]]></textFieldExpression>
|
||||
<textFieldExpression><![CDATA[$F{degreeType}]]></textFieldExpression>
|
||||
</textField>
|
||||
|
||||
<textField>
|
||||
@ -154,13 +155,16 @@
|
||||
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components"
|
||||
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
|
||||
<datasetRun subDataset="dataset1" uuid="0df5fe97-3d1e-480a-bf8d-5a465d51b326">
|
||||
<datasetParameter name="swedish">
|
||||
<datasetParameterExpression><![CDATA[$F{swedish}]]></datasetParameterExpression>
|
||||
</datasetParameter>
|
||||
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{gradingCriteria})]]></dataSourceExpression>
|
||||
</datasetRun>
|
||||
<jr:listContents height="0" width="495">
|
||||
|
||||
<textField textAdjust="StretchHeight">
|
||||
<reportElement style="subtitleStyle" x="0" y="0" width="495" height="0" uuid="46623aa1-a1d3-44d8-b26b-3f5e1fd13a0b"/>
|
||||
<textFieldExpression><![CDATA[$F{gradingReport}.isSwedish() ? $F{title} : $F{titleEn}]]></textFieldExpression>
|
||||
<textFieldExpression><![CDATA[$P{swedish} ? $F{title} : $F{titleEn}]]></textFieldExpression>
|
||||
</textField>
|
||||
|
||||
<componentElement>
|
||||
@ -168,12 +172,15 @@
|
||||
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components"
|
||||
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
|
||||
<datasetRun subDataset="dataset2">
|
||||
<datasetParameter name="swedish">
|
||||
<datasetParameterExpression><![CDATA[$P{swedish}]]></datasetParameterExpression>
|
||||
</datasetParameter>
|
||||
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{gradingCriterionPoints})]]></dataSourceExpression>
|
||||
</datasetRun>
|
||||
<jr:listContents height="16" width="495">
|
||||
<textField textAdjust="StretchHeight">
|
||||
<reportElement style="bodyStyle" x="0" y="0" width="495" height="0" isRemoveLineWhenBlank="true"/>
|
||||
<textFieldExpression><![CDATA[($F{description} == null || $F{description}.equals("")) ? "" : ($F{gradingCriterion}.getGradingReport().isSwedish() ? $F{description} : $F{descriptionEn})]]></textFieldExpression>
|
||||
<textFieldExpression><![CDATA[($F{description} == null || $F{description}.equals("")) ? "" : ($P{swedish} ? $F{description} : $F{descriptionEn})]]></textFieldExpression>
|
||||
</textField>
|
||||
</jr:listContents>
|
||||
</jr:list>
|
||||
@ -182,7 +189,7 @@
|
||||
<textField textAdjust="StretchHeight">
|
||||
<reportElement style="bodyStyle" positionType="Float" x="0" y="0" width="495" height="0" uuid="53ffedf3-ef7a-4887-af40-2790b1864a4d"/>
|
||||
<box bottomPadding="20"/>
|
||||
<textFieldExpression><![CDATA[($F{gradingReport}.isSwedish() ? "Poäng: " : "Points: ") + ($F{points} != null ? $F{points} : "")]]></textFieldExpression>
|
||||
<textFieldExpression><![CDATA[($P{swedish} ? "Poäng: " : "Points: ") + ($F{points} != null ? $F{points} : "")]]></textFieldExpression>
|
||||
</textField>
|
||||
|
||||
</jr:listContents>
|
||||
|
@ -78,7 +78,7 @@ public class FillOutReportPanelTest extends SciProTest {
|
||||
|
||||
@Test
|
||||
public void displays_criteria_descriptions() {
|
||||
tester.assertModelValue(path(panel, FORM, GRADING_CRITERIA, 0, DESCRIPTION), oppositionReport.getCriteria().get(0).getDescriptionEn());
|
||||
tester.assertModelValue(path(panel, FORM, GRADING_CRITERIA, 0, DESCRIPTION), oppositionReport.getCriteria().get(0).getDescription());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
x
Reference in New Issue
Block a user