Skip to content
Snippets Groups Projects
Commit 1cc8750c authored by uhensler's avatar uhensler
Browse files

OO-3303: Evaluation form part 'disclaimer'

parent 4cd0b581
No related branches found
No related tags found
No related merge requests found
Showing
with 514 additions and 81 deletions
......@@ -48,6 +48,7 @@ public class AllHandlerPageProvider implements PageProvider {
handlers.add(new FileUploadHandler(false));
handlers.add(new SingleChoiceHandler(false));
handlers.add(new MultipleChoiceHandler(false));
handlers.add(new DisclaimerHandler(false));
}
@Override
......
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.modules.forms.handler;
import java.util.Locale;
import java.util.UUID;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.translator.Translator;
import org.olat.core.util.Util;
import org.olat.modules.forms.model.xml.Disclaimer;
import org.olat.modules.forms.ui.DisclaimerController;
import org.olat.modules.forms.ui.DisclaimerEditorController;
import org.olat.modules.forms.ui.model.EvaluationFormExecutionElement;
import org.olat.modules.forms.ui.model.EvaluationFormResponseController;
import org.olat.modules.forms.ui.model.EvaluationFormResponseControllerElement;
import org.olat.modules.portfolio.ui.editor.PageElement;
import org.olat.modules.portfolio.ui.editor.PageElementRenderingHints;
import org.olat.modules.portfolio.ui.editor.PageRunElement;
import org.olat.modules.portfolio.ui.editor.SimpleAddPageElementHandler;
/**
*
* Initial date: 09.05.2018<br>
* @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
*
*/
public class DisclaimerHandler implements EvaluationFormElementHandler, SimpleAddPageElementHandler {
private final boolean restrictedEdit;
public DisclaimerHandler(boolean restrictedEdit) {
this.restrictedEdit = restrictedEdit;
}
@Override
public String getType() {
return Disclaimer.TYPE;
}
@Override
public String getIconCssClass() {
return "o_icon_eva_disclaimer";
}
@Override
public PageRunElement getContent(UserRequest ureq, WindowControl wControl, PageElement element,
PageElementRenderingHints options) {
if(element instanceof Disclaimer) {
Disclaimer disclaimer = (Disclaimer) element;
EvaluationFormResponseController ctrl = new DisclaimerController(ureq, wControl, disclaimer);
return new EvaluationFormResponseControllerElement(ctrl);
}
return null;
}
@Override
public Controller getEditor(UserRequest ureq, WindowControl wControl, PageElement element) {
if(element instanceof Disclaimer) {
Disclaimer disclaimer = (Disclaimer) element;
return new DisclaimerEditorController(ureq, wControl, disclaimer, restrictedEdit);
}
return null;
}
@Override
public EvaluationFormExecutionElement getExecutionElement(UserRequest ureq, WindowControl wControl, Form rootForm,
PageElement element) {
if (element instanceof Disclaimer) {
Disclaimer disclaimer = (Disclaimer) element;
EvaluationFormResponseController ctrl = new DisclaimerController(ureq, wControl, disclaimer, rootForm);
return new EvaluationFormResponseControllerElement(ctrl);
}
return null;
}
@Override
public PageElement createPageElement(Locale locale) {
Translator translator = Util.createPackageTranslator(DisclaimerEditorController.class, locale);
String defaultText = translator.translate("disclaimer.default.text");
Disclaimer disclaimer = new Disclaimer();
disclaimer.setId(UUID.randomUUID().toString());
disclaimer.setText(defaultText);
return disclaimer;
}
}
......@@ -19,8 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.List;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.control.WindowControl;
......@@ -38,7 +36,5 @@ public interface EvaluationFormElementHandler extends PageElementHandler {
public EvaluationFormExecutionElement getExecutionElement(UserRequest ureq, WindowControl wControl,
Form rootForm, PageElement element);
public List<String> getCompareResponseIdentifiers(PageElement element);
}
......@@ -19,9 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
......@@ -107,13 +104,4 @@ public class FileUploadHandler implements EvaluationFormElementHandler, SimpleAd
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
if (element instanceof FileUpload) {
FileUpload fileUpload = (FileUpload) element;
return Arrays.asList(fileUpload.getId());
}
return Collections.emptyList();
}
}
......@@ -19,7 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
......@@ -97,11 +96,6 @@ public class HTMLRawHandler implements EvaluationFormElementHandler, SimpleAddPa
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
return Collections.emptyList();
}
private Component getComponent(PageElement element) {
String content = "";
if(element instanceof HTMLRaw) {
......
......@@ -19,9 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
......@@ -116,13 +113,4 @@ public class MultipleChoiceHandler implements EvaluationFormElementHandler, Sim
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
if (element instanceof MultipleChoice) {
MultipleChoice multipleChoice = (MultipleChoice) element;
return Arrays.asList(multipleChoice.getId());
}
return Collections.emptyList();
}
}
......@@ -19,11 +19,8 @@
*/
package org.olat.modules.forms.handler;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
import java.util.stream.Collectors;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.impl.Form;
......@@ -111,12 +108,4 @@ public class RubricHandler implements EvaluationFormElementHandler, SimpleAddPag
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
if (element instanceof Rubric) {
Rubric rubric = (Rubric) element;
return rubric.getSliders().stream().map(Slider::getId).collect(Collectors.toList());
}
return Collections.emptyList();
}
}
......@@ -19,9 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
......@@ -118,13 +115,4 @@ public class SingleChoiceHandler implements EvaluationFormElementHandler, Simple
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
if (element instanceof SingleChoice) {
SingleChoice singleChoice = (SingleChoice) element;
return Arrays.asList(singleChoice.getId());
}
return Collections.emptyList();
}
}
......@@ -19,7 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
......@@ -99,11 +98,6 @@ public class SpacerHandler implements EvaluationFormElementHandler, SimpleAddPag
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
return Collections.emptyList();
}
private SpacerElementComponent getComponent() {
return new SpacerElementComponent("spacer_" + idGenerator.incrementAndGet());
}
......
......@@ -19,9 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
......@@ -104,13 +101,4 @@ public class TextInputHandler implements EvaluationFormElementHandler, SimpleAdd
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
if (element instanceof TextInput) {
TextInput textInput = (TextInput) element;
return Arrays.asList(textInput.getId());
}
return Collections.emptyList();
}
}
......@@ -19,7 +19,6 @@
*/
package org.olat.modules.forms.handler;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
......@@ -99,11 +98,6 @@ public class TitleHandler implements EvaluationFormElementHandler, SimpleAddPage
return null;
}
@Override
public List<String> getCompareResponseIdentifiers(PageElement element) {
return Collections.emptyList();
}
private Component getComponent(PageElement element) {
String content = "";
if(element instanceof Title) {
......
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.modules.forms.model.xml;
/**
*
* Initial date: 09.05.2018<br>
* @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
*
*/
public class Disclaimer extends AbstractElement {
private static final long serialVersionUID = -4672645489065727192L;
public static final String TYPE = "formdisclaimer";
private String text;
@Override
public String getType() {
return TYPE;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
@Override
public boolean equals(Object obj) {
if(this == obj) {
return true;
}
if(obj instanceof Disclaimer) {
Disclaimer disclaimer = (Disclaimer)obj;
return getId() != null && getId().equals(disclaimer.getId());
}
return super.equals(obj);
}
}
......@@ -44,6 +44,8 @@ public class FormXStream {
xstream.alias("choices", Choices.class);
xstream.alias("singlechoice", SingleChoice.class);
xstream.alias("multiplechoice", MultipleChoice.class);
xstream.alias("userdata", UserData.class);
xstream.alias("disclaimer", Disclaimer.class);
}
public static XStream getXStream() {
......
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.modules.forms.model.xml;
/**
*
* Initial date: 09.05.2018<br>
* @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
*
*/
public class UserData extends AbstractElement {
private static final long serialVersionUID = 8637202581257190137L;
public static final String TYPE = "formuserdata";
@Override
public String getType() {
return TYPE;
}
}
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.modules.forms.ui;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItem;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.elements.FormLink;
import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
import org.olat.core.gui.components.form.flexible.impl.FormEvent;
import org.olat.core.gui.components.link.Link;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.modal.DialogBoxController;
import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory;
import org.olat.core.util.CodeHelper;
import org.olat.modules.forms.EvaluationFormManager;
import org.olat.modules.forms.EvaluationFormResponse;
import org.olat.modules.forms.EvaluationFormSession;
import org.olat.modules.forms.EvaluationFormSessionRef;
import org.olat.modules.forms.model.xml.Disclaimer;
import org.olat.modules.forms.ui.model.EvaluationFormResponseController;
import org.springframework.beans.factory.annotation.Autowired;
/**
*
* Initial date: 09.05.2018<br>
* @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
*
*/
public class DisclaimerController extends FormBasicController implements EvaluationFormResponseController {
private static final String ACCEPTED_KEY = "disclaimer.accepted";
private static final String ACCEPTED_DB_KEY = "accepted";
private FormLink openDisclaimerLink;
private MultipleSelectionElement disclaimerEl;
private DialogBoxController disclaimerTextCtr;
private final Disclaimer disclaimer;
private EvaluationFormResponse response;
@Autowired
private EvaluationFormManager evaluationFormManager;
public DisclaimerController(UserRequest ureq, WindowControl wControl, Disclaimer disclaimer) {
super(ureq, wControl, LAYOUT_VERTICAL);
this.disclaimer = disclaimer;
initForm(ureq);
}
public DisclaimerController(UserRequest ureq, WindowControl wControl, Disclaimer disclaimer, Form rootForm) {
super(ureq, wControl, LAYOUT_VERTICAL, null, rootForm);
this.disclaimer = disclaimer;
initForm(ureq);
}
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
disclaimerEl = uifactory.addCheckboxesVertical("disclaimer_" + CodeHelper.getRAMUniqueID(), null, formLayout,
new String[] { ACCEPTED_KEY }, new String[] { translate(ACCEPTED_KEY) }, null, null, 1);
openDisclaimerLink = uifactory.addFormLink("disclaimer_" + CodeHelper.getRAMUniqueID(), "disclaimer.open", null,
formLayout, Link.LINK);
openDisclaimerLink.setElementCssClass("o_eva_disc_open");
}
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if (source == openDisclaimerLink) {
doOpenDisclaimer(ureq);
}
super.formInnerEvent(ureq, source, event);
}
@Override
protected void event(UserRequest ureq, Controller source, Event event) {
if (disclaimerTextCtr == source) {
boolean ok = DialogBoxUIFactory.isOkEvent(event) || DialogBoxUIFactory.isYesEvent(event);
disclaimerEl.select(ACCEPTED_KEY, ok);
}
super.event(ureq, source, event);
}
private void doOpenDisclaimer(UserRequest ureq) {
String title = translate("disclaimer.text.title");
disclaimerTextCtr = activateOkCancelDialog(ureq, title, disclaimer.getText(), disclaimerTextCtr);
}
@Override
protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = true;
disclaimerEl.clearError();
if (!disclaimerEl.isAtLeastSelected(1)) {
disclaimerEl.setErrorKey("disclaimer.not.accepted", null);
allOk = false;
}
return allOk & super.validateFormLogic(ureq);
}
@Override
protected void formOK(UserRequest ureq) {
//
}
@Override
protected void doDispose() {
//
}
@Override
public void setReadOnly(boolean readOnly) {
disclaimerEl.setEnabled(!readOnly);
}
@Override
public boolean hasResponse() {
return response != null && ACCEPTED_DB_KEY.equals(response.getStringuifiedResponse());
}
@Override
public void loadResponse(EvaluationFormSessionRef session) {
response = evaluationFormManager.loadResponse(disclaimer.getId(), session);
boolean accepted = response != null && ACCEPTED_DB_KEY.equals(response.getStringuifiedResponse());
disclaimerEl.select(ACCEPTED_KEY, accepted);
}
@Override
public void saveResponse(EvaluationFormSession session) {
boolean accepted = disclaimerEl.isAtLeastSelected(1);
if (accepted && response == null) {
response = evaluationFormManager.createStringResponse(disclaimer.getId(), session, ACCEPTED_DB_KEY);
} else if (!accepted && response != null) {
evaluationFormManager.deleteResponse(response);
response = null;
}
}
}
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.modules.forms.ui;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItem;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.elements.FormLink;
import org.olat.core.gui.components.form.flexible.elements.TextAreaElement;
import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
import org.olat.core.gui.components.form.flexible.impl.FormEvent;
import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
import org.olat.core.gui.components.link.Link;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.util.CodeHelper;
import org.olat.modules.forms.model.xml.Disclaimer;
import org.olat.modules.portfolio.ui.editor.PageElementEditorController;
import org.olat.modules.portfolio.ui.editor.event.ChangePartEvent;
import org.olat.modules.portfolio.ui.editor.event.ClosePartEvent;
/**
*
* Initial date: 09.05.2018<br>
* @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
*
*/
public class DisclaimerEditorController extends FormBasicController implements PageElementEditorController {
private DisclaimerController disclaimerCtrl;
private TextAreaElement textEl;
private FormLink saveButton;
private Disclaimer disclaimer;
private final boolean restrictedEdit;
private boolean editMode = false;
public DisclaimerEditorController(UserRequest ureq, WindowControl wControl, Disclaimer disclaimer,
boolean restrictedEdit) {
super(ureq, wControl, "disclaimer_editor");
this.disclaimer = disclaimer;
this.restrictedEdit = restrictedEdit;
initForm(ureq);
}
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
disclaimerCtrl = new DisclaimerController(ureq, getWindowControl(), disclaimer);
formLayout.add("preview", disclaimerCtrl.getInitialFormItem());
// settings
long postfix = CodeHelper.getRAMUniqueID();
FormLayoutContainer settingsCont = FormLayoutContainer.createDefaultFormLayout("sc_settings_cont_" + postfix,
getTranslator());
settingsCont.setRootForm(mainForm);
formLayout.add("settings", settingsCont);
textEl = uifactory.addTextAreaElement("disclaimer_" + CodeHelper.getRAMUniqueID(), "disclaimer.text", 50000, 12, 72,
false, disclaimer.getText(), settingsCont);
textEl.setEnabled(!restrictedEdit);
saveButton = uifactory.addFormLink("save_" + CodeHelper.getRAMUniqueID(), "save", null, settingsCont, Link.BUTTON);
saveButton.setVisible(!restrictedEdit);
}
@Override
public boolean isEditMode() {
return editMode;
}
@Override
public void setEditMode(boolean editMode) {
this.editMode = editMode;
flc.getFormItemComponent().contextPut("editMode", Boolean.valueOf(editMode));
}
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if (saveButton == source) {
if(validateFormLogic(ureq)) {
formOK(ureq);
}
}
super.formInnerEvent(ureq, source, event);
}
@Override
protected void formOK(UserRequest ureq) {
String text = textEl.getValue();
disclaimer.setText(text);
fireEvent(ureq, new ChangePartEvent(disclaimer));
fireEvent(ureq, new ClosePartEvent(disclaimer));
}
@Override
protected void doDispose() {
//
}
}
......@@ -31,6 +31,7 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.util.xml.XStreamHelper;
import org.olat.modules.forms.handler.DisclaimerHandler;
import org.olat.modules.forms.handler.FileUploadHandler;
import org.olat.modules.forms.handler.HTMLRawHandler;
import org.olat.modules.forms.handler.MultipleChoiceHandler;
......@@ -143,6 +144,8 @@ public class EvaluationFormEditorController extends BasicController {
// handler for multiple choice
MultipleChoiceHandler multipleChoiceHandler = new MultipleChoiceHandler(restrictedEdit);
handlers.add(multipleChoiceHandler);
DisclaimerHandler disclaimerHandler = new DisclaimerHandler(restrictedEdit);
handlers.add(disclaimerHandler);
if(!restrictedEdit) {
creationHandlers.add(titleRawHandler);
......@@ -153,6 +156,7 @@ public class EvaluationFormEditorController extends BasicController {
creationHandlers.add(fileUploadhandler);
creationHandlers.add(singleChoiceHandler);
creationHandlers.add(multipleChoiceHandler);
creationHandlers.add(disclaimerHandler);
}
}
......
#if($editMode)
<div class="o_evaluation_editor_form">$r.render("settings")</div>
#else
$r.render("preview")
#end
\ No newline at end of file
#Thu Dec 15 14:28:31 CET 2016
add.formdisclaimer=Nutzungsbedingungen
add.formfileupload=Datei hochladen
add.formhr=Separator
add.formhtitle=Titel
......@@ -7,6 +8,12 @@ add.formmultiplechoice=Mehrfachauswahl
add.formsinglechoice=Einzelauswahl
add.slider=Frage hinzuf\u00FCgen
chart.count=Anzahl
disclaimer.accepted=Ich habe die Nutzungsbedingungen gelesen, verstanden und stimme ihnen zu.
disclaimer.default.text=Alle von den Umfrageteilnehmern \u00FCbermittelten personenbezogenen Daten werden gem\u00E4ss den Datenschutzvorschriften bearbeitet und in keinem Fall an Dritte weitergegeben.
disclaimer.not.accepted=Sie \u00FCssen zuerst die Nutzungsbedingungen akzeptieren
disclaimer.open=Nutzungsbedingungen \u00F6ffnen
disclaimer.text=Nutzungsbedingungen
disclaimer.text.title=Nutzungsbedingungen
end.label=End
file.upload.error.mime.type.wrong=Dieser Dateityps ist nicht erlaubt
file.upload.error.limit.exeeded=Die Datei ist zu gross
......
#Thu Dec 15 14:30:15 CET 2016
add.formdisclaimer=Terms of use
add.formfileupload=Upload file
add.formhr=Separator
add.formhtitle=Title
......@@ -7,6 +8,12 @@ add.formmultiplechoice=Multiple choice
add.formsinglechoice=Single choice
add.slider=Add question
chart.count=Count
disclaimer.accepted=I have read the terms of use, do understand and agree.
disclaimer.default.text=All submitted personal data are processed accordingly to the data privacy policy are not given to third parties in any case.
disclaimer.not.accepted=You have to accept the terms of use
disclaimer.open=Open terms of use
disclaimer.text=Terms of use
disclaimer.text.title=Terms of use
choice.add=Add choice
choice.delete=Delete
choice.down=Down
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment