Commit 17c4bd6e by Matteo

fix pre rilascio

parent 33c375f9
...@@ -12,8 +12,8 @@ android { ...@@ -12,8 +12,8 @@ android {
applicationId "it.aimconsulting.stman" applicationId "it.aimconsulting.stman"
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1 versionCode 2
versionName "0.0.1" versionName "0.0.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions { aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
...@@ -25,6 +25,7 @@ android { ...@@ -25,6 +25,7 @@ android {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
zipAlignEnabled true
} }
} }
} }
......
...@@ -8,9 +8,9 @@ ...@@ -8,9 +8,9 @@
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:194791689410:android:0e104edae20aa761a4ff5b", "mobilesdk_app_id": "1:194791689410:android:cb0febb9eecbbebba4ff5b",
"android_client_info": { "android_client_info": {
"package_name": "it.aimconsulting.stman" "package_name": "com.app.p4132EI"
} }
}, },
"oauth_client": [ "oauth_client": [
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
"client_id": "194791689410-9r2lgpm2rcs7hhf9846b6ava158dk41g.apps.googleusercontent.com", "client_id": "194791689410-9r2lgpm2rcs7hhf9846b6ava158dk41g.apps.googleusercontent.com",
"client_type": 2, "client_type": 2,
"ios_info": { "ios_info": {
"bundle_id": "it.aimconsulting.stman" "bundle_id": "com.siatpayie2314"
} }
} }
] ]
...@@ -80,13 +80,21 @@ ...@@ -80,13 +80,21 @@
}, },
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:194791689410:android:0e104edae20aa761a4ff5b", "mobilesdk_app_id": "1:194791689410:android:541de5994a7acdfaa4ff5b",
"android_client_info": { "android_client_info": {
"package_name": "it.aimconsulting.stman" "package_name": "it.aimconsulting.stman"
} }
}, },
"oauth_client": [ "oauth_client": [
{ {
"client_id": "194791689410-dii3876ot23gb31qg7hcbnm3s0ejpp8b.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "it.aimconsulting.stman",
"certificate_hash": "583e02d81435603cb560dccded012e56b0b50df3"
}
},
{
"client_id": "194791689410-48g2q42ij0rg0gp9qq0u4o9gc9cfmq2m.apps.googleusercontent.com", "client_id": "194791689410-48g2q42ij0rg0gp9qq0u4o9gc9cfmq2m.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
} }
......
{ {
"appId": "it.aimconsulting.stman", "appId": "it.aimconsulting.stman",
"appName": "Studio Mannelli", "appName": "Leonardo Mannelli",
"webDir": "www", "webDir": "www",
"bundledWebRuntime": false, "bundledWebRuntime": false,
"plugins": { "plugins": {
......
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<resources> <resources>
<string name="app_name">Studio Mannelli</string> <string name="app_name">Leonardo Mannelli</string>
<string name="title_activity_main">Studio Mannelli</string> <string name="title_activity_main">Leonardo Mannelli</string>
<string name="package_name">it.aimconsulting.stman</string> <string name="package_name">it.aimconsulting.stman</string>
<string name="custom_url_scheme">it.aimconsulting.stman</string> <string name="custom_url_scheme">it.aimconsulting.stman</string>
</resources> </resources>
{ {
"appId": "it.aimconsulting.stman", "appId": "it.aimconsulting.stman",
"appName": "Studio Mannelli", "appName": "Leonardo Mannelli",
"webDir": "www", "webDir": "www",
"bundledWebRuntime": false, "bundledWebRuntime": false,
"plugins": { "plugins": {
......
{ {
"name": "Studio Mannelli", "name": "Leonardo Mannelli",
"integrations": { "integrations": {
"capacitor": {} "capacitor": {}
}, },
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>en</string> <string>en</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Studio Mannelli</string> <string>Leonardo Mannelli</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
......
{ {
"appId": "it.aimconsulting.stman", "appId": "it.aimconsulting.stman",
"appName": "Studio Mannelli", "appName": "Leonardo Mannelli",
"webDir": "www", "webDir": "www",
"bundledWebRuntime": false, "bundledWebRuntime": false,
"plugins": { "plugins": {
......
...@@ -40,6 +40,43 @@ export class AppComponent { ...@@ -40,6 +40,43 @@ export class AppComponent {
this.router.navigateByUrl('login'); this.router.navigateByUrl('login');
} }
apriPagina(pagina:string)
{
switch(pagina)
{
case "home":
{
this.router.navigateByUrl('index');
break;
}
case "documenti":
{
this.router.navigateByUrl('documenti');
break;
}
case "interviste":
{
this.router.navigateByUrl('interviste');
break;
}
case "pareri":
{
this.router.navigateByUrl('pareri');
break;
}
case "segreteria":
{
this.router.navigateByUrl('segreteria');
break;
}
case "change-password":
{
this.router.navigateByUrl('change-pwd');
break;
}
}
}
openSideBar() openSideBar()
{ {
this.menuCtrl.open('mainmenu'); this.menuCtrl.open('mainmenu');
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<ion-input formControlName="email" type="email" placeholder="{{ 'email' | translate }}" ngModel required></ion-input> <ion-input formControlName="email" type="email" placeholder="{{ 'email' | translate }}" ngModel required></ion-input>
</ion-item> </ion-item>
<ion-item> <ion-item>
<ion-input formControlName="cellulare" type="cellulare" placeholder="{{ 'cellulare' | translate }}" ngModel required></ion-input> <ion-input formControlName="cellulare" type="tel" placeholder="{{ 'cellulare' | translate }}" ngModel required></ion-input>
</ion-item> </ion-item>
<ion-item> <ion-item>
<ion-input formControlName="password" type="password" placeholder="{{ 'pwd' | translate }}" ngModel required></ion-input> <ion-input formControlName="password" type="password" placeholder="{{ 'pwd' | translate }}" ngModel required></ion-input>
......
...@@ -8,6 +8,7 @@ import { ErrorResponse } from '../../interface/error-response'; ...@@ -8,6 +8,7 @@ import { ErrorResponse } from '../../interface/error-response';
import { FormControl, Validators, FormGroup } from '@angular/forms'; import { FormControl, Validators, FormGroup } from '@angular/forms';
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
import { EventsService } from 'src/app/service/events.service'; import { EventsService } from 'src/app/service/events.service';
import { PasswordValidator } from '../../validators/password.validator';
@Component({ @Component({
selector: 'app-registrazione', selector: 'app-registrazione',
...@@ -72,7 +73,11 @@ export class RegistrazionePage implements OnInit { ...@@ -72,7 +73,11 @@ export class RegistrazionePage implements OnInit {
])), ])),
email: new FormControl('', Validators.compose([ email: new FormControl('', Validators.compose([
Validators.required, Validators.required,
Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$') //Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$')
Validators.email
])),
cellulare: new FormControl('', Validators.compose([
Validators.pattern('^[0-9]+$'),
])), ])),
password: new FormControl('', Validators.compose([ password: new FormControl('', Validators.compose([
Validators.minLength(5), Validators.minLength(5),
...@@ -82,29 +87,32 @@ export class RegistrazionePage implements OnInit { ...@@ -82,29 +87,32 @@ export class RegistrazionePage implements OnInit {
passwordbis: new FormControl('', Validators.compose([ passwordbis: new FormControl('', Validators.compose([
Validators.required Validators.required
])) ]))
},(formGroup: FormGroup) => {
return PasswordValidator.areEqual(formGroup);
}); });
validation_messages = { validation_messages = {
'nome': [ 'nome': [
{ type: 'required', message: 'Email � richiesta.' }, { type: 'required', message: 'Nome e\' richiesto.' },
{ type: 'pattern', message: 'Deve essere composta da numeri e lettere' }
], ],
'cognome': [ 'cognome': [
{ type: 'required', message: 'Email � richiesta.' }, { type: 'required', message: 'Cognome e\' richiesto.' },
{ type: 'pattern', message: 'Deve essere composta da numeri e lettere' }
], ],
'email': [ 'email': [
{ type: 'required', message: 'Email richiesta.' }, { type: 'required', message: 'Email e\' richiesta.' },
{ type: 'pattern', message: 'Deve essere composta da numeri e lettere' } { type: 'pattern', message: 'Deve essere composta da numeri e lettere' }
], ],
'cellulare': [
{ type: 'pattern', message: 'Deve essere composto da numeri' }
],
'newpassword': [ 'newpassword': [
{ type: 'required', message: 'Password richiesta.' }, { type: 'required', message: 'Password e\' richiesta.' },
{ type: 'minlength', message: 'La lunghezza minima 5 caratteri' }, { type: 'minlength', message: 'La lunghezza minima e\' 5 caratteri' },
{ type: 'pattern', message: 'Deve essere composta da numeri e lettere, minimo una maiuscola e una minuscola' } { type: 'pattern', message: 'Deve essere composta da numeri e lettere, minimo una maiuscola e una minuscola' }
], ],
'newpasswordbis': [ 'newpasswordbis': [
{ type: 'areEqual', message: 'La password deve essere uguale a quella nuova' }, { type: 'areEqual', message: 'La password deve essere uguale a quella nuova' },
{ type: 'required', message: 'Il Repeat Password richiesto.' } { type: 'required', message: 'Il Repeat Password e\' richiesto.' }
] ]
} }
......
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
</ion-row> </ion-row>
<div class="content-index" *ngFor="let documento of documenti.documenti; trackBy: trackByDoc"> <div class="content-index" *ngFor="let documento of documenti.documenti; trackBy: trackByDoc">
<a href="{{documento.url}}" target="_blank" download tappable title="{{ 'scarica_doc' | translate }}"> <a href="{{documento.url}}" target="_blank" download tappable title="{{ 'scarica_doc' | translate }}">
<div class="struttura-sel2 documento-box" tappable #lock (mouseover)="lock.isHover = true" (mouseout)="lock.isHover = false"> <div class="struttura-sel2 documento-box" tappable>
<ion-row class="row-box"> <ion-row class="row-box">
<ion-col> <ion-col>
<div class="documento-text"> <div class="documento-text">
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
<ion-col> <ion-col>
<div tappable class="icon2"> <div tappable class="icon2">
<img src="assets/img/documenti.png" tappable/> <img src="assets/img/documenti.png" tappable/>
<ion-icon *ngIf="lock.isHover" class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon> <ion-icon class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon>
</div> </div>
</ion-col> </ion-col>
</ion-row> </ion-row>
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<ion-list slot="content"> <ion-list slot="content">
<ion-item> <ion-item>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sit amet augue eget mi pulvinar feugiat. Nunc laoreet ligula ac pharetra placerat. Quisque tincidunt erat ut nisl blandit, nec volutpat turpis consectetur.</p> <p>Sì, il conguaglio verrà effettuato al termine dell’esercizio o alla cessazione del contratto se antecedente.</p>
</ion-item> </ion-item>
</ion-list> </ion-list>
</ion-accordion> </ion-accordion>
......
...@@ -18,6 +18,8 @@ export class FaqPage implements OnInit { ...@@ -18,6 +18,8 @@ export class FaqPage implements OnInit {
ngOnInit() { ngOnInit() {
} }
titolo:String;
apriPagina(pagina) apriPagina(pagina)
{ {
this.utilService.apriPagina(pagina); this.utilService.apriPagina(pagina);
......
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
</div> </div>
<div class="content-index" *ngFor="let topic of topics; trackBy: trackByDoc"> <div class="content-index" *ngFor="let topic of topics; trackBy: trackByDoc">
<div tappable title="{{ 'visualizza_dettagli' | translate }}"> <div tappable title="{{ 'visualizza_dettagli' | translate }}">
<div class="struttura-sel2 documento-box" tappable #lock (mouseover)="lock.isHover = true" (mouseout)="lock.isHover = false"> <div class="struttura-sel2 documento-box" tappable>
<ion-row class="row-box"> <ion-row class="row-box">
<ion-col> <ion-col>
<div class="documento-text"> <div class="documento-text">
...@@ -245,7 +245,6 @@ ...@@ -245,7 +245,6 @@
<ion-col (click)="apriTopic(topic.idRichiesta)"> <ion-col (click)="apriTopic(topic.idRichiesta)">
<div tappable class="icon2"> <div tappable class="icon2">
<img src="assets/img/domandeNero.png" tappable/> <img src="assets/img/domandeNero.png" tappable/>
<!--<ion-icon *ngIf="lock.isHover" class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon>-->
</div> </div>
</ion-col> </ion-col>
</ion-row> </ion-row>
......
...@@ -211,7 +211,7 @@ ...@@ -211,7 +211,7 @@
</div> </div>
<div class="content-index" *ngFor="let notifica of notifiche; trackBy: trackByDoc"> <div class="content-index" *ngFor="let notifica of notifiche; trackBy: trackByDoc">
<div tappable title="{{ 'visualizza_dettagli' | translate }}"> <div tappable title="{{ 'visualizza_dettagli' | translate }}">
<div class="struttura-sel2 documento-box" tappable #lock (mouseover)="lock.isHover = true" (mouseout)="lock.isHover = false"> <div class="struttura-sel2 documento-box" tappable>
<ion-row class="row-box"> <ion-row class="row-box">
<ion-col> <ion-col>
<div class="documento-text"> <div class="documento-text">
......
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
</div> </div>
<div class="content-index" *ngFor="let parere of pareri; trackBy: trackByDoc"> <div class="content-index" *ngFor="let parere of pareri; trackBy: trackByDoc">
<div tappable title="{{ 'visualizza_dettagli' | translate }}"> <div tappable title="{{ 'visualizza_dettagli' | translate }}">
<div class="struttura-sel documento-box" tappable #lock (mouseover)="lock.isHover = true" (mouseout)="lock.isHover = false"> <div class="struttura-sel documento-box" tappable>
<ion-row class="row-box"> <ion-row class="row-box">
<ion-col> <ion-col>
<div class="documento-text"> <div class="documento-text">
...@@ -259,7 +259,6 @@ ...@@ -259,7 +259,6 @@
<ion-col (click)="apriParere(parere.idRichiesta)"> <ion-col (click)="apriParere(parere.idRichiesta)">
<div tappable class="icon3"> <div tappable class="icon3">
<img src="assets/img/parereNero.png" tappable/> <img src="assets/img/parereNero.png" tappable/>
<!--<ion-icon *ngIf="lock.isHover" class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon>-->
</div> </div>
</ion-col> </ion-col>
</ion-row> </ion-row>
......
...@@ -192,7 +192,7 @@ ...@@ -192,7 +192,7 @@
<span> <span>
<ion-list *ngFor="let fattura of fatture; trackBy: trackByDoc" class="list-smart" (click)="selection?toggleGroup(fattura.id):selectItem(fattura.id)" <ion-list *ngFor="let fattura of fatture; trackBy: trackByDoc" class="list-smart" (click)="selection?toggleGroup(fattura.id):selectItem(fattura.id)"
(press)="selectItem(fattura.id)" [ngStyle]="{'background-color': fattura.checked ? '#c3ddec' : '#ffffff'}"> (press)="selectItem(fattura.id)" [ngStyle]="{'background-color': fattura.checked ? '#c3ddec' : '#ffffff'}">
<div class="row-results-smart" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || (visualizzaProgetti && fattura.nrProgNotula != 0)"> <div class="row-results-smart" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || (visualizzaProgetti && fattura.nrProgNotula != null)">
<ion-checkbox name="privacy" [(ngModel)]="fattura.checked" class="check" (click)="checkSelected(fattura.id)" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || visualizzaProgetti"> </ion-checkbox> <ion-checkbox name="privacy" [(ngModel)]="fattura.checked" class="check" (click)="checkSelected(fattura.id)" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || visualizzaProgetti"> </ion-checkbox>
<div class="table-row" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || visualizzaProgetti"> <div class="table-row" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || visualizzaProgetti">
...@@ -363,7 +363,7 @@ ...@@ -363,7 +363,7 @@
<div *ngFor="let fattura of fatture; trackBy: trackByDoc"> <div *ngFor="let fattura of fatture; trackBy: trackByDoc">
<div class="content-index" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || visualizzaProgetti"> <div class="content-index" *ngIf="(!visualizzaProgetti && fattura.nrNotula != null) || visualizzaProgetti">
<a *ngIf="visualizzaProgetti" href="{{fattura.urlProgNotula}}" target="_blank" download tappable title="{{ 'scarica_pnotula' | translate }}"> <a *ngIf="visualizzaProgetti" href="{{fattura.urlProgNotula}}" target="_blank" download tappable title="{{ 'scarica_pnotula' | translate }}">
<div class="struttura-sel2 documento-box" tappable #lock (mouseover)="lock.isHover = true" (mouseout)="lock.isHover = false"> <div class="struttura-sel2 documento-box" tappable>
<ion-row class="row-box"> <ion-row class="row-box">
<ion-col> <ion-col>
<div class="documento-text"> <div class="documento-text">
...@@ -378,14 +378,14 @@ ...@@ -378,14 +378,14 @@
<ion-col> <ion-col>
<div tappable class="icon2"> <div tappable class="icon2">
<img src="assets/img/documenti.png" tappable/> <img src="assets/img/documenti.png" tappable/>
<ion-icon *ngIf="lock.isHover" class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon> <ion-icon class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon>
</div> </div>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
</a> </a>
<a *ngIf="!visualizzaProgetti" href="{{fattura.urlNotula}}" target="_blank" download tappable title="{{ 'scarica_notula' | translate }}"> <a *ngIf="!visualizzaProgetti" href="{{fattura.urlNotula}}" target="_blank" download tappable title="{{ 'scarica_notula' | translate }}">
<div class="struttura-sel2 documento-box" tappable #lock (mouseover)="lock.isHover = true" (mouseout)="lock.isHover = false"> <div class="struttura-sel2 documento-box" tappable>
<ion-row class="row-box"> <ion-row class="row-box">
<ion-col> <ion-col>
<div class="documento-text"> <div class="documento-text">
...@@ -400,7 +400,7 @@ ...@@ -400,7 +400,7 @@
<ion-col> <ion-col>
<div tappable class="icon2"> <div tappable class="icon2">
<img src="assets/img/documenti.png" tappable/> <img src="assets/img/documenti.png" tappable/>
<ion-icon *ngIf="lock.isHover" class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon> <ion-icon class="button-icon-download" slot="icon-only" name="download" title="{{ 'scarica_doc' | translate }}"></ion-icon>
</div> </div>
</ion-col> </ion-col>
</ion-row> </ion-row>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>Studio Mannelli</title> <title>Leonardo Mannelli</title>
<base href="/" /> <base href="/" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment