Registrazione Step 1 Registrazione Step 1

Angular Portlet Angular Portlet

An error occurred while processing the template.
Expression traduzioni['LBL_LIBERATORIA_STATISTICHE_TERZI'] is undefined on line 562, column 62 in 20154#20194#210909.
1<#assign theme_images_path = request["theme-display"]["path-theme-images"] /> 
2<#assign formMessagesPath = request["theme-display"]["path-theme-images"]?replace("/images", "/html/form-messages.html") /> 
3 
4<#assign traduzioni = {} /> 
5<#if Campo.getSiblings()?has_content> 
6	<#list Campo.getSiblings() as cur_Campo> 
7		<#if cur_Campo.getData()?has_content && cur_Campo.Etichetta.getData()?has_content> 
8			<#assign traduzioni = traduzioni + {cur_Campo.getData(), cur_Campo.Etichetta.getData()} /> 
9		</#if> 
10	</#list> 
11</#if> 
12 
13<div id="greyLayout" class="affiGlassPane text-center" ng-show="submitting"> 
14 <i class="fa fa-spinner fa-spin fa-3x"> </i> 
15</div> 
16 
17<div id="ptl-registrazione-step-1" class="hidden"> 
18	 
19	<h2 class="title-view registra">${traduzioni['LBL_TITOLO']}</h2> 
20	<h2 ng-show="!utenzaNuovaTrovata" class="title-view conferma hidden">${traduzioni['LBL_TITOLO_CONFERMA']}</h2> 
21	<h2 ng-show="utenzaNuovaTrovata" class="title-view conferma hidden">${traduzioni['LBL_TITOLO_AVVISO_UNISCI_UTENZE']}</h2> 
22	<div id="LBL_ERRORE_INTERNO" class="portlet-msg-error" role="alert" ng-show="LBL_ERRORE_INTERNO">${traduzioni['LBL_ERRORE_INTERNO']}</div> 
23	<div id="LBL_MAIL_NOT_VALID" class="portlet-msg-error" role="alert" ng-show="LBL_MAIL_NOT_VALID">${traduzioni['LBL_MAIL_NOT_VALID']}</div> 
24	<div id="LBL_ERRORE_UTENTE_PRESENTE" class="portlet-msg-error" role="alert" ng-show="LBL_ERRORE_UTENTE_PRESENTE">${traduzioni['LBL_ERRORE_UTENTE_PRESENTE']}</div> 
25	<div id="LBL_ERRORE_RECUPERO_BENEFICIARIO" class="portlet-msg-error" role="alert" ng-show="LBL_ERRORE_RECUPERO_BENEFICIARIO">${traduzioni['LBL_ERRORE_RECUPERO_BENEFICIARIO']}</div> 
26	<div id="LBL_ERRORE_PRODOTTO_REGISTRED" class="portlet-msg-error" role="alert" ng-show="LBL_ERRORE_PRODOTTO_REGISTRED">${traduzioni['LBL_ERRORE_PRODOTTO_REGISTRED']}</div> 
27	<div id="LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO" class="portlet-msg-error" role="alert" ng-show="LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO">${traduzioni['LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO']}</div> 
28	<div id="LBL_ERRORE_UTENTE_NON_CONFERMATO" class="portlet-msg-info" role="alert" ng-show="LBL_ERRORE_UTENTE_NON_CONFERMATO">${traduzioni['LBL_ERRORE_UTENTE_NON_CONFERMATO']}</div> 
29	<div id="LBL_ERRORE_CODICE_FISCALE" class="portlet-msg-error" role="alert" ng-show="LBL_ERRORE_CODICE_FISCALE">${traduzioni['LBL_ERRORE_CODICE_FISCALE']}</div> 
30	<div class="alert alert-error" role="alert" ng-show="LBL_PASSWORD_NO_MATCH">${traduzioni['LBL_PASSWORD_NO_MATCH']}</div> 
31	<div id="LBL_SUCCESSO_FORM" class="portlet-msg-info alert alert-success" role="status" ng-show="LBL_SUCCESSO_FORM">${traduzioni['LBL_SUCCESSO_FORM']}</div> 
32	 
33	<div ng-show="!LBL_SUCCESSO_FORM&&!LBL_ERRORE_UTENTE_NON_CONFERMATO"> 
34		 
35		<div class="row registra"> 
36			<div class="col-sm-12 reseller-hidden"> 
37				<div class="alert alert-success"> 
38					<p>${traduzioni['LBL_VECCHIE_CREDENZIALI']}</p> 
39					<div class="row"> 
40						<div class="col-sm-4 buttons pull-right"> 
41							<a type="button" class="btn btn-primary" href="/web/portale-beneficiari/login">${traduzioni['LBL_ACCEDI']}</a> 
42						</div> 
43					</div> 
44				</div> 
45			</div> 
46		</div> 
47			 
48		<div class="row registra"> 
49			<div class="col-sm-12"> 
50				<p>${traduzioni['LBL_DESCRIZIONE']}</p> 
51			</div> 
52		</div> 
53		 
54		<div ng-show="!utenzaNuovaTrovata" class="row conferma hidden"> 
55			<div class="col-sm-12"> 
56				<p>${traduzioni['LBL_DESCRIZIONE_CONFERMA']}</p> 
57			</div> 
58		</div> 
59		 
60		<#-- <div class="row registra"> 
61			<div class="social-logins"> 
62				<div class="col-sm-3 social-login fb"> 
63					<a href="#"> 
64						<img class="pull-left" alt="" src="${theme_images_path}/social-icons/fb-icon.svg" />				 
65						<p class="ralewayregular">${traduzioni['LBL_FACEBOOK']}</p> 
66					</a> 
67				</div> 
68				<div class="col-sm-3 social-login tw"> 
69					<a href="#"> 
70						<img class="pull-left alt="" src="${theme_images_path}/social-icons/tw-icon.svg" />				 
71						<p class="ralewayregular">${traduzioni['LBL_TWITTER']}</p> 
72					</a> 
73				</div> 
74				<div class="col-sm-3 social-login gp"> 
75					<a href="#">				 
76						<img class="pull-left alt="" src="${theme_images_path}/social-icons/gp-icon.svg" />				 
77						<p class="ralewayregular">${traduzioni['LBL_GOOGLEPLUS']}</p> 
78					</a> 
79				</div> 
80				<div class="col-sm-3 social-login in"> 
81					<a href="#"> 
82						<img class="pull-left alt="" src="${theme_images_path}/social-icons/in-icon.svg" />			 
83						<p class="ralewayregular">${traduzioni['LBL_LINKEDIN']}</p> 
84					</a> 
85				</div> 
86			</div> 
87		</div> --> 
88		 
89				 
90		<div>	 
91			 
92			<div class="row conferma" ng-show="utenzaNuovaTrovata"> 
93				<div class="col-sm-12"> 
94					<h5 class="section-title">${traduzioni['LBL_TITOLO_AVVISO_UNISCI_UTENZE_1']}</h5>						 
95					<p>${traduzioni['LBL_AVVISO_UNISCI_UTENZE']} <b>{{ email }} ${traduzioni['LBL_AVVISO_UNISCI_UTENZE_2']}</b> ${traduzioni['LBL_AVVISO_UNISCI_UTENZE_3']}</p> 
96					<p><b>${traduzioni['LBL_AVVISO_UNISCI_UTENZE_4']}</b> ${traduzioni['LBL_AVVISO_UNISCI_UTENZE_5']}</p> 
97				</div> 
98			</div> 
99			 
100			<#-- <h5 class="section-title">${traduzioni['LBL_SEZIONE_ACCESSO']}</h5> --> 
101		 
102			<div class="row conferma" ng-show="!utenzaNuovaTrovata"> 
103				<div class="col-sm-12"> 
104					<div class="alert alert-success" role="status"> 
105						<p>${traduzioni['LBL_PROSSIMO_ACCESSO']}</p> 
106						<p><span class="ralewaybold">${traduzioni['LBL_AVVISO_EMAIL']}</span></p> 
107					</div> 
108				</div> 
109			</div> 
110			 
111			<div class="row"> 
112				<div class="col-sm-12"> 
113					<div class="form-group" ng-class="{ 'has-error' : userForm.email.$invalid && (!userForm.email.$pristine || submitted) }"> 
114						<label for="email"> 
115							${traduzioni['LBL_EMAIL']} 
116							<span class="asterisk" ng-show="!utenzaNuovaTrovata"> *</span> 
117						</label> 
118						<input type="email" class="form-control" id="email" name="email" ng-model="email" ng-maxlength="75" required ng-readonly="utenzaNuovaTrovata" <#-- ng-blur="conferma == 1 && !utenzaNuovaTrovata && checkEsistenzaUtenza($event)" -->> 
119						<div class="help-block" ng-messages="userForm.email.$error" ng-if="submitted && !userForm.email.$pristine"> 
120							<div ng-messages-include="${formMessagesPath}"></div> 
121						</div> 
122					</div>   
123				</div> 
124			</div> 
125			 
126			<div class="row hidden" hidden> 
127				<div class="col-sm-1"> 
128					<div class="form-group" ng-class="{ 'has-error' : userForm.unisciutenze.$invalid && (!userForm.unisciutenze.$pristine || submitted) }"> 
129						<label for="unisciutenze"> 
130							${traduzioni['LBL_UNISCI_UTENZE']!"LBL_UNISCI_UTENZE"} 
131							<span class="asterisk"> *</span> 
132						</label> 
133						<input type="checkbox" hidden class="form-control hidden" id="unisciutenze" name="unisciutenze" ng-model="utenzaNuovaTrovata" ng-required="utenzaNuovaTrovata" readonly> 
134						<div class="help-block" ng-messages="userForm.unisciutenze.$error" ng-if="submitted && !userForm.unisciutenze.$pristine"> 
135							<div ng-messages-include="${formMessagesPath}"></div> 
136						</div> 
137					</div>   
138				</div> 
139			</div> 
140			 
141			<div class="row conferma" ng-show="!utenzaNuovaTrovata"> 
142				<div class="col-sm-12"> 
143					<div class="alert alert-success" role="status"> 
144						<p>${traduzioni['LBL_AVVISO_PASSWORD']} <span class="ralewaybold">${traduzioni['LBL_AVVISO_PASSWORD_2']}</span></p> 
145					</div> 
146				</div> 
147			</div> 
148			 
149			<div class="row"> 
150				<div ng-class="{ 'col-sm-6' : !utenzaNuovaTrovata , 'col-sm-12' : utenzaNuovaTrovata }" ng-show="!utenzaNuovaTrovata"> 
151					<div class="form-group" ng-class="{ 'has-error' : userForm.password.$invalid && !userForm.password.$pristine }"> 
152						<label for="password"> 
153							${traduzioni['LBL_PASSWORD']} 
154							<i class="fa fa-info-circle" ng-show="!utenzaNuovaTrovata" title="${traduzioni['LBL_INFO_PASSWORD']}" data-toggle="tooltip" tooltip></i> 
155							<i class="fa fa-info-circle" ng-show="utenzaNuovaTrovata" title="${traduzioni['LBL_INFO_PASSWORD_TITOLARI']}" data-toggle="tooltip" tooltip></i> 
156							<span class="asterisk"> *</span> 
157						</label> 
158						<input type="password" class="form-control" id="password" name="password" ng-model="password" ng-minlength="{{ !utenzaNuovaTrovata ? 8 : 1 }}" ng-maxlength="20" <#-- ng-pattern="/^(?=.*\d)(?=.*[a-z]).{8,20}$/i" --> <#-- c -->rpattern="/^(?=.{8,})(?!.*[\s])(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[_.!@$*=\-?]).*$/" <#-- condition="{{ !utenzaNuovaTrovata }}" --> ng-required="!utenzaNuovaTrovata"> 
159						<div class="help-block" ng-messages="userForm.password.$error" ng-if="submitted && !userForm.password.$pristine"> 
160							<div ng-messages-include="${formMessagesPath}"></div> 
161						</div> 
162					</div>   
163				</div> 
164				<div class="col-sm-6" ng-show="!utenzaNuovaTrovata"> 
165					<div class="form-group" ng-class="{ 'has-error' : userForm.confermapassword.$invalid && !userForm.confermapassword.$pristine }"> 
166						<label for="confermapassword"> 
167							${traduzioni['LBL_RIPETI_PASSWORD']} 
168							<i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_PASSWORD']}" data-toggle="tooltip" tooltip></i> 
169							<span class="asterisk"> *</span> 
170						</label> 
171						<input type="password" class="form-control" id="confermapassword" name="confermapassword" ng-model="confermaPassword" ng-disabled="userForm.password.$invalid" compare-to="password"  ng-required="!utenzaNuovaTrovata"> 
172						<div class="help-block" ng-messages="userForm.confermapassword.$error" ng-if="submitted && userForm.password.$valid && !userForm.confermapassword.$pristine"> 
173							<div ng-messages-include="${formMessagesPath}"></div> 
174						</div> 
175					</div>   
176				</div> 
177				<div class="col-sm-12" ng-show="utenzaNuovaTrovata"> 
178					<div class="form-group" ng-class="{ 'has-error' : userForm.passwordunisci.$invalid && !userForm.passwordunisci.$pristine }"> 
179						<label for="passwordunisci"> 
180							${traduzioni['LBL_PASSWORD']} 
181							<i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_PASSWORD_TITOLARI']}" data-toggle="tooltip" tooltip></i> 
182							<#-- <span class="asterisk"> *</span> --> 
183						</label> 
184						<input type="password" class="form-control" id="passwordunisci" name="passwordunisci" ng-model="passwordunisci" ng-required="utenzaNuovaTrovata" readonly> 
185						<div class="help-block" ng-messages="userForm.passwordunisci.$error" ng-if="submitted && userForm.password.$valid && !userForm.passwordunisci.$pristine"> 
186							<div ng-messages-include="${formMessagesPath}"></div> 
187						</div> 
188					</div>   
189				</div> 
190			</div>	 
191			<div class="row"> 
192				<div class="col-sm-12" ng-show="!utenzaNuovaTrovata">		 
193					<em>${traduzioni['LBL_INFO_PASSWORD_SHORT']}</em> 
194				</div> 
195				<div class="col-sm-12 text-right" ng-show="utenzaNuovaTrovata">		 
196					<em>${traduzioni['LBL_FORGOT_PASSWORD']}<#--  <a href="/login?p_p_id=58&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=2&_58_struts_action=%2Flogin%2Fforgot_password">${traduzioni['LBL_FORGOT_PASSWORD_2']}</a> --></em> 
197				</div> 
198			</div>	 
199			 
200			<br> 
201			 
202			<div class="sezione-dati" ng-show="!utenzaNuovaTrovata"> 
203			 
204				<h5 class="section-title">${traduzioni['LBL_SEZIONE_DATI']}</h5> 
205			 
206				<div class="row"> 
207					<div class="col-sm-6"> 
208						<div class="form-group" ng-class="{ 'has-error' : userForm.nome.$invalid }"> 
209							<label for="nome"> 
210								${traduzioni['LBL_NOME']} 
211								<span class="asterisk"> *</span> 
212							</label> 
213							<input type="text" class="form-control" id="nome" name="nome" ng-model="nome" ng-maxlength="50" rpattern="/^[a-zA-ZÀ-ÿ ']+(?: +[A-ZÀ-ÿa-z ']+)*$/" ng-required="!utenzaNuovaTrovata"> 
214							<div class="help-block" ng-messages="userForm.nome.$error" ng-if="submitted"> 
215								<div ng-messages-include="${formMessagesPath}"></div> 
216							</div> 
217						</div>   
218					</div> 
219					<div class="col-sm-6"> 
220						<div class="form-group" ng-class="{ 'has-error' : userForm.cognome.$invalid }"> 
221							<label for="cognome"> 
222								${traduzioni['LBL_COGNOME']} 
223								<span class="asterisk"> *</span> 
224							</label> 
225							<input type="text" class="form-control" id="cognome" name="cognome" ng-model="cognome" ng-maxlength="50" rpattern="/^[a-zA-ZÀ-ÿ ']+(?: +[A-ZÀ-ÿa-z ']+)*$/" ng-required="!utenzaNuovaTrovata"> 
226							<div class="help-block" ng-messages="userForm.cognome.$error" ng-if="submitted"> 
227								<div ng-messages-include="${formMessagesPath}"></div> 
228							</div> 
229						</div>   
230					</div> 
231				</div>	 
232				<#-- <div class="row"> 
233					<div class="col-sm-6"> 
234						<div class="form-group" ng-class="{ 'has-error' : userForm.cellulare.$invalid }"> 
235							<label for="cellulare">${traduzioni['LBL_CELLULARE']} 
236								## <span class="asterisk"> *</span> 
237							</label> 
238							<input type="text" class="form-control" id="cellulare" name="cellulare" ng-model="cellulare" maxlength="16" ng-maxlength="16" input-telefono> 
239							<div class="help-block" ng-messages="userForm.cellulare.$error" ng-if="submitted"> 
240								<div ng-messages-include="${formMessagesPath}"></div> 
241							</div> 
242						</div>   
243					</div> 
244					<div class="col-sm-6"> 
245						<div class="form-group" ng-class="{ 'has-error' : userForm.telefono.$invalid }"> 
246							<label for="telefono">${traduzioni['LBL_TELEFONO']} 
247							</label> 
248							<input type="tel" class="form-control" id="telefono" name="telefono" ng-model="telefono" maxlength="16" ng-maxlength="16" input-telefono> 
249							<div class="help-block" ng-messages="userForm.telefono.$error" ng-if="submitted"> 
250								<div ng-messages-include="${formMessagesPath}"></div> 
251							</div> 
252						</div>   
253					</div>	 
254				</div> 
255				<div class="row"> 
256					<div class="col-sm-12"> 
257						<div class="form-group" ng-class="{ 'has-error' : userForm.azienda.$invalid }"> 
258							<label for="azienda">${traduzioni['LBL_AZIENDA']}</label> 
259							<input type="text" class="form-control" id="azienda" name="azienda" ng-model="azienda" ng-maxlength="200"> 
260							<div class="help-block" ng-messages="userForm.azienda.$error" ng-if="submitted"> 
261								<div ng-messages-include="${formMessagesPath}"></div> 
262							</div> 
263						</div>   
264					</div> 
265				</div> --> 
266				<div class="row"> 
267					<div class="col-sm-6"> 
268						<div class="form-group" ng-class="{ 'has-error' : userForm.codicefiscale.$invalid }"> 
269							<label for="codicefiscale">${traduzioni['LBL_CODICE_FISCALE']} 
270								<#-- <i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_CODICE_FISCALE']}" data-toggle="tooltip" tooltip></i> --> 
271								<span class="asterisk" <#-- ng-if="indirizzoNascita.citta" -->> *</span> 
272							</label> 
273							<input type="text" class="form-control" id="codicefiscale" name="codicefiscale" ng-model="codiceFiscale" <#-- ng-pattern="/^[a-z]{6}\d{2}[abcdehlmprst]\d{2}[a-z]\d{3}[a-z]$/i" --> ng-minlength="16" ng-maxlength="16" maxlength="16" <#-- ng-required="indirizzoNascita.citta" --> ng-required="!utenzaNuovaTrovata"> 
274							<div class="help-block" ng-messages="userForm.codicefiscale.$error" ng-if="submitted"> 
275								<div ng-messages-include="${formMessagesPath}"></div> 
276							</div> 
277						</div>   
278					</div> 
279					<div class="col-sm-6"> 
280						<div class="form-group" ng-class="{ 'has-error' : userForm.sesso.$invalid }"> 
281							<label for="sesso">${traduzioni['LBL_SESSO']} 
282								<span class="asterisk"> *</span> 
283							</label> 
284							<select class="form-control" id="sesso" name="sesso" ng-model="sesso" ng-required="!utenzaNuovaTrovata"> 
285								<option value="M">${traduzioni['LBL_MASCHIO']}</option> 
286								<option value="F">${traduzioni['LBL_FEMMINA']}</option> 
287							</select> 
288							<div class="help-block" ng-messages="userForm.sesso.$error" ng-if="submitted"> 
289								<div ng-messages-include="${formMessagesPath}"></div> 
290							</div> 
291						</div>   
292					</div> 
293				</div>	 
294				<div class="row"> 
295					<div class="col-sm-6"> 
296						<div class="form-group" ng-class="{ 'has-error' : userForm.datanascita.$invalid }"> 
297							<label for="datanascita">${traduzioni['LBL_DATA_NASCITA']} 
298								<span class="asterisk" <#-- ng-if="codiceFiscale" -->> *</span> 
299							</label> 
300							<div class="input-group date"> 
301								<input type="text" class="form-control" id="datanascita" name="datanascita" ng-model="dataNascita" placeholder="gg/mm/aaaa" datepicker 
302								ng-pattern="/(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[012])[\/](19|20)\d\d/" data-mask="99/99/9999" <#-- ng-required="codiceFiscale" --> ng-required="!utenzaNuovaTrovata"> 
303								<span class="input-group-addon"> 
304									<img title="..." alt="..." src="${theme_images_path}/calendar.png"> 
305									<i class="icon-calendar-empty"></i> 
306								</span> 
307							</div>	 
308							<div class="help-block" ng-messages="userForm.datanascita.$error" ng-if="submitted"> 
309								<div ng-messages-include="${formMessagesPath}"></div> 
310							</div> 
311						</div>   
312					</div> 
313					<div class="col-sm-6"> 
314						<div class="form-group" ng-class="{ 'has-error' : userForm.nazionenascita.$invalid }"> 
315							<label for="nazionenascita">${traduzioni['LBL_NAZIONE_NASCITA']} 
316								<span class="asterisk" <#-- ng-if="codiceFiscale" -->> *</span> 
317							</label> 
318							<select class="form-control" id="nazionenascita" name="nazionenascita" ng-model="selectedNazioneNascita" ng-options="nazione.nazione for nazione in nazioni track by nazione.codiceStato" <#-- ng-required="codiceFiscale" --> ng-required="!utenzaNuovaTrovata" ng-change="svuotaNazione(selectedNazioneNascita,indirizzoNascita)"> 
319							<option value=""></option> 
320						</select> 
321							<div class="help-block" ng-messages="userForm.nazionenascita.$error" ng-if="submitted"> 
322								<div ng-messages-include="${formMessagesPath}"></div> 
323							</div> 
324						</div>   
325					</div> 
326				</div> 
327				<div class="row"> 
328					<div class="col-sm-6"> 
329						<div class="form-group" ng-class="{ 'has-error' : userForm.provincianascita.$invalid }"> 
330							<label for="provincianascita">${traduzioni['LBL_PROVINCIA_NASCITA']} 
331								<span class="asterisk" ng-if="<#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"> *</span> 
332							</label> 
333							<select class="form-control" id="provincianascita" name="provincianascita" ng-model="selectedProvinciaNascita" ng-disabled="selectedNazioneNascita.codiceStato != 'ITL'" ng-options="provincia.denominazioneProvincia for provincia in province track by provincia.codiceProvincia" ng-required="!utenzaNuovaTrovata && <#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"> 
334								<option value=""></option> 
335							</select> 
336							<#-- input class="hidden" name="codiceprovincia" value="{{selectedProvinciaNascita.codiceProvincia}}" aria-hidden="true" /> 
337							<input class="hidden" name="descprovincia" value="{{selectedProvinciaNascita.denominazioneProvincia}}" aria-hidden="true" / --> 
338							<div class="help-block" ng-messages="userForm.provincianascita.$error" ng-if="submitted"> 
339								<div ng-messages-include="${formMessagesPath}"></div> 
340							</div> 
341						</div>   
342					</div> 
343					<div class="col-sm-6"> 
344						<div class="form-group" ng-class="{ 'has-error' : userForm.comunenascita.$invalid && !userForm.comunenascita.$pristine }"> 
345							<label for="comunenascita">${traduzioni['LBL_COMUNE_NASCITA']} 
346								<#-- <i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_COMUNE']}" data-toggle="tooltip" tooltip></i> --> 
347								<span class="asterisk" ng-if="<#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"> *</span> 
348							</label> 
349							<input type="text" class="form-control" id="comunenascita" name="comunenascita" ng-model="indirizzoNascita.cittaIntera" ng-disabled="selectedNazioneNascita.codiceStato != 'ITL'" autocomplete="off" ng-required="!utenzaNuovaTrovata && <#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"/> 
350							<div class="help-block" ng-messages="userForm.comunenascita.$error" ng-if="submitted && !userForm.comunenascita.$pristine"> 
351								<div ng-messages-include="${formMessagesPath}"></div> 
352							</div> 
353						</div>    
354					</div> 
355				</div> 
356				<div class="row"> 
357					<div class="col-sm-6"> 
358						<div class="form-group" ng-class="{ 'has-error' : userForm.cellulare.$invalid }"> 
359							<label for="cellulare">${traduzioni['LBL_CELLULARE']} 
360								<#-- <span class="asterisk"> *</span> --> 
361							</label> 
362							<input type="text" class="form-control" id="cellulare" name="cellulare" ng-model="cellulare" maxlength="16" ng-maxlength="16" input-telefono> 
363							<div class="help-block" ng-messages="userForm.cellulare.$error" ng-if="submitted"> 
364								<div ng-messages-include="${formMessagesPath}"></div> 
365							</div> 
366						</div>   
367					</div> 
368					<#-- <div class="col-sm-6"> 
369						<div class="form-group" ng-class="{ 'has-error' : userForm.telefono.$invalid }"> 
370							<label for="telefono">${traduzioni['LBL_TELEFONO']} 
371							</label> 
372							<input type="tel" class="form-control" id="telefono" name="telefono" ng-model="telefono" maxlength="16" ng-maxlength="16" input-telefono> 
373							<div class="help-block" ng-messages="userForm.telefono.$error" ng-if="submitted"> 
374								<div ng-messages-include="${formMessagesPath}"></div> 
375							</div> 
376						</div>   
377					</div> -->	 
378				</div> 
379				 
380				<h5 class="section-title">${traduzioni['LBL_SEZIONE_INDIRIZZI']}</h5> 
381				 
382				<div class="row"> 
383					<div class="col-sm-6"> 
384						<div class="form-group" ng-class="{ 'has-error' : userForm.nazionecorrispondenza.$invalid <#-- && !userForm.nazionecorrispondenza.$pristine --> }"> 
385							<label for="nazionecorrispondenza">${traduzioni['LBL_NAZIONE_CORRISPONDENZA']} 
386								<#-- <span class="asterisk" ng-if="codiceFiscale"> *</span> --> 
387							</label> 
388							<select class="form-control" id="nazionecorrispondenza" name="nazionecorrispondenza" ng-model="selectedNazioneCorrispondenza" ng-options="nazione.nazione for nazione in nazioni track by nazione.codiceStato" <#-- ng-required="codiceFiscale" --> <#-- ng-required="!utenzaNuovaTrovata" --> ng-change="svuotaNazione(selectedNazioneCorrispondenza,indirizzoCorrispondenza)"> 
389							<option value=""></option> 
390						</select> 
391							<div class="help-block" ng-messages="userForm.nazionecorrispondenza.$error" ng-if="submitted <#-- && !userForm.nazionecorrispondenza.$pristine -->"> 
392								<div ng-messages-include="${formMessagesPath}"></div> 
393							</div> 
394						</div>   
395					</div> 
396					<div class="col-sm-6"> 
397						<div class="form-group" ng-class="{ 'has-error' : userForm.provinciacorrispondenza.$invalid && !userForm.provinciacorrispondenza.$pristine }"> 
398							<label for="provinciacorrispondenza">${traduzioni['LBL_PROVINCIA_CORRISPONDENZA']} 
399								<span class="asterisk" ng-if="selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> 
400							</label> 
401							<select class="form-control" id="provinciacorrispondenza" name="provinciacorrispondenza" ng-model="selectedProvinciaCorrispondenza" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL'" ng-options="provincia.denominazioneProvincia for provincia in province track by provincia.codiceProvincia" ng-required="!utenzaNuovaTrovata && selectedNazioneCorrispondenza.codiceStato == 'ITL'"> 
402								<option value=""></option> 
403							</select> 
404							<#-- input class="hidden" name="codiceprovincia" value="{{selectedProvinciaCorrispondenza.codiceProvincia}}" aria-hidden="true"/> 
405							<input class="hidden" name="descprovincia" value="{{selectedProvinciaCorrispondenza.denominazioneProvincia}}" aria-hidden="true"/ --> 
406							<div class="help-block" ng-messages="userForm.provinciacorrispondenza.$error" ng-if="submitted && !userForm.provinciacorrispondenza.$pristine"> 
407								<div ng-messages-include="${formMessagesPath}"></div> 
408							</div> 
409						</div>   
410					</div> 
411				</div> 
412				<div class="row">	 
413					<div class="col-sm-6"> 
414						<div class="form-group" ng-class="{ 'has-error' : userForm.comunecorrispondenza.$invalid && !userForm.comunecorrispondenza.$pristine }"> 
415							<label for="comunecorrispondenza">${traduzioni['LBL_COMUNE_CORRISPONDENZA']} 
416								<span class="asterisk" ng-if="selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> 
417							</label> 
418							<input type="text" class="form-control" id="comunecorrispondenza" name="comunecorrispondenza" ng-model="indirizzoCorrispondenza.cittaIntera" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL'" autocomplete="off" ng-required="!utenzaNuovaTrovata && selectedNazioneCorrispondenza.codiceStato == 'ITL'"/> 
419							<div class="help-block" ng-messages="userForm.comunecorrispondenza.$error" ng-if="submitted && !userForm.comunecorrispondenza.$pristine"> 
420								<div ng-messages-include="${formMessagesPath}"></div> 
421							</div> 
422						</div>    
423					</div> 
424					<div class="col-sm-6"> 
425						<div class="form-group" ng-class="{ 'has-error' : userForm.capcorrispondenza.$invalid && !userForm.capcorrispondenza.$pristine }"> 
426							<label for="capcorrispondenza">${traduzioni['LBL_CAP_CORRISPONDENZA']} 
427								<span class="asterisk" ng-if="selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> 
428							</label> 
429							<input type="text" class="form-control" id="capcorrispondenza" name="capcorrispondenza" ng-model="indirizzoCorrispondenza.cap" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL'" ng-maxlength="10" autocomplete="off" ng-required="!utenzaNuovaTrovata && selectedNazioneCorrispondenza.codiceStato == 'ITL'"/> 
430							<div class="help-block" ng-messages="userForm.capcorrispondenza.$error" ng-if="submitted && !userForm.capcorrispondenza.$pristine"> 
431								<div ng-messages-include="${formMessagesPath}"></div> 
432							</div> 
433						</div>    
434					</div> 
435				</div> 
436				<div class="row">	 
437					<div class="col-sm-8"> 
438						<div class="form-group" ng-class="{ 'has-error' : userForm.indirizzocorrispondenza.$invalid && !userForm.indirizzocorrispondenza.$pristine }"> 
439							<label for="indirizzocorrispondenza">${traduzioni['LBL_INDIRIZZO_CORRISPONDENZA']} 
440								<#-- <span class="asterisk" ng-if="#*codiceFiscale && *# selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> --> 
441							</label> 
442							<input type="text" class="form-control" id="indirizzocorrispondenza" name="indirizzocorrispondenza" ng-model="indirizzoCorrispondenza.indirizzo" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL' && !indirizzoCorrispondenza.cittaIntera" ng-maxlength="200" autocomplete="off" <#-- ng-required="selectedNazioneCorrispondenza.codiceStato == 'ITL'" -->/> 
443							<i id="indirizzocorrispondenza-spinner" class="fa fa-spinner fa-spin indirizzo-spinner" style="display:none;"></i> 
444							<div class="help-block" ng-messages="userForm.indirizzocorrispondenza.$error" ng-if="submitted && !userForm.indirizzocorrispondenza.$pristine"> 
445								<div ng-messages-include="${formMessagesPath}"></div> 
446							</div> 
447						</div>    
448					</div> 
449					<div class="col-sm-4"> 
450						<div class="form-group" ng-class="{ 'has-error' : userForm.civicocorrispondenza.$invalid && !userForm.civicocorrispondenza.$pristine }"> 
451							<label for="civicocorrispondenza">${traduzioni['LBL_CIVICO_CORRISPONDENZA']}</label> 
452							<input type="text" class="form-control" id="civicocorrispondenza" name="civicocorrispondenza"  ng-model="indirizzoCorrispondenza.civico"  ng-maxlength="10" autocomplete="off" ng-disabled="!indirizzoCorrispondenza.indirizzo" > 
453							<div class="help-block" ng-messages="userForm.civicocorrispondenza.$error" ng-if="submitted && !userForm.civicocorrispondenza.$pristine"> 
454								<div ng-messages-include="${formMessagesPath}"></div> 
455							</div> 
456						</div>   
457					</div> 
458				</div> 
459				 
460				<div class="row"> 
461					<div class="col-sm-12"> 
462						<#-- <p>Dopo aver visionato integralmente l'informativa ex art. 13 d.lgs. 196/2003 visibile al link privacy presente nella home page del sito internet www.edenred.it, autorizzo Edenred Spa al trattamento dei miei dati personali.</p> --> 
463						<p class="ralewaybold">${traduzioni['LBL_DECRETO']}</p> 
464						<#-- <p>${traduzioni['LBL_INFORMATIVA']} <a href="http://www.edenred.it/informativa-beneficiari" target="_blank">${traduzioni['LBL_PRIVACY_LINK']}</a>.</p> 
465						<p>${traduzioni['LBL_INFORMATIVA_PUNTI']}</p> 
466						<ul class="container-fluid"> 
467							<li>${traduzioni['LBL_INFORMATIVA_PUNTO_1']}</li> 
468							<li>${traduzioni['LBL_INFORMATIVA_PUNTO_2']}</li> 
469						</ul> 
470						<p>${traduzioni['LBL_LIBERATORIA']}</p> --> 
471					</div> 
472				</div> 
473				 
474				<div class="row"> 
475					<div class="col-sm-12"> 
476						<div class="form-group" ng-class="{ 'has-error' : userForm.liberatoria.$invalid }"> 
477							<div class="checkbox">	 
478								<label for="liberatoria-si" id="check-privacy"> 
479									<input type="checkbox" id="liberatoria-si" value="1" name="liberatoria" ng-model="liberatoria" ng-required="!utenzaNuovaTrovata"> 
480									<div class="text">${traduzioni['LBL_DICHIARAZIONE_1']} <span class="ralewaybold"><a href="http://www.edenred.it/informativa-beneficiari" target="_blank">${traduzioni['LBL_PRIVACY_LINK']}</a></span> ${traduzioni['LBL_DICHIARAZIONE_2']}</div> 
481								</label> 
482							</div>	 
483							<#-- <div class="radio"> 
484								<label for="liberatoria-no"> 
485									<input type="radio" id="liberatoria-no" value="0" name="liberatoria" ng-model="liberatoria" required> 
486									<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
487								</label> 
488							</div> --> 
489							<div class="help-block" ng-messages="userForm.liberatoria.$error" ng-if="!userForm.liberatoria.$pristine"> 
490								<div ng-messages-include="${formMessagesPath}"></div> 
491							</div> 
492						</div>   
493					</div> 
494				</div> 
495				 
496				<div class="row"> 
497					<div class="col-sm-12"> 
498						<p class="ralewaybold"><span id="intestazione-consensi">${traduzioni['LBL_LIBERATORIA_CONFERMA']}</span></p> 
499					</div> 
500				</div> 
501				 
502				<div id="blocco-consensi"> 
503				 
504					<div class="row"> 
505						<div class="col-sm-12"> 
506							<p>${traduzioni['LBL_LIBERATORIA_STATISTICHE']}</p> 
507						</div> 
508					</div> 
509					 
510					<div class="row"> 
511						<div class="col-sm-12"> 
512							<div class="form-group" ng-class="{ 'has-error' : userForm.statistiche.$invalid && !userForm.statistiche.$pristine }"> 
513								<div class="radio">	 
514									<label for="statistiche-si"> 
515										<input type="radio" id="statistiche-si" value="1" name="statistiche" ng-model="statistiche" ng-required="!utenzaNuovaTrovata"> 
516										<span class="ralewaybold">${traduzioni['LBL_SI']}</span>${traduzioni['LBL_SI_ESTESO']} 
517									</label> 
518								</div>	 
519								<div class="radio"> 
520									<label for="statistiche-no"> 
521										<input type="radio" id="statistiche-no" value="0" name="statistiche" ng-model="statistiche" ng-required="!utenzaNuovaTrovata"> 
522										<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
523									</label> 
524								</div> 
525								<div class="help-block" ng-messages="userForm.statistiche.$error" ng-if="!userForm.statistiche.$pristine"> 
526									<div ng-messages-include="${formMessagesPath}"></div> 
527								</div> 
528							</div>   
529						</div> 
530					</div> 
531					 
532					<div class="row"> 
533						<div class="col-sm-12"> 
534							<p>${traduzioni['LBL_LIBERATORIA_PROFILAZIONE']}</p> 
535						</div> 
536					</div> 
537					 
538					<div class="row"> 
539						<div class="col-sm-12"> 
540							<div class="form-group" ng-class="{ 'has-error' : userForm.profilazione.$invalid && !userForm.profilazione.$pristine }"> 
541								<div class="radio">	 
542									<label for="profilazione-si"> 
543										<input type="radio" id="profilazione-si" value="1" name="profilazione" ng-model="profilazione" ng-required="!utenzaNuovaTrovata"> 
544										<span class="ralewaybold">${traduzioni['LBL_SI']}</span>${traduzioni['LBL_SI_ESTESO']} 
545									</label> 
546								</div>	 
547								<div class="radio"> 
548									<label for="profilazione-no"> 
549										<input type="radio" id="profilazione-no" value="0" name="profilazione" ng-model="profilazione" ng-required="!utenzaNuovaTrovata"> 
550										<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
551									</label> 
552								</div> 
553								<div class="help-block" ng-messages="userForm.profilazione.$error" ng-if="!userForm.profilazione.$pristine"> 
554									<div ng-messages-include="${formMessagesPath}"></div> 
555								</div> 
556							</div>   
557						</div> 
558					</div> 
559					 
560					<div class="row"> 
561						<div class="col-sm-12"> 
562							<p>${traduzioni['LBL_LIBERATORIA_STATISTICHE_TERZI']}</p> 
563						</div> 
564					</div> 
565					 
566					<div class="row"> 
567						<div class="col-sm-12"> 
568							<div class="form-group" ng-class="{ 'has-error' : userForm.statisticheTerzi.$invalid && !userForm.statisticheTerzi.$pristine }"> 
569								<div class="radio">	 
570									<label for="statisticheTerzi-si"> 
571										<input type="radio" id="statisticheTerzi-si" value="1" name="statisticheTerzi" ng-model="statisticheTerzi" ng-required="!utenzaNuovaTrovata"> 
572										<span class="ralewaybold">${traduzioni['LBL_SI']}</span>${traduzioni['LBL_SI_ESTESO']} 
573									</label> 
574								</div>	 
575								<div class="radio"> 
576									<label for="statisticheTerzi-no"> 
577										<input type="radio" id="statisticheTerzi-no" value="0" name="statisticheTerzi" ng-model="statisticheTerzi" ng-required="!utenzaNuovaTrovata"> 
578										<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
579									</label> 
580								</div> 
581								<div class="help-block" ng-messages="userForm.statisticheTerzi.$error" ng-if="!userForm.statisticheTerzi.$pristine"> 
582									<div ng-messages-include="${formMessagesPath}"></div> 
583								</div> 
584							</div>   
585						</div> 
586					</div> 
587					 
588					<div class="row"> 
589						<div class="col-sm-12"> 
590							<p>${traduzioni['LBL_LIBERATORIA_PROFILAZIONE_TERZI']}</p> 
591						</div> 
592					</div> 
593					 
594					<div class="row"> 
595						<div class="col-sm-12"> 
596							<div class="form-group" ng-class="{ 'has-error' : userForm.profilazioneTerzi.$invalid && !userForm.profilazioneTerzi.$pristine }"> 
597								<div class="radio">	 
598									<label for="profilazioneTerzi-si"> 
599										<input type="radio" id="profilazioneTerzi-si" value="1" name="profilazioneTerzi" ng-model="profilazioneTerzi" ng-required="!utenzaNuovaTrovata"> 
600										<span class="ralewaybold">${traduzioni['LBL_SI']}</span>${traduzioni['LBL_SI_ESTESO']} 
601									</label> 
602								</div>	 
603								<div class="radio"> 
604									<label for="profilazioneTerzi-no"> 
605										<input type="radio" id="profilazioneTerzi-no" value="0" name="profilazioneTerzi" ng-model="profilazioneTerzi" ng-required="!utenzaNuovaTrovata"> 
606										<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
607									</label> 
608								</div> 
609								<div class="help-block" ng-messages="userForm.profilazioneTerzi.$error" ng-if="!userForm.profilazioneTerzi.$pristine"> 
610									<div ng-messages-include="${formMessagesPath}"></div> 
611								</div> 
612							</div>   
613						</div> 
614					</div> 
615					 
616				</div> 
617				 
618				<div class="row"> 
619					<div class="col-sm-12 save-user registra"> 
620						<button type="button" class="btn btn-primary pull-right" ng-click="submitted=true;submitForm(userForm.$valid)" <#-- ng-show="liberatoria==1" ng-disabled="liberatoria!=1" -->>${traduzioni['LBL_REGISTRATI']}</button> 
621					</div> 
622				</div>	 
623			 
624			</div> 
625			 
626				<div class="row"> 
627				<div class="col-sm-7 save-user conferma hidden"> 
628					<#-- <button type="button" class="btn btn-secondary btn-block" ng-show="utenzaNuovaTrovata" ng-click="LBL_PASSWORD_NO_MATCH = false; email = ''; password = ''; confermaPassword = ''; utenzaNuovaTrovata = false">${traduzioni['LBL_ANNULLA_UNISCI_UTENZE']}</button> --> 
629				</div> 
630				<div class="col-sm-offset-1 col-sm-4 save-user conferma hidden"> 
631					<button type="button" class="btn btn-primary" ng-click="submitted=true;submitForm(userForm.$valid)" <#-- ng-show="liberatoria==1" ng-disabled="liberatoria!=1" -->>{{ utenzaNuovaTrovata ? "${traduzioni['LBL_CONFERMA_ACCEDI']}" : "${traduzioni['LBL_CONFERMA']}" }}</button> 
632				</div> 
633			</div>	 
634			 
635 
636			<br> 
637			<div id="error_message" class="alert alert-error hidden" role="alert" ng-hide="userForm.$valid">${traduzioni['LBL_ERRORE_FORM']}</div> 
638			<div id="success_message" class="alert alert-success hidden" role="status">${traduzioni['LBL_SUCCESSO_FORM']}</div> 
639			<div id="info_message" class="alert alert-success hidden" role="status"></div> 
640				 
641			 
642			<#-- <div class="row"> 
643				<div class="col-sm-4 buttons"> 
644					<button type="button" class="btn btn-secondary" ng-click="switchFormView()">Registra/Conferma</button> 
645				</div> 
646			</div> --> 
647			 
648		<!-- 
649 
650						<div type="text" id="comuni-suggestion" auto-complete url="comuniFromProvincia"   placeholder="Comune" /> 
651		 -->	 
652		 
653		</div> 
654	</div> 
655</div> 
656 
657 
658<script> 
659if (typeof beneficiarioJsonFromPortlet == 'undefined') { 
660	var beneficiarioJsonFromPortlet='{}'; 
661
662var jsonObj = beneficiarioJsonFromPortlet; 
663 
664var app = angular.module('registrazione-step-1', ['ngMessages', 'ngAria']); 
665 
666 
667 
668app.directive('compareTo', [function () { 
669return { 
670  require: 'ngModel', 
671  link: function (scope, elem, attrs, ctrl) { 
672	var firstPassword = "#" + attrs.compareTo; 
673	/*console.log("firstPassword", firstPassword);*/ 
674	elem.add(firstPassword).on('keyup', function () { 
675	  scope.$apply(function () { 
676		/*console.log(scope);*/ 
677		var v = elem.val()===$(firstPassword).val(); 
678		/*console.log("elem.val()", elem.val()); 
679		console.log("$(firstPassword).val()", $(firstPassword).val()); 
680		console.log("v", v);*/ 
681		ctrl.$setValidity('compareTo', v); 
682	  }); 
683	}); 
684
685
686}]); 
687 
688 
689app.directive('datepicker', function() { 
690    return { 
691        restrict: 'A', 
692        require : 'ngModel', 
693        link : function (scope, element, attrs, ngModel) { 
694		 
695			if (!ngModel) return; 
696 
697			ngModel.$render = function() { 
698			   element.parent().datepicker('update', ngModel.$viewValue || ''); 
699			}; 
700 
701			var localId = "${locale}"; 
702			element.parent().datepicker({ 
703					format: "dd/mm/yyyy", 
704					endDate: "0d", 
705					maxViewMode: 2, 
706					language: localId.substr(0, 2), 
707					forceParse: false, 
708					autoclose: true, 
709					defaultViewDate: { year: 1980, month: 0, day: 1 }, 
710					startView: 2 
711				}).on("changeDate",function(event){ 
712				scope.$apply(function() { 
713				   ngModel.$setViewValue(event.date); 
714				}); 
715			}) 
716
717
718}); 
719 
720 
721app.directive('inputTelefono', function () { 
722    return { 
723        require: 'ngModel', 
724        link: function (scope, element, attr, ngModelCtrl) { 
725            function fromUser(text) { 
726                if (text) { 
727                    var transformedInput = text.replace(/[^-0-9+ .]/g, ''); 
728 
729                    if (transformedInput !== text) { 
730                        ngModelCtrl.$setViewValue(transformedInput); 
731                        ngModelCtrl.$render(); 
732
733                    return transformedInput; 
734
735				//return undefined; 
736                return ""; 
737            }             
738            ngModelCtrl.$parsers.push(fromUser); 
739
740    }; 
741}); 
742 
743 
744app.directive('jsonText', function() { 
745    return { 
746        restrict: 'A', 
747        require: 'ngModel', 
748        link: function(scope, element, attr, ngModel) { 
749          function into(input) { 
750            return JSON.parse(input); 
751
752          function out(data) { 
753            return JSON.stringify(data); 
754
755          ngModel.$parsers.push(into); 
756          ngModel.$formatters.push(out); 
757		   
758		  scope.$watch(attr.ngModel, function(newValue) { 
759			element[0].value = out(newValue); 
760		  }, true); 
761 
762
763    }; 
764}); 
765 
766app.directive("select", function() { 
767    return { 
768      restrict: "E", 
769      require: "?ngModel", 
770      scope: false, 
771      link: function (scope, element, attrs, ngModel) { 
772        if (!ngModel) { 
773          return; 
774
775        element.bind("keyup", function() { 
776          element.triggerHandler("change"); 
777        }) 
778
779
780}); 
781 
782 
783 
784app.controller('PBEN-Ctrl-registrazione-step-1', ['$scope', '$q', 'migrazioneService', '$filter', function ($scope, $q, migrazioneService, $filter) { 
785 
786	 
787	$scope.username = ""; 
788	$scope.email = ""; 
789	$scope.password = ""; 
790	$scope.confermaPassword = ""; 
791	$scope.nome = ""; 
792	$scope.cognome = ""; 
793	$scope.telefono = ""; 
794	$scope.cellulare = ""; 
795	$scope.azienda = ""; 
796	$scope.codiceFiscale = ""; 
797	$scope.sesso = ""; 
798	$scope.dataNascita = ""; 
799	$scope.nazioni = []; 
800	$scope.province = []; 
801	$scope.indirizzoNascita = { 
802		"citta":"", 
803		"cittaIntera":"", 
804		"provincia":"", 
805		"nazione":"", 
806		"codComune": "", 
807		"codProvincia": "", 
808		"codNazione":"" 
809	}; 
810	$scope.selectedNazioneNascita; 
811	$scope.selectedProvinciaNascita; 
812	$scope.indirizzoCorrispondenza = { 
813		citta:"", 
814		cittaIntera:"", 
815		provincia:"", 
816		nazione:"", 
817		codComune: "", 
818		codProvincia: "", 
819		codNazione:"" 
820	}; 
821	$scope.selectedNazioneCorrispondenza; 
822	$scope.selectedProvinciaCorrispondenza; 
823	$scope.liberatoria = ""; 
824	$scope.statistiche = ""; 
825	$scope.profilazione = ""; 
826	$scope.statisticheTerzi = ""; 
827	$scope.profilazioneTerzi = ""; 
828	$scope.vm = {}; 
829	$scope.vm.customOpt = {}; 
830	$scope.vm.setDate = setDate; 
831	$scope.vm.setDefault = setDefault; 
832	 
833	$scope.conferma = "0"; 
834	$scope.utenzaNuovaTrovata = false; 
835	$scope.passwordunisci = "xxxxxxxx"; 
836	$scope.isSubmitting = false; 
837	 
838	$scope.submittedCion = false; 
839	$scope.submitting = false; 
840 
841	<#--  MANNAGGIA - URGE REFACTOR --> 
842	$scope.LBL_SUCCESSO_FORM=false; 
843	$scope.LBL_ERRORE_CODICE_FISCALE=false; 
844	$scope.LBL_ERRORE_UTENTE_NON_CONFERMATO=false; 
845	$scope.LBL_ERRORE_UTENTE_PRESENTE=false; 
846	$scope.LBL_ERRORE_INTERNO=false; 
847	$scope.LBL_MAIL_NOT_VALID=false; 
848	$scope.LBL_ERRORE_RECUPERO_BENEFICIARIO=false; 
849	$scope.LBL_ERRORE_PRODOTTO_REGISTRED=false; 
850	$scope.LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO=false; 
851	 
852	 
853	$scope.checkEsistenzaUtenza = checkEsistenzaUtenza; 
854	 
855	$scope.portletNamespace 
856	$scope.resourceUrl; 
857	 
858	 
859	function checkEsistenzaUtenza() { 
860		if(!$scope.userForm.email.$pristine && !$scope.userForm.email.$invalid){ 
861			$scope.submitting = true; 
862			return migrazioneService.checkBeneficiarioExist($scope.resourceUrl, $scope.portletNamespace, $scope.email) 
863			.then(function(data) { 
864				console.log("checkEsistenzaUtenza", data); 
865				if(data != null && data != "undefined" && data != "" && data["code"] == '200' ){ 
866					console.log("if", data["message"]); 
867					$scope.utenzaNuovaTrovata = data["message"] == "true" ? true : false; 
868					if ($scope.utenzaNuovaTrovata) { 
869						$scope.password = ""; 
870
871
872				else { 
873					console.log("else", false); 
874					$scope.utenzaNuovaTrovata = false; 
875
876			}).catch(function(data) { 
877				console.log("catch", false); 
878				$scope.utenzaNuovaTrovata = false; 
879			}).finally(function() { 
880				$scope.submitting = false; 
881			}); 
882
883
884 
885 
886	$scope.selectNazione = function(indirizzo) { 
887		for (var nazioneIndex in this.nazioni) { 
888			if (indirizzo && 
889				indirizzo.codNazione && 
890				this.nazioni[nazioneIndex].codiceStato == indirizzo.codNazione) { 
891					switch(indirizzo) { 
892						case this.indirizzoNascita: 
893							$scope.selectedNazioneNascita = this.nazioni[nazioneIndex]; 
894						break; 
895						case this.indirizzoCorrispondenza: 
896							$scope.selectedNazioneCorrispondenza = this.nazioni[nazioneIndex]; 
897						break; 
898						case this.indirizzoResidenza: 
899							$scope.selectedNazioneResidenza = this.nazioni[nazioneIndex]; 
900						break; 
901
902
903
904		$scope.$apply(); 
905
906	 
907	 
908	$scope.selectProvincia = function(indirizzo) { 
909		for (var provinciaIndex in this.province) { 
910			if (indirizzo && 
911				indirizzo.codProvincia && 
912				this.province[provinciaIndex].codiceProvincia == indirizzo.codProvincia) { 
913					switch(indirizzo) { 
914						case this.indirizzoNascita: 
915							$scope.selectedProvinciaNascita = this.province[provinciaIndex]; 
916						break; 
917						case this.indirizzoCorrispondenza: 
918							$scope.selectedProvinciaCorrispondenza = this.province[provinciaIndex]; 
919						break; 
920						case this.indirizzoResidenza: 
921							$scope.selectedProvinciaResidenza = this.province[provinciaIndex]; 
922						break; 
923
924
925
926		$scope.$apply(); 
927
928	 
929	 
930	function setDate(optin) { 
931		optin.date = $filter('date')(new Date(), "dd/MM/yyyy HH:mm:ss"); 
932
933	 
934	function setDefault(optin) { 
935		optin.value = false; 
936
937	 
938	 
939	$scope.submitForm = function(isValid) { 
940		$scope.submitting = true; 
941		if(!$scope.submittedCion){ 
942			if (isValid) { 
943				jQuery('#error_message').addClass("hidden"); 
944				$scope.submitted = true; 
945				$scope.submittedCion = true; 
946				$('form#datiRegistrazioneBeneficiario').submit(); 
947
948			else { 
949				angular.forEach($scope.userForm.$error.required, function(field) { 
950					jQuery('#error_message').removeClass("hidden"); 
951					field.$setDirty();	 
952				});	 
953				$scope.submitting = false; 
954
955
956	}; 
957	 
958    
959    $scope.svuotaNazione = function(selectedNazione, indirizzo) { 
960		//alert("svuotaNazione"); 
961		if(selectedNazione == undefined || selectedNazione.codiceStato != 'ITL') 
962
963			indirizzo.citta = ""; 
964			indirizzo.cittaIntera = ""; 
965			indirizzo.cap = ""; 
966			indirizzo.codComune = ""; 
967			indirizzo.codProvincia = ""; 
968			indirizzo.codNazione = ""; 
969			indirizzo.civico = ""; 
970			indirizzo.indirizzo = ""; 
971			 
972			switch(indirizzo) { 
973						case this.indirizzoNascita: 
974							$scope.selectedProvinciaNascita = undefined; 
975						break; 
976						case this.indirizzoCorrispondenza: 
977							$scope.selectedProvinciaCorrispondenza = undefined; 
978						break; 
979						case this.indirizzoResidenza: 
980							$scope.selectedProvinciaResidenza = undefined; 
981						break; 
982					}	 
983
984
985	 
986	 
987	$scope.switchForm = function(value) { 
988		if(value == 1){ 
989			$(".conferma").removeClass("hidden").fadeIn();  
990			$(".registra").addClass("hidden").fadeIn();  
991
992		else if(value == 0){ 
993			$(".registra").removeClass("hidden").fadeIn();  
994			$(".conferma").addClass("hidden").fadeIn();  
995
996
997	 
998	 
999	$scope.switchFormView = function() { 
1000		$(".registra, .conferma").toggleClass("hidden").fadeIn(); 
1001		$(document).scrollTop( $("#header").offset().top );   
1002
1003	 
1004	 
1005	$scope.updateComune = function(indirizzo, codComune, codProvincia, callback, flgVisibilita) { 
1006		var _indirizzo = indirizzo; 
1007		var _scope = this; 
1008		getComuniFromStradarioPortlet(codProvincia, flgVisibilita, 
1009			function(listaComuni) { 
1010				//alert("Update bello "+flgVisibilita); 
1011				var comune; 
1012				//console.log(JSON.stringify(listaComuni) + " codComune: " + codComune);				 
1013				for (var comuneId in listaComuni) { 
1014					if (listaComuni[comuneId].codiceComune == codComune) { 
1015						//console.log(" codComune: " + codComune);	 
1016						comune = listaComuni[comuneId]; 
1017						//console.log(listaComuni[comuneId].denominazioneAbbreviataComune);	 
1018						_indirizzo.citta = listaComuni[comuneId].denominazioneAbbreviataComune; 
1019						_indirizzo.cittaIntera = listaComuni[comuneId].denominazioneComune; 
1020						//_indirizzo.codComune = listaComuni[comuneId].codiceComune;		 
1021						//console.log("updated comune"); 
1022						$scope.$apply(); 
1023						//console.log($scope.indirizzoNascita); 
1024						break; 
1025
1026
1027 
1028				if ( callback) { 
1029					callback(_scope); 
1030
1031			}  
1032		); 
1033	}; 
1034	 
1035	 
1036	$scope.updateNazioni = function(nazioniList) { 
1037		this.nazioni = nazioniList; 
1038        <#-- this.selectedNazioneNascita = {nazione:'ITALY', codiceStato:'ITL'}; --> 
1039		<#-- this.selectedNazioneCorrispondenza = {nazione:'ITALY', codiceStato:'ITL'}; --> 
1040
1041	 
1042	 
1043	$scope.updateProvince = function(provinceList) { 
1044		this.province = provinceList; 
1045
1046	 
1047	 
1048	$scope.updateStrada = function(indirizzo, codStrada, cap, callback) { 
1049		var _indirizzo = indirizzo; 
1050		getStradeByCapFromStradarioPortlet(cap, 
1051			function(stradeResult) { 
1052				var via; 
1053				for (var stradaIndex in stradeResult) { 
1054					if (stradeResult[stradaIndex].codice == codStrada) { 
1055						_indirizzo.via = stradeResult[stradaIndex].descBreveComposta; 
1056						//console.log("updated strada"); 
1057						$scope.$apply(); 
1058						$("#greyLayout").hide(); 
1059						break; 
1060
1061
1062				if ( callback ) { 
1063					callback(); 
1064				}		 
1065
1066		); 
1067	}; 
1068	 
1069	 
1070	$scope.updateUserData = function(userObject, callback) { 
1071		<#-- console.log("updateUserData", userObject); --> 
1072		 
1073		this.utenzaNuovaTrovata = utenzaNuovaTrovata; 
1074		 
1075		this.username = userObject.username; 
1076		<#-- this.password = userObject.password; --> 
1077		<#-- this.confermaPassword = userObject.password; --> 
1078		this.nome = userObject.nome; 
1079		this.cognome = userObject.cognome; 
1080		this.dataNascita = userObject.dataNascita ? jQuery.datepicker.formatDate('dd/mm/yy', new Date(userObject.dataNascita)) : "";			 
1081		this.sesso = userObject.sesso; 
1082		this.codiceFiscale = userObject.codFiscale; 
1083		this.azienda = userObject.azienda; 
1084		this.funzioneAziendale = userObject.funzAziendale; 
1085		this.email = userObject.email; 
1086		this.telefono = userObject.telefono; 
1087		this.cellulare = userObject.cellulare; 
1088		this.liberatoria = !!userObject.consensoDati; 
1089		this.statistiche = userObject.consensoMarketing; 
1090		this.profilazione = userObject.consensoProfilazione; 
1091		this.statisticheTerzi = userObject.consensoMarketingTerzi; 
1092		this.profilazioneTerzi = userObject.consensoProfilazioneTerzi; 
1093		 
1094	 
1095		<#-- for (var nazioneIndex in this.nazioni) { 
1096			if (this.nazioni[nazioneIndex].codiceStato == userObject.nascitaNazione) { 
1097					this.selectedNazioneNascita = this.nazioni[nazioneIndex]; 
1098					break; 
1099
1100
1101		if(userObject.nascitaProvincia){ 
1102			for (var provinciaIndex in this.province) { 
1103				if (this.province[provinciaIndex].codiceProvincia == userObject.nascitaProvincia) { 
1104						this.selectedProvinciaNascita = this.province[provinciaIndex]; 
1105						break; 
1106
1107
1108
1109		for (var nazioneIndex in this.nazioni) { 
1110			if (this.nazioni[nazioneIndex].codiceStato == userObject.domicNazione) { 
1111					this.selectedNazioneCorrispondenza = this.nazioni[nazioneIndex]; 
1112					break; 
1113
1114
1115		if(userObject.domicProvincia){ 
1116			for (var provinciaIndex in this.province) { 
1117				if (this.province[provinciaIndex].codiceProvincia == userObject.domicProvincia) { 
1118						this.selectedProvinciaCorrispondenza = this.province[provinciaIndex]; 
1119						break; 
1120
1121
1122
1123		$scope.$apply(); --> 
1124		 
1125		 
1126		this.indirizzoNascita = {	 
1127			"codNazione": userObject.nascitaNazione, 
1128			"codProvincia": userObject.nascitaProvincia, 
1129			"codComune": userObject.nascitaComune, 
1130		}; 
1131 
1132		var _codComuneNascita = userObject.nascitaComune; 
1133		var _codProvinciaNascita = userObject.nascitaProvincia; 
1134		var _codNazioneNascita = userObject.nascitaNazione; 
1135		 
1136		this.indirizzoCorrispondenza = { 
1137			"codNazione": userObject.domicNazione, 
1138			"codProvincia": userObject.domicProvincia, 
1139			"codComune": userObject.domicComune, 
1140			"cap": userObject.domicCap, 
1141			"indirizzo": userObject.domicIndirizzo, 
1142			"civico": userObject.domicCivico 
1143		}; 
1144 
1145		var _codComuneCorrispondenza = userObject.domicComune; 
1146		var _codProvinciaCorrispondenza = userObject.domicProvincia; 
1147		var _codNazioneCorrispondenza = userObject.domicNazione; 
1148		 
1149		var clb = function(angularScope) { 
1150			var _codStradaCorrispondenza = userObject.domicStrada; 
1151			var _capCorrispondenza = userObject.domicCap; 
1152 
1153			var clb1 = function() { 
1154				$scope.$apply(); 
1155 
1156				if (callback) { 
1157					callback(); 
1158
1159 
1160			}; 
1161			 
1162			clb1(); 
1163
1164		if (userObject.nascitaProvincia && userObject.nascitaComune) { 
1165			<#-- console.log("updating comune Nascita with code -> " + _codComuneNascita + " and codProvinciaNascita -> " + _codProvinciaNascita); --> 
1166			<#-- console.log($scope.indirizzoNascita); --> 
1167			$scope.updateComune($scope.indirizzoNascita, _codComuneNascita, _codProvinciaNascita, clb, "TUTTI"); 
1168		} else { 
1169		   clb(); 
1170
1171		if (userObject.domicProvincia && userObject.domicComune) { 
1172			<#-- console.log("updating comune Corrispondenza with code -> " + _codComuneCorrispondenza + " and codProvinciaCorrispondenza -> " + _codProvinciaCorrispondenza); --> 
1173			$scope.updateComune($scope.indirizzoCorrispondenza, _codComuneCorrispondenza, _codProvinciaCorrispondenza, clb, "VISIBILE"); 
1174		} else { 
1175		   clb(); 
1176
1177	}; 
1178	 
1179}]); 
1180 
1181 
1182var Globali = {}; 
1183Globali.path_images = "${theme_images_path}";  
1184 
1185function getDatiConferma(username, success, failure) { 
1186	success(jsonObj["anagrafica"]); 
1187
1188 
1189AUI().ready( function(){ 
1190	angular.bootstrap(document.getElementById("datiRegistrazioneBeneficiario"),['registrazione-step-1']);	 
1191	 
1192	var angularScope = angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope();  
1193	 
1194	angularScope.resourceUrl = getRegioniResourceUrl; 
1195	angularScope.portletNamespace = portletNamespace; 
1196	<#-- angularScope.checkEsistenzaUtenza(); --> 
1197	 
1198	var messageId = $('#message-register-user').text(); 
1199	if(messageId){ 
1200		angularScope[messageId]=true; 
1201		angularScope.$apply(); 
1202
1203	<#-- $('#'+messageId).removeClass("hidden"); --> 
1204 
1205	if(jsonObj && jsonObj["anagrafica"] && jsonObj["anagrafica"].circCd != "0000") 
1206		angularScope.conferma = "1"; 
1207	 
1208	 
1209	<#--  Controllo disabilitato per permettere il salvataggio dei dati inseriti --> 
1210	<#-- if(angularScope.conferma != "1") { --> 
1211		var beneficiarioValues = $('#user-field-values').text(); 
1212		if (beneficiarioValues && beneficiarioValues != "null") { 
1213			jsonObj = jQuery.parseJSON(beneficiarioValues); 
1214			<#-- json.dataNascita = json.dataNascita ? jQuery.datepicker.formatDate('dd/mm/yy', new Date(json.dataNascita)) : ""; --> 
1215			<#-- console.log("json", jsonObj); --> 
1216			angularScope.updateUserData(jsonObj,""); 
1217			if (jsonObj.nascitaComune) 
1218				$('#comunenascita').removeAttr("readonly"); 
1219			if (jsonObj.domicComune) 
1220				$('#comunecorrispondenza').removeAttr("readonly"); 
1221
1222	<#-- } --> 
1223	 
1224	<#-- if(jsonObj) { --> 
1225		 
1226		<#-- var username = jsonObj["anagrafica"].username; --> 
1227	 
1228		doExecuteFunctionWithTimeout(10000,false, 
1229			 
1230	 
1231			function(checkIfCanProceed){ 
1232	 
1233	 
1234				<#-- getDatiConferma( 
1235					username, 
1236					function(userObject){ --> 
1237						if ( checkIfCanProceed() ) { 
1238							<#-- console.log("checkIfCanProceed"); --> 
1239							var angularScope = angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope();  
1240							var clb = function(){ 
1241								getNazioniFromStradarioPortlet(function(listaNazioni){           
1242									<#-- console.log("getNazioniFromStradarioPortlet", listaNazioni); --> 
1243                                    angularScope.updateNazioni(listaNazioni); 
1244                                    angularScope.selectNazione(angularScope.indirizzoNascita); 
1245									angularScope.selectNazione(angularScope.indirizzoCorrispondenza); 
1246                                     
1247                                    getProvinceFromStradarioPortlet(function(listaProvince){							 
1248										angularScope.updateProvince(listaProvince); 
1249										angularScope.selectProvincia(angularScope.indirizzoNascita); 
1250										doEnhanceStradarioPortlet(angularScope,"provincianascita","capnascita","comunenascita","indirizzonascitaX","indirizzonascita-spinnerX","civiconascitaX",{ 
1251											getIndirizzo: function() { return angularScope.indirizzoNascita; }, 
1252											getSelectedProvincia: function() { return angularScope.selectedProvinciaNascita; } 
1253										}, "TUTTI"); 
1254										angularScope.selectProvincia(angularScope.indirizzoCorrispondenza); 
1255										doEnhanceStradarioPortlet(angularScope,"provinciacorrispondenza","capcorrispondenza","comunecorrispondenza","indirizzocorrispondenzaX","indirizzocorrispondenza-spinnerX","civicocorrispondenzaX",{ 
1256											getIndirizzo: function() { return angularScope.indirizzoCorrispondenza; }, 
1257											getSelectedProvincia: function() { return angularScope.selectedProvinciaCorrispondenza; } 
1258										}, "VISIBILE"); 
1259									}); 
1260                                });						 
1261							}; 
1262							<#-- console.log("angularScope", jsonObj && jsonObj["anagrafica"]); --> 
1263							if(jsonObj && jsonObj["anagrafica"]) 
1264								angularScope.updateUserData(jsonObj["anagrafica"],clb); 
1265							else 
1266								clb(); 
1267	 
1268	 
1269						}<#--  
1270					}, function(resCode) { 
1271						if ( checkIfCanProceed() ){ 
1272							console.log("ERROR: getDatiConferma resultCode -> " + resCode); 
1273							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectProvincia(this.indirizzoNascita); 
1274							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectProvincia(this.indirizzoCorrispondenza); 
1275                             
1276							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectNazione(this.indirizzoNascita); 
1277							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectNazione(this.indirizzoCorrispondenza); 
1278
1279
1280				); --> 
1281	 
1282	 
1283			}, 
1284	 
1285			function(){  
1286				 
1287				jQuery('#datiRegistrazioneBeneficiario').hide(); 
1288				alert("Il server non ha risposto nei tempi massimi previsti. Aggiornare la pagina e in caso di persistenza di questo messaggio avvertire l'assistenza",false,true); 
1289				 
1290	 
1291			}); 
1292	 
1293	<#-- } --> 
1294	<#-- else{ 
1295		getNazioniFromStradarioPortlet(function(listaNazioni){  
1296			console.log("getNazioniFromStradarioPortlet", listaNazioni); 
1297			angularScope.updateNazioni(listaNazioni); 
1298			angularScope.selectNazione(angularScope.indirizzoNascita); 
1299			angularScope.selectNazione(angularScope.indirizzoCorrispondenza); 
1300			 
1301			getProvinceFromStradarioPortlet(function(listaProvince){			 
1302				console.log("getProvinceFromStradarioPortlet", listaProvince); 
1303				angularScope.updateProvince(listaProvince); 
1304				angularScope.selectProvincia(angularScope.indirizzoNascita); 
1305				doEnhanceStradarioPortlet(angularScope,"provincianascita","capnascita","comunenascita","indirizzonascitaX","indirizzonascita-spinnerX","civiconascitaX",{ 
1306					getIndirizzo: function() { return angularScope.indirizzoNascita; }, 
1307					getSelectedProvincia: function() { return angularScope.selectedProvinciaNascita; } 
1308				}, "TUTTI"); 
1309				angularScope.selectProvincia(angularScope.indirizzoCorrispondenza); 
1310				doEnhanceStradarioPortlet(angularScope,"provinciacorrispondenza","capcorrispondenza","comunecorrispondenza","indirizzocorrispondenzaX","indirizzocorrispondenza-spinnerX","civicocorrispondenzaX",{ 
1311					getIndirizzo: function() { return angularScope.indirizzoCorrispondenza; }, 
1312					getSelectedProvincia: function() { return angularScope.selectedProvinciaCorrispondenza; } 
1313				}, "VISIBILE"); 
1314			}); 
1315		});						 
1316		updateWithOldValues(); 
1317	} --> 
1318	 
1319 
1320	angularScope.switchForm(angularScope.conferma); 
1321	 
1322	 
1323	$("#ptl-registrazione-step-1").removeClass("hidden").fadeIn(); 
1324	<#-- $("#greyLayout").hide(); --> 
1325	 
1326	<#-- function updateWithOldValues(){ 
1327		var beneficiarioValues = $('#user-field-values').text(); 
1328		if (beneficiarioValues) { 
1329			var json = jQuery.parseJSON(beneficiarioValues); 
1330			## json.dataNascita = json.dataNascita ? jQuery.datepicker.formatDate('dd/mm/yy', new Date(json.dataNascita)) : ""; 
1331			console.log("json", json); 
1332			angularScope.updateUserData(json,""); 
1333			if (json.nascitaComune) 
1334				$('#comunenascita').removeAttr("readonly"); 
1335			if (json.domicComune) 
1336				$('#comunecorrispondenza').removeAttr("readonly"); 
1337
1338	} --> 
1339}); 
1340 
1341 
1342 
1343(function() { 
1344	'use strict'; 
1345 
1346	angular 
1347		.module('registrazione-step-1') 
1348		.factory('migrazioneService', migrazioneService); 
1349	 
1350	migrazioneService.$inject = ['$http', '$q']; 
1351		 
1352	function migrazioneService($http, $q) {	 
1353		var service = { 
1354			checkBeneficiarioExist: checkBeneficiarioExist 
1355		}; 
1356		return service; 
1357 
1358		function checkBeneficiarioExist(resourceUrl, portletNamespace, email) {										 
1359			var deferred = $q.defer(); 
1360			var methodName = "checkBeneficiarioExist"; 
1361			var data = 	portletNamespace + "ope=" + methodName + "&" + portletNamespace + "email=" + email; 
1362			var config = { 
1363						headers : { 
1364							'Content-Type': 'application/x-www-form-urlencoded' 
1365
1366
1367			<#-- console.log(resourceUrl); --> 
1368			<#-- console.log(data); --> 
1369			<#-- console.log(config); --> 
1370			$http.post(resourceUrl, data, config) 
1371				.then(beneficiarioExist) 
1372				.catch(checkBeneficiarioExistFailed); 
1373 
1374			function beneficiarioExist(response) { 
1375				console.log('beneficiarioExist', response.data); 
1376				return deferred.resolve(response.data); 
1377
1378 
1379			function checkBeneficiarioExistFailed(error) { 
1380				console.log('checkBeneficiarioExistFailed ' + error); 
1381				return $q.reject(error); 
1382
1383			 
1384			return deferred.promise; 
1385
1386		 
1387
1388 
1389})(); 
1390 
1391 
1392 
1393(function() { 
1394	'use strict'; 
1395 
1396	angular 
1397		.module('registrazione-step-1') 
1398		.directive("rpattern", function() { 
1399			return { 
1400				restrict: "A", 
1401				require: "ngModel", 
1402				link: function(scope, el, attrs, ngModel) { 
1403					var validator, patternValidator, 
1404						pattern = attrs.rpattern, 
1405						required = true; 
1406						<#-- console.log("rpattern" , pattern); --> 
1407					if( pattern ) { 
1408						if (pattern.match(/^\/(.*)\/$/)) { 
1409							pattern = new RegExp(pattern.substr(1, pattern.length - 2)); 
1410							patternValidator = function(value) { 
1411								return validate(pattern, value) 
1412							}; 
1413
1414						else { 
1415							patternValidator = function(value) { 
1416								var patternObj = scope.$eval(pattern); 
1417								if (!patternObj || !patternObj.test) { 
1418									throw new Error('Expected ' + pattern + ' to be a RegExp but was ' + patternObj); 
1419
1420								return validate(patternObj, value); 
1421							}; 
1422
1423
1424					 
1425					ngModel.$formatters.push(patternValidator); 
1426					ngModel.$parsers.push(patternValidator); 
1427					 
1428					attrs.$observe("required", function(newval) { 
1429						<#-- console.log("rpattern" , newval); --> 
1430						required = newval; 
1431						patternValidator(ngModel.$viewValue); 
1432					}); 
1433					 
1434					function validate(regexp, value) { 
1435						if( value == null || value === "" || !required || regexp.test(value) ) { 
1436							ngModel.$setValidity('pattern', true); 
1437							<#-- console.log("rpattern validate" , !required || regexp.test(value)) --> 
1438							<#-- console.log("rpattern validate true" , value); --> 
1439							return value; 
1440
1441						else { 
1442							ngModel.$setValidity('pattern', false); 
1443							<#-- console.log("rpattern validate" , !required || regexp.test(value)) --> 
1444							<#-- console.log("rpattern validate false" , value); --> 
1445							return value; 
1446
1447
1448
1449			}; 
1450		}); 
1451 
1452})(); 
1453 
1454 
1455(function() { 
1456	'use strict'; 
1457 
1458	angular 
1459		.module('registrazione-step-1') 
1460		.directive("cpattern", function() { 
1461			return { 
1462				restrict: "A", 
1463				require: "ngModel", 
1464				link: function(scope, el, attrs, ngModel) { 
1465					var validator, patternValidator, 
1466						pattern = attrs.cpattern, 
1467						condition = false; 
1468						<#-- console.log("cpattern" , pattern); --> 
1469					if( pattern ) { 
1470						if (pattern.match(/^\/(.*)\/$/)) { 
1471							pattern = new RegExp(pattern.substr(1, pattern.length - 2)); 
1472							patternValidator = function(value) { 
1473								<#-- console.log("pattern" + pattern + value); --> 
1474								return validate(pattern, value) 
1475							}; 
1476
1477						else { 
1478							patternValidator = function(value) { 
1479								var patternObj = scope.$eval(pattern); 
1480								if (!patternObj || !patternObj.test) { 
1481									throw new Error('Expected ' + pattern + ' to be a RegExp but was ' + patternObj); 
1482
1483								<#-- console.log("patternObj"); --> 
1484								return validate(patternObj, value); 
1485							}; 
1486
1487
1488					 
1489					ngModel.$formatters.push(patternValidator); 
1490					ngModel.$parsers.push(patternValidator); 
1491					 
1492					attrs.$observe("condition", function(newval) { 
1493						<#-- console.log("cpattern interpolated condition " + condition); --> 
1494						<#-- console.log("cpattern interpolated newval " + newval); --> 
1495						condition = (newval === true || newval == "true"); 
1496						<#-- console.log("cpattern interpolated new condition " + condition); --> 
1497						patternValidator(ngModel.$viewValue); 
1498						<#-- console.log("observe " + condition + " " + ngModel.$viewValue); --> 
1499					}); 
1500					 
1501					function validate(regexp, value) { 
1502						<#-- console.log("validate " + regexp + " " + value + " condition " + condition + " condizioni (value == null)" + (value == null) + " (value === '')" + (value === "") + " (condition)" + condition + " (!condition)" + (!condition) + " regexp.test(value)" + regexp.test(value)); --> 
1503						if( value == null || value === "" || !condition || regexp.test(value) ) { 
1504							ngModel.$setValidity('pattern', true); 
1505							<#-- console.log("cpattern validate" , !condition || regexp.test(value)) --> 
1506							<#-- console.log("cpattern validate true" , value); --> 
1507							return value; 
1508
1509						else { 
1510							ngModel.$setValidity('pattern', false); 
1511							<#-- console.log("cpattern validate" , !condition || regexp.test(value)) --> 
1512							<#-- console.log("cpattern validate false" , value); --> 
1513							return; 
1514
1515
1516
1517			}; 
1518		}); 
1519 
1520})(); 
1521 
1522 
1523</script> 

Informativa Cookie Informativa Cookie

Tema Tema

Theme Substitute