diff --git a/src/main/java/de/bps/course/nodes/den/_i18n/LocalStrings_it.properties b/src/main/java/de/bps/course/nodes/den/_i18n/LocalStrings_it.properties index 879f9a4b44ca2d135e31b764e77382263ac97177..5a618dd32b448e8a15309e0213f5ff3dba49ccb0 100644 --- a/src/main/java/de/bps/course/nodes/den/_i18n/LocalStrings_it.properties +++ b/src/main/java/de/bps/course/nodes/den/_i18n/LocalStrings_it.properties @@ -1,29 +1,4 @@ -#Mon Jan 17 16:09:57 CET 2011 - - - - - - - - - - - - - - - - - - - - - - - - - +#Thu Feb 09 09:18:23 CET 2017 condition.accessibility.title=Accesso config.create.dates=Creare impegni config.dates=Gestire termini @@ -69,7 +44,7 @@ dates.table.participant.firstname=Nome dates.table.participant.lastname=Cognome dates.table.participant.manage=Gestire dates.table.participant.name=Nome -dates.table.participant.username=Nome d'utente +dates.table.participant.username=Nome utente dates.table.participants.num=Numero partecipanti dates.table.reserved=Posti dates.table.run.enrolled=Iscritto @@ -92,7 +67,6 @@ form.error.format=Immissione errata form.error.notempty=Completare, p.f. guestnoaccess.message=Questa parte del corso non \u00E8 accessibile agli ospiti. <p>Per ottenere l'accesso a questa parte Lei deve autenticarsi presso un'universit\u00E0 o registrarsi in OLAT. guestnoaccess.title=Accesso negato agli ospiti - mail.participants.add.body=*** Questo \u00E8 un messaggio automatico. Non risponda a questo messaggio, p.f. *** \n\nLei \u00E8 stata/o iscritta/o davon {0} {1} ({2}) per un impegno\: \n\nNome impegno\: {4} mail.participants.add.subject=Attribuzione impegno\: {4}. \u00C8 stata/o iscritta/o. mail.participants.remove.body=*** Questo \u00E8 un messaggio automatico. Non risponda a questo messaggio, p.f. *** \r\n\r\nLei \u00E8 stata/o disiscritta/o da {0} {1} ({2}) per l'impegno\: \r\n\r\nNome impegno\: {4} diff --git a/src/main/java/org/olat/admin/privacy/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/admin/privacy/_i18n/LocalStrings_it.properties index 11227f01efdbf7ceb67776475da03d532f49a1c5..fb91c5a2e5c2fd0258d4b574f38cc668a6b09f19 100644 --- a/src/main/java/org/olat/admin/privacy/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/admin/privacy/_i18n/LocalStrings_it.properties @@ -1,6 +1,12 @@ -#Tue Feb 07 14:03:44 CET 2017 +#Fri Feb 10 09:00:13 CET 2017 admin.menu.title=Privacy admin.menu.title.alt=Privacy admin.props=Propriet\u00E0 amministrative admin.props.administrators=Amministratori di sistema admin.props.authors=Autori di corso +admin.props.desc=Ruoli di sistema per i quali le propriet\u00E0 utente amministrative sono visibili, ad esempio nelle maschere di ricerca utente o negli elenchi. Quali siano le propriet\u00E0 utente considerate come amministrative \u00E8 definito nella configurazione delle propriet\u00E0 utente. +admin.props.groupmanagers=Amministratori di gruppo +admin.props.usermanagers=Amministratori degli utenti +admin.props.users=Studente +last.login=Visibilit\u00E0 dell'ultima data di visita +tunnel.cbb=Permettere la condivisione dei dati utente diff --git a/src/main/java/org/olat/admin/properties/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/admin/properties/_i18n/LocalStrings_it.properties index a3ef9b0b3783493616fc42ee4a436533c070cf19..71c3477c366e1c33c102d304e598ecdf51456b3a 100644 --- a/src/main/java/org/olat/admin/properties/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/admin/properties/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Thu Jun 17 19:44:29 CEST 2010 +#Thu Feb 09 09:17:58 CET 2017 choose=Selezione close=Chiudere cmd.usersearch=Cercare nome d'utente @@ -10,7 +10,7 @@ searchform.category=Categoria searchform.propertyname=Nome searchform.resourcetypeid=Id del tipo di risorsa searchform.resoursetypename=Nome del tipo di risorsa -searchform.username=Nome d'utente +searchform.username=Nome utente table.header.category=Categoria table.header.creationdate=creationDate table.header.desc=Descrizione @@ -22,4 +22,4 @@ table.header.resourceTypeId=Id del tipo table.header.resourceTypeName=Tipo table.header.stringValue=stringValue table.header.textValue=textValue -table.header.userName=Nome d'utente +table.header.userName=Nome utente diff --git a/src/main/java/org/olat/admin/sysinfo/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/admin/sysinfo/_i18n/LocalStrings_it.properties index b6ebfe87837eed48607901120a300a0aeeda5aa7..bd7773f694b56a1d8cf6f931490ea081326c0f18 100644 --- a/src/main/java/org/olat/admin/sysinfo/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/admin/sysinfo/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Sat Jan 08 14:07:31 CET 2011 +#Thu Feb 09 09:17:28 CET 2017 allow.dmz.requests.done=Tutte le request su DMZ vengono permesse a partire da questo momento allow.login.done=Il bloccaggio login \u00E8 stato sospeso. block.login.done=Ora tutti i nuovi login sono bloccati. @@ -57,7 +57,7 @@ requestloglevel.disabled=Questa caratteristica non \u00E8 configuarata su questo requestloglevel.format.label=Formato requestloglevel.format.text=127.0.0.1\=DEBUG<br>192.168.0.1\=DEBUG,DebugLog (DebugLog \= log4j Appender)<br>administrator\=INFO requestloglevel.ips=Indirizzi IP -requestloglevel.usernames=Nomi d'utente +requestloglevel.usernames=Nomi utente resetloglevels=Ripristina tutti i livelli log su INFO run.gc=Run garbage collection sess.access=Ultimo accesso diff --git a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_it.properties index f58ed6163866ee444c7eda9d0b96392b247b1a1f..6304718bad31072537b62260be0d0c2e1e677c91 100644 --- a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_it.properties @@ -1,12 +1,12 @@ -#Sat Jan 08 14:06:55 CET 2011 +#Thu Feb 09 09:17:34 CET 2017 action.bulkedit=Modificare gli attributi di questi utenti action.choose=Selezionare action.choose.finish=Selezionare e concludere action.select=Selezionare authedit.delete.confirm=Vuole veramente sopprimere il provider d'autenticazione {0} per l'utente {1}? authedit.delete.success=Il provider d'autenticazione {0} per l'utente {1} \u00E8 stato soppresso. -autocompletion.info=Indichi un nome d'utente OLAT, un nome o un cognome. autocomplete.noresults=$org.olat.core.gui.control.generic.ajax.autocompletion\:autocomplete.noresults +autocompletion.info=Indichi un nome d'utente OLAT, un nome o un cognome. btn.back=Indietro bulkChange.failed=Non \u00E8 stata operata alcuna modifica bulkChange.partialsuccess={0} di {1} modifiche sono riuscite. Gli attributi degli utenti seguenti non sono stati modificati\: {2} @@ -44,7 +44,6 @@ form.username=Nome utente found.property=Attributo selezionato {0} header.autocompletion=Ricerca con completamento automatico header.normal=Ricerca con attributi utente - mailto.userlist=Lista degli utenti msg.selectionempty=Selezionare almeno un utente, p.f. new.error.email.choosen=Questo indirizzo e-mail \u00E8 gi\u00E0 in uso\: non pu\u00F2 creare un nuovo conto utente per questa persona. Nessun dato \u00E8 stato salvato. @@ -61,7 +60,7 @@ new.form.password.new1=Password new.form.password.new2=Conferma la password new.form.please.enter=Indicazioni sulla persona relativa al nuovo conto utente new.form.please.enter.pwd=Stabilisca una password per l'utente. -new.form.username=Nome d'utente +new.form.username=Nome utente new.user.cancel=L'azione \u00E8 stata interrotta. Nessun nuovo conto utente \u00E8 stato creato. new.user.successful=Il nuovo conto utente \u00E8 stato creato. notification.noNews=A partire da questa data non si \u00E8 connesso alcun nuovo utente. diff --git a/src/main/java/org/olat/core/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/core/_i18n/LocalStrings_it.properties index f46d2999d7595173b2df1e50e58845afddb02397..ba0577cb6b99bbeec8cb30754a47fd4bab5f8c54 100644 --- a/src/main/java/org/olat/core/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/core/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Mon Oct 10 11:49:19 CEST 2016 +#Thu Feb 09 09:22:05 CET 2017 alert=Selezioni almeno un oggetto per l'azione desiderata, p.f. back=Indietro calendar.choose=Selezioni una data nel calendario mini @@ -45,7 +45,7 @@ next=Avanti no=No off=spento ok=OK -on=acceso +on=attivo opfailed=Operazione fallita opsuccess=Operazione riuscita page.appname=OpenOLAT diff --git a/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_it.properties index b4c5018596e62e26f86d2881771a86701519c073..bbce84152b4f5877146b5f6eaf97f4c653b2d092 100644 --- a/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/course/assessment/ui/mode/_i18n/LocalStrings_it.properties @@ -1,6 +1,6 @@ -#Thu Jul 28 10:42:08 CEST 2016 +#Thu Feb 09 09:13:11 CET 2017 add.mode=Creare una configurazione di esame -admin.menu.title=Modo di valutazione +admin.menu.title=Modalit\u00E0 di valutazione admin.menu.title.alt=$\:admin.menu.title areas=Aree di studio assessment.countdown=L'esame terminer\u00E0 tra {0} minuto/i diff --git a/src/main/java/org/olat/course/nodes/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/nodes/_i18n/LocalStrings_it.properties index 6be78d4710e4799bf306e8940c60ab92daa78921..67df0c89ac7f97d0a4c909df570fae04f29f2c13 100644 --- a/src/main/java/org/olat/course/nodes/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/course/nodes/_i18n/LocalStrings_it.properties @@ -1,10 +1,10 @@ -#Wed Feb 01 13:40:33 CET 2017 +#Thu Feb 09 09:22:15 CET 2017 editor.lock.message=L'elemento di corso \u00E8 bloccato perch\u00E9 viene attualmente elaborato. editor.lock.title=Elemento di corso bloccato freezenoaccess.message=Questo corso \u00E8 in modalit\u00E0 di sola lettura. freezenoaccess.title=Nessun accesso guestnoaccess.message=Questa parte del corso non \u00E8 accessibile agli ospiti. <p>Per accedervi, deve prima procedere all'autenticazione attraverso un'Universit\u00E0 o registrarsi presso OLAT. -guestnoaccess.title=Acceso negato agli ospiti +guestnoaccess.title=Accesso negato agli ospiti learningObjectives.title=Descrizione personal.title=Riepilogo performance preview.notavailable=Per questo elemento di corso non \u00E8 disponibile un'anteprima. diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties index f09d4611b299370f719ddbb6cc64a11eee11eb42..f60a87ca1c40157e109a5f162629d17a8bae34eb 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Wed Feb 01 13:41:28 CET 2017 +#Fri Feb 10 08:57:07 CET 2017 add.solution=Aggiungere soluzione add.task=Aggiungere compito assessment.group.tool=Valutare il gruppo @@ -110,6 +110,7 @@ group.passed=Superato per il gruppo group.score=Punteggio di gruppo group.title=Riepilogo punteggio info.title=$org.olat.course.nodes.ms\:info.title +lastmodified=il {0} log.title=Registro delle modifiche mail.confirm.assignment.body=L'assegnazione ha avuto successo mail.confirm.assignment.subject=Assegnazione diff --git a/src/main/java/org/olat/group/ui/wizard/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/group/ui/wizard/_i18n/LocalStrings_it.properties index 6b8761741c4541452978ddc4aaf30c19dc93855e..8529d588e0c5571945063e2e08f3d5c532ad385b 100644 --- a/src/main/java/org/olat/group/ui/wizard/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/group/ui/wizard/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Wed Jun 22 10:37:05 CEST 2016 +#Thu Feb 09 09:22:56 CET 2017 action.general=Azione backLink=Indietro bgcopywizard.copyform.areas=Configurazione aree di studio @@ -26,7 +26,7 @@ config.resources.noresources=Selezionare "Aggiungi corso" per collegare uno o pi config.resources.title=Corsi config.tools.desc=Strumenti di collaborazione config.tools.off=spento -config.tools.on=acceso +config.tools.on=attivo config.tools.title=Strumenti contact.cp.from=$org.olat.core.util.mail\:contact.cp.from continue=Avanti diff --git a/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java b/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java index 4da8b8738a2204769fe98a71ac1c8454ffde1815..97798f72f83996ea275cd321ba6bbda54bea8f1c 100644 --- a/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java +++ b/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java @@ -279,7 +279,7 @@ public class QTI21AssessmentDetailsController extends FormBasicController { AssessmentTestSession row = tableModel.getObject(se.getIndex()); row = qtiService.getAssessmentTestSession(row.getKey()); if("open".equals(cmd)) { - if(row.getTerminationTime() == null) { + if(row.getFinishTime() == null) { doConfirmPullSession(ureq, row); } else { doOpenResult(ureq, row); @@ -363,8 +363,8 @@ public class QTI21AssessmentDetailsController extends FormBasicController { FileResourceManager frm = FileResourceManager.getInstance(); File fUnzippedDirRoot = frm.unzipFileResource(session.getTestEntry().getOlatResource()); URI assessmentObjectUri = qtiService.createAssessmentObjectUri(fUnzippedDirRoot); - File submissionDir = qtiService.getAssessmentResultFile(session); - String mapperUri = registerCacheableMapper(null, "QTI21Resources::" + session.getTestEntry().getKey(), + File submissionDir = qtiService.getSubmissionDirectory(session); + String mapperUri = registerCacheableMapper(null, "QTI21DetailsResources::" + session.getKey(), new ResourcesMapper(assessmentObjectUri, submissionDir)); resultCtrl = new AssessmentResultController(ureq, getWindowControl(), assessedIdentity, false, session, @@ -381,7 +381,13 @@ public class QTI21AssessmentDetailsController extends FormBasicController { @Override public int compare(AssessmentTestSession a1, AssessmentTestSession a2) { Date t1 = a1.getTerminationTime(); + if(t1 == null) { + t1 = a1.getFinishTime(); + } Date t2 = a2.getTerminationTime(); + if(t2 == null) { + t2 = a2.getFinishTime(); + } int c; if(t1 == null && t2 == null) { diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties index 2e31a1a8108e42ce0018ac565e0e52012b996e3f..14b11f906538baec24b67a60b37b4cc559614d99 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties @@ -61,6 +61,8 @@ correct.solution=Korrekte L\u00F6sung correction=Korrigieren debug.outcomes=Output Daten debug.responses=Antworten Daten +drawing.brushsize=Pinselgr\u00F6sse +drawing.opacity=Deckkraft error.as.directed=Alle 4 Antwortm\u00F6glichkeiten m\u00FCssen entweder mit Richtig oder Falsch beantwortet werden. error.as.directed.kprim=Bitte beantworten Sie die Frage wie vorgegeben. error.assessment.item=Die Datei konnte nicht gelesen werden. Sie ist entweder korrupt oder mit dem falschen Format gespeichert. diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties index 466e366779aa813024bb21eb88dde85db3f9081e..3701c18581f88cfef1337d97d692a78df30d782e 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties @@ -61,6 +61,8 @@ correct.solution=Correct solution correction=Grade debug.outcomes=Output data debug.responses=Responses data +drawing.brushsize=Brush size +drawing.opacity=Opacity error.as.directed=Please complete this interaction as directed. error.as.directed.kprim=Please complete this interaction as directed. error.assessment.item=The file cannot be interpreted. It seems corrupted or with the wrong format. diff --git a/src/main/java/org/olat/ims/qti21/ui/assessment/IdentitiesAssessmentItemCorrectionController.java b/src/main/java/org/olat/ims/qti21/ui/assessment/IdentitiesAssessmentItemCorrectionController.java index 34aadde934df6fb1f3ab0a3eb5f051fa623bdedd..286b622136b58145674ee688cd744427eee17599 100644 --- a/src/main/java/org/olat/ims/qti21/ui/assessment/IdentitiesAssessmentItemCorrectionController.java +++ b/src/main/java/org/olat/ims/qti21/ui/assessment/IdentitiesAssessmentItemCorrectionController.java @@ -124,7 +124,7 @@ public class IdentitiesAssessmentItemCorrectionController extends FormBasicContr interactions = assessmentItem.getItemBody().findInteractions(); resourcesMapper = new ResourcesMapper(assessmentObjectUri, submissionDirectoryMaps); - mapperUri = registerCacheableMapper(null, "QTI21Resources::" + testEntry.getKey(), resourcesMapper); + mapperUri = registerCacheableMapper(null, "QTI21CorrectionsResources::" + testEntry.getKey(), resourcesMapper); initForm(ureq); } @@ -228,34 +228,43 @@ public class IdentitiesAssessmentItemCorrectionController extends FormBasicContr if(itemResults != null) { for(IdentityAssessmentItemWrapper itemResult:itemResults) { - String scoreVal = itemResult.getScoreEl().getValue(); - itemResult.getScoreEl().clearError(); - try { - double score = Double.parseDouble(scoreVal); - //check boundaries - - boolean boundariesOk = true; - if(itemResult.getMinScore() != null && score < itemResult.getMinScoreVal().doubleValue()) { - boundariesOk &= false; - } - if(itemResult.getMaxScore() != null && score > itemResult.getMaxScoreVal().doubleValue()) { - boundariesOk &= false; - } - - if(!boundariesOk) { - itemResult.getScoreEl() - .setErrorKey("correction.min.max.score", new String[]{ itemResult.getMinScore(), itemResult.getMaxScore() }); - } - allOk &= boundariesOk; - } catch(Exception e) { - itemResult.getScoreEl().setErrorKey("form.error.nointeger", null); - allOk &= false; - } + allOk &= validateItemResults(itemResult); } } return allOk & super.validateFormLogic(ureq); } + + private boolean validateItemResults(IdentityAssessmentItemWrapper itemResult) { + boolean allOk = true; + + String scoreVal = itemResult.getScoreEl().getValue(); + itemResult.getScoreEl().clearError(); + if(StringHelper.containsNonWhitespace(scoreVal)) { + try { + double score = Double.parseDouble(scoreVal); + //check boundaries + + boolean boundariesOk = true; + if(itemResult.getMinScore() != null && score < itemResult.getMinScoreVal().doubleValue()) { + boundariesOk &= false; + } + if(itemResult.getMaxScore() != null && score > itemResult.getMaxScoreVal().doubleValue()) { + boundariesOk &= false; + } + + if(!boundariesOk) { + itemResult.getScoreEl() + .setErrorKey("correction.min.max.score", new String[]{ itemResult.getMinScore(), itemResult.getMaxScore() }); + } + allOk &= boundariesOk; + } catch(Exception e) { + itemResult.getScoreEl().setErrorKey("form.error.nointeger", null); + allOk &= false; + } + } + return allOk; + } @Override protected void formOK(UserRequest ureq) { @@ -265,8 +274,10 @@ public class IdentitiesAssessmentItemCorrectionController extends FormBasicContr @Override protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if(nextQuestionButton == source) { - doSave(); - fireEvent(ureq, Event.DONE_EVENT); + if(validateFormLogic(ureq)) { + doSave(); + fireEvent(ureq, Event.DONE_EVENT); + } } super.formInnerEvent(ureq, source, event); } @@ -277,48 +288,46 @@ public class IdentitiesAssessmentItemCorrectionController extends FormBasicContr } private void doSave() { - if(itemResults != null) { - + if(itemResults == null) return; + + for(IdentityAssessmentItemWrapper itemResult:itemResults) { + AssessmentItemCorrection itemCorrection = itemResult.getCorrection(); + TestSessionState testSessionState = itemCorrection.getTestSessionState(); + AssessmentTestSession candidateSession = itemCorrection.getTestSession(); + AssessmentSessionAuditLogger candidateAuditLogger = qtiService.getAssessmentSessionAuditLogger(candidateSession, false); - for(IdentityAssessmentItemWrapper itemResult:itemResults) { - AssessmentItemCorrection itemCorrection = itemResult.getCorrection(); - TestSessionState testSessionState = itemCorrection.getTestSessionState(); - AssessmentTestSession candidateSession = itemCorrection.getTestSession(); - AssessmentSessionAuditLogger candidateAuditLogger = qtiService.getAssessmentSessionAuditLogger(candidateSession, false); + String scoreVal = itemResult.getScoreEl().getValue(); + if(StringHelper.containsNonWhitespace(scoreVal)) { + BigDecimal mScore = new BigDecimal(scoreVal); + String stringuifiedIdentifier = itemResult + .getTestPlanNodeKey().getIdentifier().toString(); - String scoreVal = itemResult.getScoreEl().getValue(); - if(StringHelper.containsNonWhitespace(scoreVal)) { - BigDecimal mScore = new BigDecimal(scoreVal); - String stringuifiedIdentifier = itemResult - .getTestPlanNodeKey().getIdentifier().toString(); - - ParentPartItemRefs parentParts = AssessmentTestHelper - .getParentSection(itemResult.getTestPlanNodeKey(), testSessionState, resolvedAssessmentTest); - AssessmentItemSession itemSession = qtiService - .getOrCreateAssessmentItemSession(candidateSession, parentParts, stringuifiedIdentifier); - itemSession.setManualScore(mScore); - itemSession = qtiService.updateAssessmentItemSession(itemSession); - itemCorrection.setItemSession(itemSession); - - candidateAuditLogger.logCorrection(candidateSession, itemSession, getIdentity()); - } + ParentPartItemRefs parentParts = AssessmentTestHelper + .getParentSection(itemResult.getTestPlanNodeKey(), testSessionState, resolvedAssessmentTest); + AssessmentItemSession itemSession = qtiService + .getOrCreateAssessmentItemSession(candidateSession, parentParts, stringuifiedIdentifier); + itemSession.setManualScore(mScore); + itemSession = qtiService.updateAssessmentItemSession(itemSession); + itemCorrection.setItemSession(itemSession); - BigDecimal totalScore = null; - for(AssessmentItemCorrection corr:testCorrections.getCorrections(itemCorrection.getAssessedIdentity())) { - BigDecimal mScore = corr.getManualScore(); - if(totalScore == null) { - totalScore = mScore; - } else if(mScore != null) { - totalScore = totalScore.add(mScore); - } + candidateAuditLogger.logCorrection(candidateSession, itemSession, getIdentity()); + } + + BigDecimal totalScore = null; + for(AssessmentItemCorrection corr:testCorrections.getCorrections(itemCorrection.getAssessedIdentity())) { + BigDecimal mScore = corr.getManualScore(); + if(totalScore == null) { + totalScore = mScore; + } else if(mScore != null) { + totalScore = totalScore.add(mScore); } - - candidateSession.setManualScore(totalScore); - candidateSession = qtiService.updateAssessmentTestSession(candidateSession); - itemCorrection.setTestSession(candidateSession); - - IOUtils.closeQuietly(candidateAuditLogger); - } + } + + candidateSession.setManualScore(totalScore); + candidateSession = qtiService.updateAssessmentTestSession(candidateSession); + itemCorrection.setTestSession(candidateSession); + + IOUtils.closeQuietly(candidateAuditLogger); } } } \ No newline at end of file diff --git a/src/main/java/org/olat/ims/qti21/ui/assessment/IdentityAssessmentTestCorrectionController.java b/src/main/java/org/olat/ims/qti21/ui/assessment/IdentityAssessmentTestCorrectionController.java index a48549ac5b189b94be65ddf87cd9b90ebe0b3076..d4ec11af46685098bd5f68aaa45a48f69d6118d7 100644 --- a/src/main/java/org/olat/ims/qti21/ui/assessment/IdentityAssessmentTestCorrectionController.java +++ b/src/main/java/org/olat/ims/qti21/ui/assessment/IdentityAssessmentTestCorrectionController.java @@ -112,9 +112,9 @@ public class IdentityAssessmentTestCorrectionController extends FormBasicControl ImsQTI21Resource.createResolvingResourceLocator(fileResourceLocator); assessmentObjectUri = qtiService.createAssessmentObjectUri(fUnzippedDirRoot); - File submissionFile = qtiService.getSubmissionDirectory(candidateSession); - mapperUri = registerCacheableMapper(null, "QTI21Resources::" + testEntry.getKey(), - new ResourcesMapper(assessmentObjectUri, submissionFile)); + File submissionDir = qtiService.getSubmissionDirectory(candidateSession); + mapperUri = registerCacheableMapper(null, "QTI21CorrectionResources::" + session.getKey(), + new ResourcesMapper(assessmentObjectUri, submissionDir)); resolvedAssessmentTest = qtiService.loadAndResolveAssessmentTest(fUnzippedDirRoot, false, false); testSessionState = qtiService.loadTestSessionState(candidateSession); diff --git a/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_de.properties index 6ab91a6108a626700bff1b4bb14a9ff36c82ed10..4c6b4f2523859456235113417b8c84a802851616 100644 --- a/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_de.properties @@ -6,7 +6,7 @@ correction.test.title=Korrigieren grade.no.items=Es gibt kein Resultat f\u00FCr diese Frage zu korrigieren. grade.nobody=Es gibt kein Resultat zu korrigieren. next.item=Zur n\u00E4chsten Frage -not.responded=Die Frage wurde nicht beantworter +not.responded=Die Frage wurde nicht beantwortet overview.tests=\u00DCbersicht und abschliessen previous.item=Zur\u00FCck zur letzte Frage save.next=Speichern und n\u00E4chste Frage diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html index e54e00e355853b8cbc5a4da3f0b42bd35c4456bf..e2bc092f31843a45ae910c54981ecaabbcf2c1ea 100644 --- a/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html +++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html @@ -39,10 +39,10 @@ <canvas id="brush_size" width="50" height="50"> </canvas> </div> <div class="btn-group"> - <input type="range" id="width_range" value="10">Brush Size + <input type="range" id="width_range" value="10">$r.translate("drawing.brushsize") </div> <div class="btn-group"> - <input type="range" id="opacity_range" value="100">Opacity + <input type="range" id="opacity_range" value="100">$r.translate("drawing.opacity") </div> </div> #end diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemEditorController.java index ab7e0a62e7a49732ffebe7246b96dbd7dcc0659f..766f907070b6cb851b875bae07e823c8ff390eb4 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemEditorController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentItemEditorController.java @@ -267,19 +267,19 @@ public class AssessmentItemEditorController extends BasicController { } private AssessmentItemBuilder initFIBEditors(UserRequest ureq, QTI21QuestionType preferedType, AssessmentItem item) { - FIBAssessmentItemBuilder kprimItemBuilder = new FIBAssessmentItemBuilder(item, qtiService.qtiSerializer()); - itemEditor = new FIBEditorController(ureq, getWindowControl(), preferedType, kprimItemBuilder, + FIBAssessmentItemBuilder fibItemBuilder = new FIBAssessmentItemBuilder(item, qtiService.qtiSerializer()); + itemEditor = new FIBEditorController(ureq, getWindowControl(), preferedType, fibItemBuilder, rootDirectory, rootContainer, itemFile, restrictedEdit); listenTo(itemEditor); - scoreEditor = new FIBScoreController(ureq, getWindowControl(), kprimItemBuilder, itemRef, restrictedEdit); + scoreEditor = new FIBScoreController(ureq, getWindowControl(), fibItemBuilder, itemRef, restrictedEdit); listenTo(scoreEditor); - feedbackEditor = new FeedbackEditorController(ureq, getWindowControl(), kprimItemBuilder, restrictedEdit); + feedbackEditor = new FeedbackEditorController(ureq, getWindowControl(), fibItemBuilder, restrictedEdit); listenTo(feedbackEditor); tabbedPane.addTab(translate("form.fib"), itemEditor); tabbedPane.addTab(translate("form.score"), scoreEditor); tabbedPane.addTab(translate("form.feedback"), feedbackEditor); - return kprimItemBuilder; + return fibItemBuilder; } private AssessmentItemBuilder initHotspotEditors(UserRequest ureq, AssessmentItem item) { diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java index 96a4d2595be5185963719d2e4a490b6c9f3176d9..bf3280305dfc1a7618521125a9ac8513c2d7edf6 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java @@ -20,10 +20,10 @@ package org.olat.ims.qti21.ui.editor.interactions; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; @@ -67,7 +67,7 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem private SingleSelection assessmentModeEl; private FIBAssessmentItemBuilder itemBuilder; - private final List<TextEntryWrapper> wrappers = new ArrayList<>(); + private final List<FIBEntryWrapper> wrappers = new ArrayList<>(); private int counter = 0; @@ -128,14 +128,14 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem if(itemBuilder == assessmentItemBuilder) { List<AbstractEntry> entries = itemBuilder.getOrderedTextEntries(); for(AbstractEntry entry:entries) { - TextEntryWrapper wrapper = getTextEntryWrapper(entry); + FIBEntryWrapper wrapper = getTextEntryWrapper(entry); if(wrapper == null) { wrappers.add(createTextEntryWrapper(entry)); } } //remove removed entry - for(Iterator<TextEntryWrapper> wrapperIt=wrappers.iterator(); wrapperIt.hasNext(); ) { + for(Iterator<FIBEntryWrapper> wrapperIt=wrappers.iterator(); wrapperIt.hasNext(); ) { Identifier responseIdentifier = wrapperIt.next().getEntry().getResponseIdentifier(); if(itemBuilder.getTextEntry(responseIdentifier.toString()) == null) { wrapperIt.remove(); @@ -143,11 +143,13 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem } //reorder the wrappers - Map<AbstractEntry,TextEntryWrapper> wrapperMap = wrappers.stream() - .collect(Collectors.toMap(w -> w.getEntry(), w -> w)); - List<TextEntryWrapper> reorderedWrappers = new ArrayList<>(); + Map<AbstractEntry,FIBEntryWrapper> wrapperMap = new HashMap<>(); + for(FIBEntryWrapper wrapper:wrappers) { + wrapperMap.put(wrapper.getEntry(), wrapper); + } + List<FIBEntryWrapper> reorderedWrappers = new ArrayList<>(); for(AbstractEntry entry:entries) { - TextEntryWrapper wrapper = wrapperMap.get(entry); + FIBEntryWrapper wrapper = wrapperMap.get(entry); if(wrapper != null) { reorderedWrappers.add(wrapper); wrapperMap.remove(entry); @@ -155,15 +157,19 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem } if(wrapperMap.size() > 0) {//paranoid security - reorderedWrappers.addAll(wrapperMap.values()); + for(FIBEntryWrapper wrapper:wrapperMap.values()) { + if(!reorderedWrappers.contains(wrapper)) { + reorderedWrappers.add(wrapper); + } + } } wrappers.clear(); wrappers.addAll(reorderedWrappers); } } - private TextEntryWrapper getTextEntryWrapper(AbstractEntry entry) { - for(TextEntryWrapper wrapper:wrappers) { + private FIBEntryWrapper getTextEntryWrapper(AbstractEntry entry) { + for(FIBEntryWrapper wrapper:wrappers) { if(wrapper.getEntry() == entry) { return wrapper; } @@ -171,7 +177,7 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem return null; } - private TextEntryWrapper createTextEntryWrapper(AbstractEntry entry) { + private FIBEntryWrapper createTextEntryWrapper(AbstractEntry entry) { String points = ""; Double score = entry.getScore(); if(score != null) { @@ -182,7 +188,7 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem pointEl.setDisplaySize(5); pointEl.setEnabled(!restrictedEdit); scoreCont.add(pointElId, pointEl); - return new TextEntryWrapper(entry, pointEl); + return new FIBEntryWrapper(entry, pointEl); } @Override @@ -191,7 +197,7 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem allOk &= validateDouble(maxScoreEl); if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) { - for(TextEntryWrapper wrapper:wrappers) { + for(FIBEntryWrapper wrapper:wrappers) { allOk &= validateDouble(wrapper.getPointsEl()); } } @@ -219,7 +225,7 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) { itemBuilder.setScoreEvaluationMode(ScoreEvaluation.perAnswer); - for(TextEntryWrapper wrapper:wrappers) { + for(FIBEntryWrapper wrapper:wrappers) { String pointsStr = wrapper.getPointsEl().getValue(); Double points = new Double(pointsStr); wrapper.getEntry().setScore(points); @@ -236,16 +242,19 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem // } - public final class TextEntryWrapper { + public final class FIBEntryWrapper { - private final String summary; private final AbstractEntry entry; private final TextElement pointsEl; - public TextEntryWrapper(AbstractEntry entry, TextElement pointsEl) { + public FIBEntryWrapper(AbstractEntry entry, TextElement pointsEl) { this.entry = entry; this.pointsEl = pointsEl; pointsEl.setUserObject(this); + } + + public String getSummary() { + String summary; if(entry instanceof TextEntry) { summary = ((TextEntry)entry).getSolution(); } else if(entry instanceof NumericalEntry) { @@ -254,9 +263,6 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem } else { summary = "???"; } - } - - public String getSummary() { return summary; } @@ -267,5 +273,22 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem public AbstractEntry getEntry() { return entry; } + + @Override + public int hashCode() { + return entry.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof FIBEntryWrapper) { + FIBEntryWrapper w = (FIBEntryWrapper)obj; + return entry == w.entry; + } + return false; + } } } diff --git a/src/main/java/org/olat/modules/coach/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/modules/coach/ui/_i18n/LocalStrings_it.properties index c73575dbce812643392a4639d283110ff85a89ad..22ef65abf6356071a1e1847c731212e30e02db7d 100644 --- a/src/main/java/org/olat/modules/coach/ui/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/modules/coach/ui/_i18n/LocalStrings_it.properties @@ -1,6 +1,6 @@ -#Wed Feb 01 11:34:22 CET 2017 +#Thu Feb 09 09:11:12 CET 2017 coaching.enabled=Tutoraggio abilitato -coaching.on=su +coaching.on=attivo coaching.title=Tutoraggio contact.link=Contatto contact.title=Contatto diff --git a/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java b/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java index a328034b2de00def1f7ce98abb9c24d6eed82b2e..9256411d7047a8c8fa9107080e33d37148d6bcb7 100644 --- a/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java +++ b/src/main/java/org/olat/modules/portfolio/manager/BinderDAO.java @@ -128,6 +128,8 @@ public class BinderDAO { } public Binder syncWithTemplate(BinderImpl template, BinderImpl binder, AtomicBoolean changes) { + binder.setImagePath(template.getImagePath()); + List<Section> templateSections = template.getSections(); Map<Assignment,Section> assignmentTemplateToSectionTemplatesMap = new HashMap<>(); for(Section templateSection:templateSections) { diff --git a/src/main/java/org/olat/modules/portfolio/ui/BinderListController.java b/src/main/java/org/olat/modules/portfolio/ui/BinderListController.java index f17c8cdc04f3dce992228356648cbb8c37388152..6e6327a8d2448322c378a4aff39b352a51c611da 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/BinderListController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/BinderListController.java @@ -397,7 +397,12 @@ public class BinderListController extends FormBasicController if(binder.isChanged()) { showInfo("warning.binder.synched"); } - return doOpenBinder(ureq, binder.getBinder()); + BinderController binderCtrl = doOpenBinder(ureq, binder.getBinder()); + if(row instanceof BinderRow) { + VFSLeaf image = portfolioService.getPosterImageLeaf(binder.getBinder()); + ((BinderRow)row).setBackgroundImage(image); + } + return binderCtrl; } protected BinderController doOpenBinder(UserRequest ureq, Binder binder) { diff --git a/src/main/java/org/olat/modules/portfolio/ui/model/BinderRow.java b/src/main/java/org/olat/modules/portfolio/ui/model/BinderRow.java index 53ae616558e47dffcb8ddcbfdaf0020f711dbe65..a599bd96a68e4c959ae01763faea3271c20201b4 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/model/BinderRow.java +++ b/src/main/java/org/olat/modules/portfolio/ui/model/BinderRow.java @@ -36,7 +36,7 @@ import org.olat.modules.portfolio.model.BinderStatistics; public class BinderRow implements BinderRef { private final BinderStatistics binderStats; - private final VFSLeaf image; + private VFSLeaf image; private final FormLink openLink; private final boolean newBinder; @@ -109,6 +109,10 @@ public class BinderRow implements BinderRef { return image; } + public void setBackgroundImage(VFSLeaf image) { + this.image = image; + } + public String getImageName() { return image == null ? null : image.getName(); } diff --git a/src/main/java/org/olat/modules/wiki/WikiToCPResource.java b/src/main/java/org/olat/modules/wiki/WikiToCPResource.java index ce5293f67e13438648ce8ea7aab6eeda830f6f84..ee965d6e2d13ff5b7ac37c42fb0beec2079c4b87 100644 --- a/src/main/java/org/olat/modules/wiki/WikiToCPResource.java +++ b/src/main/java/org/olat/modules/wiki/WikiToCPResource.java @@ -96,7 +96,7 @@ public class WikiToCPResource implements MediaResource { } Wiki wiki = WikiManager.getInstance().getOrLoadWiki(ores); - String label = "Wiki"; + String label = "Wiki.zip"; String urlEncodedLabel = StringHelper.urlEncodeUTF8(label); hres.setHeader("Content-Disposition","attachment; filename*=UTF-8''" + urlEncodedLabel); hres.setHeader("Content-Description", urlEncodedLabel); diff --git a/src/main/java/org/olat/registration/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/registration/_i18n/LocalStrings_it.properties index 5984299966ca7e75d03ab1d0356c580a988387c3..8baacbb91661b9bd051356bd5713feee4a96aa91 100644 --- a/src/main/java/org/olat/registration/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/registration/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Wed Jul 06 12:01:27 CEST 2016 +#Thu Feb 09 09:17:11 CET 2017 admin.enableRegistration=Attivare l'auto-registrazione admin.enableRegistration.on=Attivo admin.enableRegistrationLink=Attivare l'autro-registrazione da siti web esterni @@ -33,8 +33,8 @@ email.address.maynotbeempty=La casella dell'indirizzo e-mail non pu\u00F2 essere email.address.notregular=L'indirizzo e-mail dev'essere valido. email.address2=Indirizzo e-mail (immettere nuovamente, p.f.) email.notsent=La e-mail non pu\u00F2 essere spedita. Immetta nuovamente il Suo indirizzo e-mail, p.f. -email.or.username=Indirizzo e-mail o nome d'utente -email.or.username.maynotbeempty=Indichi il Suo indirizzo e-mail o il Suo nome d'utente, p.f. +email.or.username=Indirizzo e-mail o nome utente +email.or.username.maynotbeempty=Indichi il Suo indirizzo e-mail o il Suo nome utente email.or.username.not.identified=L'utente non \u00E8 identificabile chiaramente email.sent=La e-mail \u00E8 stata spedita. form.check1=Immetta il Suo nome, p.f. @@ -69,7 +69,7 @@ pwform.failed=Errore inatteso\: la password non viene modificata. pwkey.missingentry=La chiave per impostare la Sua nuova password non \u00E8 stata trovata. reg.body=<p>Grazie per il Suo interessamento a OpenOLAT.</p><p>Presso {3}<br>pu\u00F2 completare la registrazione.</p><p>Nel caso non si voglia ancora registrare, cancelli senz'altro questa e-mail.</p><p>Il Suo team OpenOLAT</p> reg.error.disabled.body=L'auto-registrazione \u00E8 disattivata per questo sistema. Prego contattare l'amministratore di sistema {0} per ottenere l'accesso. -reg.error.no_username=Il nome d'utente non \u00E8 stato creato. +reg.error.no_username=Il nome utente non \u00E8 stato creato. reg.error.title=Registrazione interrotta reg.error.user_in_use=Il nome d'utente esiste gi\u00E0 reg.notiEmail.body=Una/un nuova/o utente OpenOLAT si \u00E8 appena registrata/o\: \n\nNome\: \t{2}\nCognome\: \t\t{1}\nLogin\: \t\t{0}\nE-mail\: \t{3}\nLingua\: \t\t{4}\nServer\: \t\t{5} diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties index baf89bcd4e2f3429558c2a75ab68035bdb22553e..6bb7c41f8b0771027c5783aa110f5a7e9987df05 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Tue Feb 07 10:45:56 CET 2017 +#Thu Feb 09 09:15:30 CET 2017 BinderTemplate=Portfolio 2.0 modello CourseModule=Corso EPStructuredMapTemplate=Modello di portfolio @@ -329,9 +329,9 @@ menu.repository.admin.alt=$\:menu.repository.admin message.entry.selected=La risorsa didattica {0} del tipo {1} \u00E8 stata collocata correttamente. month=Mese msg.warnusers=(Questa risorsa didattica \u00E8 attualmente utilizzata da {0} utente/i.) -my.course.comment.enabled=Commenti in "Corso" -my.course.rating.enabled=Valutazioni in "Corso" -my.course.search.enabled=Ricerca nel "Corso" +my.course.comment.enabled=Commenti in "Corsi" +my.course.rating.enabled=Valutazioni in "Corsi" +my.course.search.enabled=Ricerca in "Corsi" new.blog=Creare blog new.blog.intro=Creare un nuovo blog new.course=Creare corso diff --git a/src/main/java/org/olat/shibboleth/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/shibboleth/_i18n/LocalStrings_it.properties index ec3c8b8c9747c802809bfb7e793b151268e3c339..c6fceb1cdb1145632b8df82c0b66d40f3d84ec2a 100644 --- a/src/main/java/org/olat/shibboleth/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/shibboleth/_i18n/LocalStrings_it.properties @@ -1,14 +1,4 @@ -#Thu Sep 03 11:24:42 CEST 2015 - - - - - - - - - - +#Thu Feb 09 09:18:21 CET 2017 eduPersonAffiliation=Affiliazione eduPersonAffiliation.affiliate=Affiliati eduPersonAffiliation.alum=Alumni @@ -29,8 +19,8 @@ info.browser.close=Per ragioni di sicurezza Le consigliamo di chiudere il Suo br mail=E-mail organizationalUnit=Unit\u00E0 organizzativa postalAddress=Indirizzo -sm.error.no_username=Nessun nome d'utente \u00E8 stato cerato -sm.error.username_in_use=Il nome d'utente esiste gi\u00E0 +sm.error.no_username=Nessun nome utente \u00E8 stato cerato +sm.error.username_in_use=Il nome utente esiste gi\u00E0 sm.header=Registrazione sm.intro=Il nome d'utente da lei scelto esiste gi\u00E0 il OLAT. Se \u00E8 sicura/o di avere utilizzato precedentemente questo nome d'utente durante la registrazione OLAT, allora immetta la password corrispondente. A verificazione avvenuta il nome d'utente verr\u00E0 rilevato automaticamente.<br><br>Se Lei non ha creato questo nome d'utente, allora clicchi su "Interrompere" e scelga un altro nome d'utente. smf.error.blocked=Il nome d'utente scelto \u00E8 stato bloccato per ragioni di sicurezza. Riprovi pi\u00F9 tardi, p.f. diff --git a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_it.properties index 23bce0cf12932cdeee37cff4c436e20d2e2ada74..dc7f67aeb352604d996356d8f42eb94817239e1e 100644 --- a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_it.properties @@ -1,4 +1,4 @@ -#Tue Feb 07 10:01:03 CET 2017 +#Thu Feb 09 09:16:42 CET 2017 country.code.AD=Andorra country.code.AE=Emirati Arabi Uniti country.code.AG=Antigua/Barbuda @@ -439,7 +439,7 @@ userinterests.configinfo=La configurazione degli interessi degli utenti a dispos userinterests.description=Selezionare tra le seguenti aree di interesse, quelle in cui si \u00E8 specializzati o interessati (massimo 5). userinterests.editlink=Modificare... userinterests.title=Expertise -username=Nome d'utente +username=Nome utente yph.err=Inserire un valore valido per favore yph.from=Da yph.infomsg=Inserire l'anno di inizio e di fine nel formato AAAA.<br />Puoi anche specificare il periodo da-a utilizzando '+ N' o '-N' ...