code cleanup
This commit is contained in:
parent
b68484b022
commit
ed3ed44aff
13 changed files with 142 additions and 55 deletions
|
@ -62,6 +62,16 @@ public class ExamForm implements TemplateComposer {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(ExamForm.class);
|
private static final Logger log = LoggerFactory.getLogger(ExamForm.class);
|
||||||
|
|
||||||
|
private static final LocTextKey FORM_SUPPORTER_TEXT_KEY = new LocTextKey("sebserver.exam.form.supporter");
|
||||||
|
private static final LocTextKey FORM_STATUS_TEXT_KEY = new LocTextKey("sebserver.exam.form.status");
|
||||||
|
private static final LocTextKey FORM_TYPE_TEXT_KEY = new LocTextKey("sebserver.exam.form.type");
|
||||||
|
private static final LocTextKey FORM_ENDTIME_TEXT_KEY = new LocTextKey("sebserver.exam.form.endtime");
|
||||||
|
private static final LocTextKey FORM_STARTTIME_TEXT_KEY = new LocTextKey("sebserver.exam.form.starttime");
|
||||||
|
private static final LocTextKey FORM_DESCRIPTION_TEXT_KEY = new LocTextKey("sebserver.exam.form.description");
|
||||||
|
private static final LocTextKey FORM_NAME_TEXT_KEY = new LocTextKey("sebserver.exam.form.name");
|
||||||
|
private static final LocTextKey FORM_QUIZID_TEXT_KEY = new LocTextKey("sebserver.exam.form.quizid");
|
||||||
|
private static final LocTextKey FORM_LMSSETUP_TEXT_KEY = new LocTextKey("sebserver.exam.form.lmssetup");
|
||||||
|
|
||||||
private final PageService pageService;
|
private final PageService pageService;
|
||||||
private final ResourceService resourceService;
|
private final ResourceService resourceService;
|
||||||
|
|
||||||
|
@ -155,49 +165,49 @@ public class ExamForm implements TemplateComposer {
|
||||||
|
|
||||||
.addField(FormBuilder.singleSelection(
|
.addField(FormBuilder.singleSelection(
|
||||||
Domain.EXAM.ATTR_LMS_SETUP_ID,
|
Domain.EXAM.ATTR_LMS_SETUP_ID,
|
||||||
"sebserver.exam.form.lmssetup",
|
FORM_LMSSETUP_TEXT_KEY,
|
||||||
String.valueOf(exam.lmsSetupId),
|
String.valueOf(exam.lmsSetupId),
|
||||||
this.resourceService::lmsSetupResource)
|
this.resourceService::lmsSetupResource)
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.EXAM.ATTR_EXTERNAL_ID,
|
Domain.EXAM.ATTR_EXTERNAL_ID,
|
||||||
"sebserver.exam.form.quizid",
|
FORM_QUIZID_TEXT_KEY,
|
||||||
exam.externalId)
|
exam.externalId)
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_NAME,
|
QuizData.QUIZ_ATTR_NAME,
|
||||||
"sebserver.exam.form.name",
|
FORM_NAME_TEXT_KEY,
|
||||||
exam.name)
|
exam.name)
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_DESCRIPTION,
|
QuizData.QUIZ_ATTR_DESCRIPTION,
|
||||||
"sebserver.exam.form.description",
|
FORM_DESCRIPTION_TEXT_KEY,
|
||||||
exam.description)
|
exam.description)
|
||||||
.asArea()
|
.asArea()
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_START_TIME,
|
QuizData.QUIZ_ATTR_START_TIME,
|
||||||
"sebserver.exam.form.starttime",
|
FORM_STARTTIME_TEXT_KEY,
|
||||||
i18nSupport.formatDisplayDate(exam.startTime))
|
i18nSupport.formatDisplayDate(exam.startTime))
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_END_TIME,
|
QuizData.QUIZ_ATTR_END_TIME,
|
||||||
"sebserver.exam.form.endtime",
|
FORM_ENDTIME_TEXT_KEY,
|
||||||
i18nSupport.formatDisplayDate(exam.endTime))
|
i18nSupport.formatDisplayDate(exam.endTime))
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.singleSelection(
|
.addField(FormBuilder.singleSelection(
|
||||||
Domain.EXAM.ATTR_TYPE,
|
Domain.EXAM.ATTR_TYPE,
|
||||||
"sebserver.exam.form.type",
|
FORM_TYPE_TEXT_KEY,
|
||||||
String.valueOf(exam.type),
|
String.valueOf(exam.type),
|
||||||
this.resourceService::examTypeResources))
|
this.resourceService::examTypeResources))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Exam.ATTR_STATUS,
|
Exam.ATTR_STATUS,
|
||||||
"sebserver.exam.form.status",
|
FORM_STATUS_TEXT_KEY,
|
||||||
i18nSupport.getText(new LocTextKey("sebserver.exam.status." + examStatus.name())))
|
i18nSupport.getText(new LocTextKey("sebserver.exam.status." + examStatus.name())))
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.multiComboSelection(
|
.addField(FormBuilder.multiComboSelection(
|
||||||
Domain.EXAM.ATTR_SUPPORTER,
|
Domain.EXAM.ATTR_SUPPORTER,
|
||||||
"sebserver.exam.form.supporter",
|
FORM_SUPPORTER_TEXT_KEY,
|
||||||
StringUtils.join(exam.supporter, Constants.LIST_SEPARATOR_CHAR),
|
StringUtils.join(exam.supporter, Constants.LIST_SEPARATOR_CHAR),
|
||||||
this.resourceService::examSupporterResources))
|
this.resourceService::examSupporterResources))
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,17 @@ public class IndicatorForm implements TemplateComposer {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(IndicatorForm.class);
|
private static final Logger log = LoggerFactory.getLogger(IndicatorForm.class);
|
||||||
|
|
||||||
|
private static final LocTextKey FORM_THRESHOLDS_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.exam.indicator.form.thresholds");
|
||||||
|
private static final LocTextKey FORM_COLOR_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.exam.indicator.form.color");
|
||||||
|
private static final LocTextKey FORM_TYPE_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.exam.indicator.form.type");
|
||||||
|
private static final LocTextKey FORM_NAME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.exam.indicator.form.name");
|
||||||
|
private static final LocTextKey FORM_EXAM_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.exam.indicator.form.exam");
|
||||||
|
|
||||||
private final PageService pageService;
|
private final PageService pageService;
|
||||||
private final ResourceService resourceService;
|
private final ResourceService resourceService;
|
||||||
|
|
||||||
|
@ -110,25 +121,25 @@ public class IndicatorForm implements TemplateComposer {
|
||||||
parentEntityKey.getModelId())
|
parentEntityKey.getModelId())
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
"examName",
|
"examName",
|
||||||
"sebserver.exam.indicator.form.exam",
|
FORM_EXAM_TEXT_KEY,
|
||||||
exam.name)
|
exam.name)
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.INDICATOR.ATTR_NAME,
|
Domain.INDICATOR.ATTR_NAME,
|
||||||
"sebserver.exam.indicator.form.name",
|
FORM_NAME_TEXT_KEY,
|
||||||
indicator.name))
|
indicator.name))
|
||||||
.addField(FormBuilder.singleSelection(
|
.addField(FormBuilder.singleSelection(
|
||||||
Domain.INDICATOR.ATTR_TYPE,
|
Domain.INDICATOR.ATTR_TYPE,
|
||||||
"sebserver.exam.indicator.form.type",
|
FORM_TYPE_TEXT_KEY,
|
||||||
(indicator.type != null) ? indicator.type.name() : null,
|
(indicator.type != null) ? indicator.type.name() : null,
|
||||||
this.resourceService::indicatorTypeResources))
|
this.resourceService::indicatorTypeResources))
|
||||||
.addField(FormBuilder.colorSelection(
|
.addField(FormBuilder.colorSelection(
|
||||||
Domain.INDICATOR.ATTR_COLOR,
|
Domain.INDICATOR.ATTR_COLOR,
|
||||||
"sebserver.exam.indicator.form.color",
|
FORM_COLOR_TEXT_KEY,
|
||||||
indicator.defaultColor))
|
indicator.defaultColor))
|
||||||
.addField(FormBuilder.thresholdList(
|
.addField(FormBuilder.thresholdList(
|
||||||
Domain.THRESHOLD.REFERENCE_NAME,
|
Domain.THRESHOLD.REFERENCE_NAME,
|
||||||
"sebserver.exam.indicator.form.thresholds",
|
FORM_THRESHOLDS_TEXT_KEY,
|
||||||
indicator.getThresholds()))
|
indicator.getThresholds()))
|
||||||
.buildFor((isNew)
|
.buildFor((isNew)
|
||||||
? restService.getRestCall(NewIndicator.class)
|
? restService.getRestCall(NewIndicator.class)
|
||||||
|
|
|
@ -47,6 +47,13 @@ import ch.ethz.seb.sebserver.gui.widget.WidgetFactory;
|
||||||
@GuiProfile
|
@GuiProfile
|
||||||
public class InstitutionForm implements TemplateComposer {
|
public class InstitutionForm implements TemplateComposer {
|
||||||
|
|
||||||
|
private static final LocTextKey FORM_LOGO_IMAGE_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.institution.form.logoImage");
|
||||||
|
private static final LocTextKey FORM_URL_SUFFIX_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.institution.form.urlSuffix");
|
||||||
|
private static final LocTextKey FORM_NAME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.institution.form.name");
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(InstitutionForm.class);
|
private static final Logger log = LoggerFactory.getLogger(InstitutionForm.class);
|
||||||
|
|
||||||
private final PageService pageService;
|
private final PageService pageService;
|
||||||
|
@ -123,15 +130,15 @@ public class InstitutionForm implements TemplateComposer {
|
||||||
institution.getModelId())
|
institution.getModelId())
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.INSTITUTION.ATTR_NAME,
|
Domain.INSTITUTION.ATTR_NAME,
|
||||||
"sebserver.institution.form.name",
|
FORM_NAME_TEXT_KEY,
|
||||||
institution.name))
|
institution.name))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.INSTITUTION.ATTR_URL_SUFFIX,
|
Domain.INSTITUTION.ATTR_URL_SUFFIX,
|
||||||
"sebserver.institution.form.urlSuffix",
|
FORM_URL_SUFFIX_TEXT_KEY,
|
||||||
institution.urlSuffix))
|
institution.urlSuffix))
|
||||||
.addField(FormBuilder.imageUpload(
|
.addField(FormBuilder.imageUpload(
|
||||||
Domain.INSTITUTION.ATTR_LOGO_IMAGE,
|
Domain.INSTITUTION.ATTR_LOGO_IMAGE,
|
||||||
"sebserver.institution.form.logoImage",
|
FORM_LOGO_IMAGE_TEXT_KEY,
|
||||||
institution.logoImage))
|
institution.logoImage))
|
||||||
.buildFor((isNew)
|
.buildFor((isNew)
|
||||||
? this.restService.getRestCall(NewInstitution.class)
|
? this.restService.getRestCall(NewInstitution.class)
|
||||||
|
|
|
@ -60,6 +60,19 @@ public class LmsSetupForm implements TemplateComposer {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(LmsSetupForm.class);
|
private static final Logger log = LoggerFactory.getLogger(LmsSetupForm.class);
|
||||||
|
|
||||||
|
private static final LocTextKey FORM_SECRET_LMS_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.lmssetup.form.secret.lms");
|
||||||
|
private static final LocTextKey FORM_CLIENTNAME_LMS_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.lmssetup.form.clientname.lms");
|
||||||
|
private static final LocTextKey FORM_URL_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.lmssetup.form.url");
|
||||||
|
private static final LocTextKey FORM_TYPE_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.lmssetup.form.type");
|
||||||
|
private static final LocTextKey FORM_NAME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.lmssetup.form.name");
|
||||||
|
private static final LocTextKey FORM_INSTITUTION_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.lmssetup.form.institution");
|
||||||
|
|
||||||
private final PageService pageService;
|
private final PageService pageService;
|
||||||
private final ResourceService resourceService;
|
private final ResourceService resourceService;
|
||||||
|
|
||||||
|
@ -143,31 +156,31 @@ public class LmsSetupForm implements TemplateComposer {
|
||||||
isSEBAdmin,
|
isSEBAdmin,
|
||||||
() -> FormBuilder.singleSelection(
|
() -> FormBuilder.singleSelection(
|
||||||
Domain.LMS_SETUP.ATTR_INSTITUTION_ID,
|
Domain.LMS_SETUP.ATTR_INSTITUTION_ID,
|
||||||
"sebserver.lmssetup.form.institution",
|
FORM_INSTITUTION_TEXT_KEY,
|
||||||
String.valueOf(lmsSetup.getInstitutionId()),
|
String.valueOf(lmsSetup.getInstitutionId()),
|
||||||
() -> this.resourceService.institutionResource())
|
() -> this.resourceService.institutionResource())
|
||||||
.readonly(true))
|
.readonly(true))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.LMS_SETUP.ATTR_NAME,
|
Domain.LMS_SETUP.ATTR_NAME,
|
||||||
"sebserver.lmssetup.form.name",
|
FORM_NAME_TEXT_KEY,
|
||||||
lmsSetup.getName()))
|
lmsSetup.getName()))
|
||||||
.addField(FormBuilder.singleSelection(
|
.addField(FormBuilder.singleSelection(
|
||||||
Domain.LMS_SETUP.ATTR_LMS_TYPE,
|
Domain.LMS_SETUP.ATTR_LMS_TYPE,
|
||||||
"sebserver.lmssetup.form.type",
|
FORM_TYPE_TEXT_KEY,
|
||||||
(lmsType != null) ? lmsType.name() : null,
|
(lmsType != null) ? lmsType.name() : null,
|
||||||
this.resourceService::lmsTypeResources)
|
this.resourceService::lmsTypeResources)
|
||||||
.readonlyIf(isNotNew))
|
.readonlyIf(isNotNew))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.LMS_SETUP.ATTR_LMS_URL,
|
Domain.LMS_SETUP.ATTR_LMS_URL,
|
||||||
"sebserver.lmssetup.form.url",
|
FORM_URL_TEXT_KEY,
|
||||||
lmsSetup.getLmsApiUrl()))
|
lmsSetup.getLmsApiUrl()))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.LMS_SETUP.ATTR_LMS_CLIENTNAME,
|
Domain.LMS_SETUP.ATTR_LMS_CLIENTNAME,
|
||||||
"sebserver.lmssetup.form.clientname.lms",
|
FORM_CLIENTNAME_LMS_TEXT_KEY,
|
||||||
lmsSetup.getLmsAuthName()))
|
lmsSetup.getLmsAuthName()))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.LMS_SETUP.ATTR_LMS_CLIENTSECRET,
|
Domain.LMS_SETUP.ATTR_LMS_CLIENTSECRET,
|
||||||
"sebserver.lmssetup.form.secret.lms")
|
FORM_SECRET_LMS_TEXT_KEY)
|
||||||
.asPasswordField())
|
.asPasswordField())
|
||||||
|
|
||||||
.buildFor((entityKey == null)
|
.buildFor((entityKey == null)
|
||||||
|
|
|
@ -51,6 +51,18 @@ import ch.ethz.seb.sebserver.gui.widget.WidgetFactory;
|
||||||
public class QuizDiscoveryList implements TemplateComposer {
|
public class QuizDiscoveryList implements TemplateComposer {
|
||||||
|
|
||||||
// localized text keys
|
// localized text keys
|
||||||
|
private static final LocTextKey QUIZ_DETAILS_URL_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.quizdiscovery.quiz.details.url");
|
||||||
|
private static final LocTextKey QUIZ_DETAILS_ENDTIME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.quizdiscovery.quiz.details.endtime");
|
||||||
|
private static final LocTextKey QUIZ_DETAILS_STARTTIME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.quizdiscovery.quiz.details.starttime");
|
||||||
|
private static final LocTextKey QUIZ_DETAILS_DESCRIPTION_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.quizdiscovery.quiz.details.description");
|
||||||
|
private static final LocTextKey QUIZ_DETAILS_NAME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.quizdiscovery.quiz.details.name");
|
||||||
|
private static final LocTextKey QUIZ_DETAILS_LMS_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.quizdiscovery.quiz.details.lms");
|
||||||
private static final LocTextKey TITLE_TEXT_KEY =
|
private static final LocTextKey TITLE_TEXT_KEY =
|
||||||
new LocTextKey("sebserver.quizdiscovery.list.title");
|
new LocTextKey("sebserver.quizdiscovery.list.title");
|
||||||
private static final LocTextKey EMPTY_LIST_TEXT_KEY =
|
private static final LocTextKey EMPTY_LIST_TEXT_KEY =
|
||||||
|
@ -213,29 +225,29 @@ public class QuizDiscoveryList implements TemplateComposer {
|
||||||
.readonly(true)
|
.readonly(true)
|
||||||
.addField(FormBuilder.singleSelection(
|
.addField(FormBuilder.singleSelection(
|
||||||
QuizData.QUIZ_ATTR_LMS_SETUP_ID,
|
QuizData.QUIZ_ATTR_LMS_SETUP_ID,
|
||||||
"sebserver.quizdiscovery.quiz.details.lms",
|
QUIZ_DETAILS_LMS_TEXT_KEY,
|
||||||
String.valueOf(quizData.lmsSetupId),
|
String.valueOf(quizData.lmsSetupId),
|
||||||
() -> this.resourceService.lmsSetupResource()))
|
() -> this.resourceService.lmsSetupResource()))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_NAME,
|
QuizData.QUIZ_ATTR_NAME,
|
||||||
"sebserver.quizdiscovery.quiz.details.name",
|
QUIZ_DETAILS_NAME_TEXT_KEY,
|
||||||
quizData.name))
|
quizData.name))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_DESCRIPTION,
|
QuizData.QUIZ_ATTR_DESCRIPTION,
|
||||||
"sebserver.quizdiscovery.quiz.details.description",
|
QUIZ_DETAILS_DESCRIPTION_TEXT_KEY,
|
||||||
quizData.description)
|
quizData.description)
|
||||||
.asArea())
|
.asArea())
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_START_TIME,
|
QuizData.QUIZ_ATTR_START_TIME,
|
||||||
"sebserver.quizdiscovery.quiz.details.starttime",
|
QUIZ_DETAILS_STARTTIME_TEXT_KEY,
|
||||||
this.widgetFactory.getI18nSupport().formatDisplayDate(quizData.startTime)))
|
this.widgetFactory.getI18nSupport().formatDisplayDate(quizData.startTime)))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_END_TIME,
|
QuizData.QUIZ_ATTR_END_TIME,
|
||||||
"sebserver.quizdiscovery.quiz.details.endtime",
|
QUIZ_DETAILS_ENDTIME_TEXT_KEY,
|
||||||
this.widgetFactory.getI18nSupport().formatDisplayDate(quizData.startTime)))
|
this.widgetFactory.getI18nSupport().formatDisplayDate(quizData.startTime)))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
QuizData.QUIZ_ATTR_START_URL,
|
QuizData.QUIZ_ATTR_START_URL,
|
||||||
"sebserver.quizdiscovery.quiz.details.url",
|
QUIZ_DETAILS_URL_TEXT_KEY,
|
||||||
quizData.startURL))
|
quizData.startURL))
|
||||||
.build();
|
.build();
|
||||||
this.widgetFactory.labelSeparator(pc.getParent());
|
this.widgetFactory.labelSeparator(pc.getParent());
|
||||||
|
|
|
@ -46,6 +46,13 @@ import ch.ethz.seb.sebserver.gui.widget.WidgetFactory;
|
||||||
* password that is also required must match the administrators current password. */
|
* password that is also required must match the administrators current password. */
|
||||||
public class UserAccountChangePasswordForm implements TemplateComposer {
|
public class UserAccountChangePasswordForm implements TemplateComposer {
|
||||||
|
|
||||||
|
private static final LocTextKey FORM_PASSWORD_NEW_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.password.new");
|
||||||
|
private static final LocTextKey FORM_PASSWORD_NEW_CONFIRM_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.password.new.confirm");
|
||||||
|
private static final LocTextKey FORM_PASSWORD_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.password");
|
||||||
|
|
||||||
private final PageService pageService;
|
private final PageService pageService;
|
||||||
private final RestService restService;
|
private final RestService restService;
|
||||||
private final CurrentUser currentUser;
|
private final CurrentUser currentUser;
|
||||||
|
@ -89,17 +96,17 @@ public class UserAccountChangePasswordForm implements TemplateComposer {
|
||||||
entityKey.getModelId())
|
entityKey.getModelId())
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
PasswordChange.ATTR_NAME_PASSWORD,
|
PasswordChange.ATTR_NAME_PASSWORD,
|
||||||
"sebserver.useraccount.form.password")
|
FORM_PASSWORD_TEXT_KEY)
|
||||||
.asPasswordField())
|
.asPasswordField())
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
PasswordChange.ATTR_NAME_NEW_PASSWORD,
|
PasswordChange.ATTR_NAME_NEW_PASSWORD,
|
||||||
"sebserver.useraccount.form.password.new")
|
FORM_PASSWORD_NEW_TEXT_KEY)
|
||||||
.asPasswordField())
|
.asPasswordField())
|
||||||
.addFieldIf(
|
.addFieldIf(
|
||||||
() -> entityKey != null,
|
() -> entityKey != null,
|
||||||
() -> FormBuilder.text(
|
() -> FormBuilder.text(
|
||||||
PasswordChange.ATTR_NAME_CONFIRM_NEW_PASSWORD,
|
PasswordChange.ATTR_NAME_CONFIRM_NEW_PASSWORD,
|
||||||
"sebserver.useraccount.form.password.new.confirm")
|
FORM_PASSWORD_NEW_CONFIRM_TEXT_KEY)
|
||||||
.asPasswordField())
|
.asPasswordField())
|
||||||
.buildFor(this.restService.getRestCall(ChangePassword.class));
|
.buildFor(this.restService.getRestCall(ChangePassword.class));
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,23 @@ public class UserAccountForm implements TemplateComposer {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(UserAccountForm.class);
|
private static final Logger log = LoggerFactory.getLogger(UserAccountForm.class);
|
||||||
|
|
||||||
|
private static final LocTextKey FORM_PASSWORD_CONFIRM_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.password.confirm");
|
||||||
|
private static final LocTextKey FORM_PASSWORD_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.password");
|
||||||
|
private static final LocTextKey FORM_ROLES_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.roles");
|
||||||
|
private static final LocTextKey FORM_TIMEZONE_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.timezone");
|
||||||
|
private static final LocTextKey FORM_MAIL_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.mail");
|
||||||
|
private static final LocTextKey FORM_USERNAME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.username");
|
||||||
|
private static final LocTextKey FORM_NAME_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.name");
|
||||||
|
private static final LocTextKey FORM_INSTITUTION_TEXT_KEY =
|
||||||
|
new LocTextKey("sebserver.useraccount.form.institution");
|
||||||
|
|
||||||
private final PageService pageService;
|
private final PageService pageService;
|
||||||
private final ResourceService resourceService;
|
private final ResourceService resourceService;
|
||||||
|
|
||||||
|
@ -145,21 +162,21 @@ public class UserAccountForm implements TemplateComposer {
|
||||||
isSEBAdmin,
|
isSEBAdmin,
|
||||||
() -> FormBuilder.singleSelection(
|
() -> FormBuilder.singleSelection(
|
||||||
Domain.USER.ATTR_INSTITUTION_ID,
|
Domain.USER.ATTR_INSTITUTION_ID,
|
||||||
"sebserver.useraccount.form.institution",
|
FORM_INSTITUTION_TEXT_KEY,
|
||||||
String.valueOf(userAccount.getInstitutionId()),
|
String.valueOf(userAccount.getInstitutionId()),
|
||||||
() -> this.resourceService.institutionResource())
|
() -> this.resourceService.institutionResource())
|
||||||
.readonlyIf(isNotNew))
|
.readonlyIf(isNotNew))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.USER.ATTR_NAME,
|
Domain.USER.ATTR_NAME,
|
||||||
"sebserver.useraccount.form.name",
|
FORM_NAME_TEXT_KEY,
|
||||||
userAccount.getName()))
|
userAccount.getName()))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.USER.ATTR_USERNAME,
|
Domain.USER.ATTR_USERNAME,
|
||||||
"sebserver.useraccount.form.username",
|
FORM_USERNAME_TEXT_KEY,
|
||||||
userAccount.getUsername()))
|
userAccount.getUsername()))
|
||||||
.addField(FormBuilder.text(
|
.addField(FormBuilder.text(
|
||||||
Domain.USER.ATTR_EMAIL,
|
Domain.USER.ATTR_EMAIL,
|
||||||
"sebserver.useraccount.form.mail",
|
FORM_MAIL_TEXT_KEY,
|
||||||
userAccount.getEmail()))
|
userAccount.getEmail()))
|
||||||
// .addField(FormBuilder.singleSelection(
|
// .addField(FormBuilder.singleSelection(
|
||||||
// Domain.USER.ATTR_LANGUAGE,
|
// Domain.USER.ATTR_LANGUAGE,
|
||||||
|
@ -169,14 +186,14 @@ public class UserAccountForm implements TemplateComposer {
|
||||||
// .readonly(true))
|
// .readonly(true))
|
||||||
.addField(FormBuilder.singleSelection(
|
.addField(FormBuilder.singleSelection(
|
||||||
Domain.USER.ATTR_TIMEZONE,
|
Domain.USER.ATTR_TIMEZONE,
|
||||||
"sebserver.useraccount.form.timezone",
|
FORM_TIMEZONE_TEXT_KEY,
|
||||||
userAccount.getTimeZone().getID(),
|
userAccount.getTimeZone().getID(),
|
||||||
this.resourceService::timeZoneResources))
|
this.resourceService::timeZoneResources))
|
||||||
.addFieldIf(
|
.addFieldIf(
|
||||||
() -> modifyGrant,
|
() -> modifyGrant,
|
||||||
() -> FormBuilder.multiSelection(
|
() -> FormBuilder.multiSelection(
|
||||||
USER_ROLE.REFERENCE_NAME,
|
USER_ROLE.REFERENCE_NAME,
|
||||||
"sebserver.useraccount.form.roles",
|
FORM_ROLES_TEXT_KEY,
|
||||||
StringUtils.join(userAccount.getRoles(), Constants.LIST_SEPARATOR_CHAR),
|
StringUtils.join(userAccount.getRoles(), Constants.LIST_SEPARATOR_CHAR),
|
||||||
this.resourceService::userRoleResources)
|
this.resourceService::userRoleResources)
|
||||||
.visibleIf(writeGrant))
|
.visibleIf(writeGrant))
|
||||||
|
@ -184,13 +201,13 @@ public class UserAccountForm implements TemplateComposer {
|
||||||
isNew,
|
isNew,
|
||||||
() -> FormBuilder.text(
|
() -> FormBuilder.text(
|
||||||
PasswordChange.ATTR_NAME_NEW_PASSWORD,
|
PasswordChange.ATTR_NAME_NEW_PASSWORD,
|
||||||
"sebserver.useraccount.form.password")
|
FORM_PASSWORD_TEXT_KEY)
|
||||||
.asPasswordField())
|
.asPasswordField())
|
||||||
.addFieldIf(
|
.addFieldIf(
|
||||||
isNew,
|
isNew,
|
||||||
() -> FormBuilder.text(
|
() -> FormBuilder.text(
|
||||||
PasswordChange.ATTR_NAME_CONFIRM_NEW_PASSWORD,
|
PasswordChange.ATTR_NAME_CONFIRM_NEW_PASSWORD,
|
||||||
"sebserver.useraccount.form.password.confirm")
|
FORM_PASSWORD_CONFIRM_TEXT_KEY)
|
||||||
.asPasswordField())
|
.asPasswordField())
|
||||||
.buildFor((entityKey == null)
|
.buildFor((entityKey == null)
|
||||||
? restService.getRestCall(NewUserAccount.class)
|
? restService.getRestCall(NewUserAccount.class)
|
||||||
|
|
|
@ -10,6 +10,8 @@ package ch.ethz.seb.sebserver.gui.form;
|
||||||
|
|
||||||
import java.util.function.BooleanSupplier;
|
import java.util.function.BooleanSupplier;
|
||||||
|
|
||||||
|
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||||
|
|
||||||
public abstract class FieldBuilder<T> {
|
public abstract class FieldBuilder<T> {
|
||||||
int spanLabel = -1;
|
int spanLabel = -1;
|
||||||
int spanInput = -1;
|
int spanInput = -1;
|
||||||
|
@ -20,10 +22,10 @@ public abstract class FieldBuilder<T> {
|
||||||
boolean visible = true;
|
boolean visible = true;
|
||||||
|
|
||||||
final String name;
|
final String name;
|
||||||
final String label;
|
final LocTextKey label;
|
||||||
final T value;
|
final T value;
|
||||||
|
|
||||||
protected FieldBuilder(final String name, final String label, final T value) {
|
protected FieldBuilder(final String name, final LocTextKey label, final T value) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.label = label;
|
this.label = label;
|
||||||
this.value = value;
|
this.value = value;
|
||||||
|
|
|
@ -28,6 +28,8 @@ import ch.ethz.seb.sebserver.gbl.Constants;
|
||||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||||
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator.Threshold;
|
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator.Threshold;
|
||||||
import ch.ethz.seb.sebserver.gbl.util.Tuple;
|
import ch.ethz.seb.sebserver.gbl.util.Tuple;
|
||||||
|
import ch.ethz.seb.sebserver.gui.service.i18n.I18nSupport;
|
||||||
|
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||||
import ch.ethz.seb.sebserver.gui.service.page.PageContext;
|
import ch.ethz.seb.sebserver.gui.service.page.PageContext;
|
||||||
import ch.ethz.seb.sebserver.gui.service.page.PageService;
|
import ch.ethz.seb.sebserver.gui.service.page.PageService;
|
||||||
import ch.ethz.seb.sebserver.gui.service.remote.webservice.api.RestCall;
|
import ch.ethz.seb.sebserver.gui.service.remote.webservice.api.RestCall;
|
||||||
|
@ -39,6 +41,7 @@ public class FormBuilder {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(FormBuilder.class);
|
private static final Logger log = LoggerFactory.getLogger(FormBuilder.class);
|
||||||
|
|
||||||
|
final I18nSupport i18nSupport;
|
||||||
final PageService pageService;
|
final PageService pageService;
|
||||||
final WidgetFactory widgetFactory;
|
final WidgetFactory widgetFactory;
|
||||||
public final PageContext pageContext;
|
public final PageContext pageContext;
|
||||||
|
@ -56,6 +59,7 @@ public class FormBuilder {
|
||||||
final PageContext pageContext,
|
final PageContext pageContext,
|
||||||
final int rows) {
|
final int rows) {
|
||||||
|
|
||||||
|
this.i18nSupport = pageService.getI18nSupport();
|
||||||
this.pageService = pageService;
|
this.pageService = pageService;
|
||||||
this.widgetFactory = pageService.getWidgetFactory();
|
this.widgetFactory = pageService.getWidgetFactory();
|
||||||
this.pageContext = pageContext;
|
this.pageContext = pageContext;
|
||||||
|
@ -193,17 +197,17 @@ public class FormBuilder {
|
||||||
empty.setText("");
|
empty.setText("");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TextFieldBuilder text(final String name, final String label) {
|
public static TextFieldBuilder text(final String name, final LocTextKey label) {
|
||||||
return new TextFieldBuilder(name, label, null);
|
return new TextFieldBuilder(name, label, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TextFieldBuilder text(final String name, final String label, final String value) {
|
public static TextFieldBuilder text(final String name, final LocTextKey label, final String value) {
|
||||||
return new TextFieldBuilder(name, label, value);
|
return new TextFieldBuilder(name, label, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SelectionFieldBuilder singleSelection(
|
public static SelectionFieldBuilder singleSelection(
|
||||||
final String name,
|
final String name,
|
||||||
final String label,
|
final LocTextKey label,
|
||||||
final String value,
|
final String value,
|
||||||
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
||||||
|
|
||||||
|
@ -212,7 +216,7 @@ public class FormBuilder {
|
||||||
|
|
||||||
public static SelectionFieldBuilder multiSelection(
|
public static SelectionFieldBuilder multiSelection(
|
||||||
final String name,
|
final String name,
|
||||||
final String label,
|
final LocTextKey label,
|
||||||
final String value,
|
final String value,
|
||||||
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
||||||
|
|
||||||
|
@ -221,7 +225,7 @@ public class FormBuilder {
|
||||||
|
|
||||||
public static SelectionFieldBuilder multiComboSelection(
|
public static SelectionFieldBuilder multiComboSelection(
|
||||||
final String name,
|
final String name,
|
||||||
final String label,
|
final LocTextKey label,
|
||||||
final String value,
|
final String value,
|
||||||
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
||||||
|
|
||||||
|
@ -230,7 +234,7 @@ public class FormBuilder {
|
||||||
|
|
||||||
public static SelectionFieldBuilder colorSelection(
|
public static SelectionFieldBuilder colorSelection(
|
||||||
final String name,
|
final String name,
|
||||||
final String label,
|
final LocTextKey label,
|
||||||
final String value) {
|
final String value) {
|
||||||
|
|
||||||
return new SelectionFieldBuilder(Selection.Type.COLOR, name, label, value, null);
|
return new SelectionFieldBuilder(Selection.Type.COLOR, name, label, value, null);
|
||||||
|
@ -238,17 +242,17 @@ public class FormBuilder {
|
||||||
|
|
||||||
public static ThresholdListBuilder thresholdList(
|
public static ThresholdListBuilder thresholdList(
|
||||||
final String name,
|
final String name,
|
||||||
final String label,
|
final LocTextKey label,
|
||||||
final Collection<Threshold> value) {
|
final Collection<Threshold> value) {
|
||||||
|
|
||||||
return new ThresholdListBuilder(name, label, value);
|
return new ThresholdListBuilder(name, label, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ImageUploadFieldBuilder imageUpload(final String name, final String label, final String value) {
|
public static ImageUploadFieldBuilder imageUpload(final String name, final LocTextKey label, final String value) {
|
||||||
return new ImageUploadFieldBuilder(name, label, value);
|
return new ImageUploadFieldBuilder(name, label, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
Label labelLocalized(final Composite parent, final String locTextKey, final int hspan) {
|
Label labelLocalized(final Composite parent, final LocTextKey locTextKey, final int hspan) {
|
||||||
final Label label = this.widgetFactory.labelLocalized(parent, locTextKey);
|
final Label label = this.widgetFactory.labelLocalized(parent, locTextKey);
|
||||||
final GridData gridData = new GridData(SWT.LEFT, SWT.TOP, true, false, hspan, 1);
|
final GridData gridData = new GridData(SWT.LEFT, SWT.TOP, true, false, hspan, 1);
|
||||||
gridData.verticalIndent = 4;
|
gridData.verticalIndent = 4;
|
||||||
|
|
|
@ -17,7 +17,7 @@ import ch.ethz.seb.sebserver.gui.widget.ImageUpload;
|
||||||
|
|
||||||
public final class ImageUploadFieldBuilder extends FieldBuilder<String> {
|
public final class ImageUploadFieldBuilder extends FieldBuilder<String> {
|
||||||
|
|
||||||
ImageUploadFieldBuilder(final String name, final String label, final String value) {
|
ImageUploadFieldBuilder(final String name, final LocTextKey label, final String value) {
|
||||||
super(name, label, value);
|
super(name, label, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ import org.eclipse.swt.widgets.Label;
|
||||||
|
|
||||||
import ch.ethz.seb.sebserver.gbl.Constants;
|
import ch.ethz.seb.sebserver.gbl.Constants;
|
||||||
import ch.ethz.seb.sebserver.gbl.util.Tuple;
|
import ch.ethz.seb.sebserver.gbl.util.Tuple;
|
||||||
|
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||||
import ch.ethz.seb.sebserver.gui.service.i18n.PolyglotPageService;
|
import ch.ethz.seb.sebserver.gui.service.i18n.PolyglotPageService;
|
||||||
import ch.ethz.seb.sebserver.gui.widget.Selection;
|
import ch.ethz.seb.sebserver.gui.widget.Selection;
|
||||||
import ch.ethz.seb.sebserver.gui.widget.Selection.Type;
|
import ch.ethz.seb.sebserver.gui.widget.Selection.Type;
|
||||||
|
@ -39,7 +40,7 @@ public final class SelectionFieldBuilder extends FieldBuilder<String> {
|
||||||
SelectionFieldBuilder(
|
SelectionFieldBuilder(
|
||||||
final Selection.Type type,
|
final Selection.Type type,
|
||||||
final String name,
|
final String name,
|
||||||
final String label,
|
final LocTextKey label,
|
||||||
final String value,
|
final String value,
|
||||||
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
final Supplier<List<Tuple<String>>> itemsSupplier) {
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,15 @@ import org.eclipse.swt.layout.GridData;
|
||||||
import org.eclipse.swt.widgets.Label;
|
import org.eclipse.swt.widgets.Label;
|
||||||
import org.eclipse.swt.widgets.Text;
|
import org.eclipse.swt.widgets.Text;
|
||||||
|
|
||||||
|
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||||
|
|
||||||
public final class TextFieldBuilder extends FieldBuilder<String> {
|
public final class TextFieldBuilder extends FieldBuilder<String> {
|
||||||
|
|
||||||
boolean isPassword = false;
|
boolean isPassword = false;
|
||||||
boolean isNumber = false;
|
boolean isNumber = false;
|
||||||
boolean isArea = false;
|
boolean isArea = false;
|
||||||
|
|
||||||
TextFieldBuilder(final String name, final String label, final String value) {
|
TextFieldBuilder(final String name, final LocTextKey label, final String value) {
|
||||||
super(name, label, value);
|
super(name, label, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,13 +19,14 @@ import org.eclipse.swt.widgets.Label;
|
||||||
import ch.ethz.seb.sebserver.gbl.Constants;
|
import ch.ethz.seb.sebserver.gbl.Constants;
|
||||||
import ch.ethz.seb.sebserver.gbl.model.Domain;
|
import ch.ethz.seb.sebserver.gbl.model.Domain;
|
||||||
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator.Threshold;
|
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator.Threshold;
|
||||||
|
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||||
import ch.ethz.seb.sebserver.gui.widget.ThresholdList;
|
import ch.ethz.seb.sebserver.gui.widget.ThresholdList;
|
||||||
|
|
||||||
public class ThresholdListBuilder extends FieldBuilder<Collection<Threshold>> {
|
public class ThresholdListBuilder extends FieldBuilder<Collection<Threshold>> {
|
||||||
|
|
||||||
protected ThresholdListBuilder(
|
protected ThresholdListBuilder(
|
||||||
final String name,
|
final String name,
|
||||||
final String label,
|
final LocTextKey label,
|
||||||
final Collection<Threshold> value) {
|
final Collection<Threshold> value) {
|
||||||
|
|
||||||
super(name, label, value);
|
super(name, label, value);
|
||||||
|
|
Loading…
Reference in a new issue