pull made

This commit is contained in:
Eudes Inácio
2024-03-03 18:25:55 +01:00
9 changed files with 166 additions and 43 deletions
+90
View File
@@ -1,6 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>Gabinete Digital</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.gpr.gabinetedigital.teste</string>
<key>CFBundleURLSchemes</key>
<array>
<string>gabinetedigital</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app does not require access to the microphone.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<!-- Firebase Push Notification Configurations -->
<key>FirebaseAppDelegateProxyEnabled</key>
<true/>
<key>UNUserNotificationCenterDelegate</key>
<string>YourApp.NotificationDelegate</string>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
</dict>
</plist>
<!-- <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>en</string> <string>en</string>
@@ -75,3 +164,4 @@
</dict> </dict>
</dict> </dict>
</plist> </plist>
-->
+58 -31
View File
@@ -6,6 +6,7 @@ import { ThemeService } from 'src/app/services/theme.service';
import { ChatSystemService } from 'src/app/services/chat/chat-system.service'; import { ChatSystemService } from 'src/app/services/chat/chat-system.service';
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { ToastService } from 'src/app/services/toast.service'; import { ToastService } from 'src/app/services/toast.service';
import { catchError } from 'rxjs/operators';
@Component({ @Component({
selector: 'app-new-group', selector: 'app-new-group',
@@ -66,46 +67,72 @@ export class NewGroupPage implements OnInit {
let customFields = {} let customFields = {}
let res: any; let res: any;
if (this.thedate) { if(!SessionStore.user?.ChatData?.data) {
let customFields = { this.toastService._successMessage("Chat temporariamente indisponível")
"countDownDate": this.thedate
}
res = await this.ChatSystemService.createPrivateRoom(name, SessionStore.user.UserName, customFields);
}
else {
res = await this.ChatSystemService.createPrivateRoom(name, SessionStore.user.UserName, customFields);
} }
this.isGroupCreated = true; try {
this.addContacts(res.result);
this.ChatSystemService.getRoom([res.result]);
setTimeout(() => { if (this.thedate) {
this.ChatSystemService.subscribeToRoomUpdate(res.result.rid, res.result); let customFields = {
}, 10) "countDownDate": this.thedate
if (res?.result?.rid) {
this.ChatSystemService.getAllRooms(() => {
if (!this.ChatSystemService.getGroupRoom(res.result.rid)) {
this.createGroupWithAttachmentsCath(res)
} else {
setTimeout(() => {
this.createGroupWithAttachments(res)
}, 500)
} }
}, res.result.rid); res = await this.ChatSystemService.createPrivateRoom(name, SessionStore.user.UserName, customFields);
}
else {
res = await this.ChatSystemService.createPrivateRoom(name, SessionStore.user.UserName, customFields);
}
try {
this.isGroupCreated = true;
this.addContacts(res.result);
this.ChatSystemService.getRoom([res.result]);
setTimeout(() => {
this.ChatSystemService.subscribeToRoomUpdate(res.result.rid, res.result);
}, 10)
} catch (error) {
await this.ChatSystemService.getUser();
await this.ChatSystemService.getAllRooms();
await this.ChatSystemService.subscribeToRoom();
this.isGroupCreated = true;
this.addContacts(res.result);
this.ChatSystemService.getRoom([res.result]);
setTimeout(() => {
this.ChatSystemService.subscribeToRoomUpdate(res.result.rid, res.result);
}, 10)
}
} else { if (res?.result?.rid) {
this.toastService._badRequest('Existe um grupo com este nome!'); this.ChatSystemService.getAllRooms(() => {
if (!this.ChatSystemService.getGroupRoom(res.result.rid)) {
this.createGroupWithAttachmentsCath(res)
} else {
setTimeout(() => {
this.createGroupWithAttachments(res)
}, 500)
}
}, res.result.rid);
} else {
this.toastService._badRequest('Existe um grupo com este nome!');
}
} catch(error) {
this.toastService._successMessage("Chat temporariamente indisponível")
} }
} }
+9 -3
View File
@@ -65,6 +65,7 @@ export class NotificationsService {
} }
requestPermissions() { requestPermissions() {
console.log('init notificaton permission')
if (this.platform.is('mobile')) { if (this.platform.is('mobile')) {
if (!this.isPushNotificationsAvailable) { if (!this.isPushNotificationsAvailable) {
@@ -72,17 +73,22 @@ export class NotificationsService {
} }
PushNotifications.requestPermissions().then(async (result) => { PushNotifications.requestPermissions().then(async (result) => {
if (result.receive === 'granted') { if (result.receive === 'granted') {
console.log('permission granted')
// Register with Apple / Google to receive push via APNS/FCM // Register with Apple / Google to receive push via APNS/FCM
try { try {
PushNotifications.register().catch((error) => { PushNotifications.register().then((value) => {
console.log("Register device", error) console.log("Register device", value)
this.getAndpostToken("")
}) .catch((error) => {
console.log("Register device error", error)
}) })
this.getAndpostToken("")
} catch (error) { } catch (error) {
console.log("Granted permission error", error) console.log("Granted permission error", error)
} }
} else { } else {
// Show some error // Show some error
console.log('permission notification erro')
} }
}); });
} else { } else {
@@ -27,7 +27,7 @@
<div class="buttons width-100"> <div class="buttons width-100">
<button (click)="openAddNoteModal('Arquivo')" class="btn-cancel" shape="round" >Arquivar</button> <button (click)="openAddNoteModal('Arquivo')" class="btn-cancel" shape="round" >Arquivar</button>
</div> </div>
<div class="buttons width-100" *ngIf="task.activityInstanceName != 'Assinar Diploma'"> <div class="buttons width-100" *ngIf="task.activityInstanceName != 'Assinar Diploma' && task.activityInstanceName != 'Revisar Diploma'">
<button (click)="openExpedientActionsModal('0',task)" class="btn-cancel" shape="round" >Efetuar despacho</button> <button (click)="openExpedientActionsModal('0',task)" class="btn-cancel" shape="round" >Efetuar despacho</button>
</div> </div>
</div> </div>
@@ -60,5 +60,5 @@
.desk{ .desk{
text-align: left; text-align: left;
background-color: white; background-color: transparent;
} }
@@ -59,5 +59,5 @@
.desk{ .desk{
text-align: left; text-align: left;
background-color: white; background-color: transparent;
} }
@@ -143,6 +143,7 @@ export class OptsExpedientePage implements OnInit {
this.attachmentsService.AddAttachment(body).subscribe((res)=> { this.attachmentsService.AddAttachment(body).subscribe((res)=> {
this.toastService._successMessage() this.toastService._successMessage()
this.popoverController.dismiss()
}, (error) => { }, (error) => {
this.httpErrorHanlde.httpStatusHandle(error) this.httpErrorHanlde.httpStatusHandle(error)
},()=> { },()=> {
@@ -151,7 +152,7 @@ export class OptsExpedientePage implements OnInit {
}); });
this.popoverController.dismiss()
} }
}, (error) => { }, (error) => {
@@ -181,7 +181,6 @@ export class NewPublicationPage implements OnInit {
FileType: 'image' FileType: 'image'
} }
) )
newAttachment.needUpload()
this.publicationFormMV.form.Files.push(newAttachment) this.publicationFormMV.form.Files.push(newAttachment)
}); });
} }
@@ -357,8 +356,8 @@ export class NewPublicationPage implements OnInit {
if(upload) { if(upload) {
this.publicationFormMV.form.Files = this.publicationFormMV.form.Files.map((e:PublicationAttachmentEntity)=> { this.publicationFormMV.form.Files = this.publicationFormMV.form.Files.map((e:PublicationAttachmentEntity)=> {
if(e.FileType == 'video' && e.toUpload) { if(e.FileType == 'video' && e.blobFile && e.toUpload) {
e.OriginalFileName = e.chucksManager.path.replace(".mp4", "") e.OriginalFileName = e?.chucksManager?.path?.replace(".mp4", "") || e.OriginalFileName
e.FileExtension = "mp4" e.FileExtension = "mp4"
} }
return e return e
@@ -408,7 +407,7 @@ export class NewPublicationPage implements OnInit {
if(upload) { if(upload) {
this.publicationFormMV.form.Files = this.publicationFormMV.form.Files.map((e:PublicationAttachmentEntity) => { this.publicationFormMV.form.Files = this.publicationFormMV.form.Files.map((e:PublicationAttachmentEntity) => {
if(e.FileType == 'video' && e.toUpload) { if(e.FileType == 'video' && e.blobFile && e.toUpload) {
e.OriginalFileName = e.chucksManager.path.replace(".mp4", "") e.OriginalFileName = e.chucksManager.path.replace(".mp4", "")
e.FileExtension = "mp4" e.FileExtension = "mp4"
e.Base64 = "" e.Base64 = ""
@@ -303,7 +303,7 @@ export class PublicationFormMV {
// this.ObjectMergeNotification.socket.registerWhenConnected(() => { // this.ObjectMergeNotification.socket.registerWhenConnected(() => {
const videosFiles = this.getVideoFiles() const videosFiles = this.getVideoFiles()
const videosFilesToUploads = videosFiles.filter( e => e.FileType == "video" && e.toUpload) const videosFilesToUploads = videosFiles.filter( e => e.FileType == "video" && e.toUpload && e.blobFile)
const Promises: Promise<any>[] = [] const Promises: Promise<any>[] = []