Skip to content
Snippets Groups Projects
Commit acbe46c6 authored by jakobsbode's avatar jakobsbode
Browse files

add reminder function for travel contact

parent 8bd1ef5c
Branches
Tags
No related merge requests found
...@@ -580,8 +580,8 @@ ...@@ -580,8 +580,8 @@
<constraint firstAttribute="width" constant="15" id="ons-Pp-k3n"/> <constraint firstAttribute="width" constant="15" id="ons-Pp-k3n"/>
</constraints> </constraints>
</imageView> </imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sfv-2Q-95I"> <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="sfv-2Q-95I">
<rect key="frame" x="0.0" y="15" width="15" height="16.5"/> <rect key="frame" x="0.0" y="16.5" width="15" height="15"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="15" id="SmT-9e-ovi"/> <constraint firstAttribute="height" constant="15" id="SmT-9e-ovi"/>
<constraint firstAttribute="width" constant="15" id="uKU-PK-flD"/> <constraint firstAttribute="width" constant="15" id="uKU-PK-flD"/>
...@@ -666,7 +666,7 @@ ...@@ -666,7 +666,7 @@
<objects> <objects>
<tableViewController storyboardIdentifier="UITableViewController-ooe-0X-glz" id="ooe-0X-glz" customClass="ListViewController" customModule="enzevalos_iphone" customModuleProvider="target" sceneMemberID="viewController"> <tableViewController storyboardIdentifier="UITableViewController-ooe-0X-glz" id="ooe-0X-glz" customClass="ListViewController" customModule="enzevalos_iphone" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="ipK-4X-lVA"> <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="ipK-4X-lVA">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/> <rect key="frame" x="0.0" y="0.0" width="320" height="504"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes> <prototypes>
...@@ -752,7 +752,7 @@ ...@@ -752,7 +752,7 @@
<objects> <objects>
<tableViewController storyboardIdentifier="UITableViewController-8Di-x2-cWQ" id="8Di-x2-cWQ" customClass="ContactViewController" customModule="enzevalos_iphone" customModuleProvider="target" sceneMemberID="viewController"> <tableViewController storyboardIdentifier="UITableViewController-8Di-x2-cWQ" id="8Di-x2-cWQ" customClass="ContactViewController" customModule="enzevalos_iphone" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="lK7-ug-OyQ"> <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="lK7-ug-OyQ">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/> <rect key="frame" x="0.0" y="0.0" width="320" height="504"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<prototypes> <prototypes>
...@@ -1115,7 +1115,7 @@ ...@@ -1115,7 +1115,7 @@
<objects> <objects>
<viewController id="jYD-fk-aIP" customClass="KeyViewController" customModule="enzevalos_iphone" customModuleProvider="target" sceneMemberID="viewController"> <viewController id="jYD-fk-aIP" customClass="KeyViewController" customModule="enzevalos_iphone" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="ZAH-bZ-S6n"> <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="ZAH-bZ-S6n">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/> <rect key="frame" x="0.0" y="0.0" width="320" height="504"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<button key="tableFooterView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="KaX-Vg-m5j"> <button key="tableFooterView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="KaX-Vg-m5j">
...@@ -1817,6 +1817,7 @@ Um deine sicheren E-Mails auch auf einem anderen Gerät lesen zu können, muss d ...@@ -1817,6 +1817,7 @@ Um deine sicheren E-Mails auch auf einem anderen Gerät lesen zu können, muss d
<segue destination="8Di-x2-cWQ" kind="show" identifier="showContact" id="DcR-GX-scc"/> <segue destination="8Di-x2-cWQ" kind="show" identifier="showContact" id="DcR-GX-scc"/>
<segue destination="olx-gF-WdV" kind="presentation" identifier="inviteSegue" id="QXm-7K-984"/> <segue destination="olx-gF-WdV" kind="presentation" identifier="inviteSegue" id="QXm-7K-984"/>
<segue destination="olx-gF-WdV" kind="presentation" identifier="inviteSegueStudy" id="Sm1-yp-Umv"/> <segue destination="olx-gF-WdV" kind="presentation" identifier="inviteSegueStudy" id="Sm1-yp-Umv"/>
<segue destination="olx-gF-WdV" kind="presentation" identifier="travelFollowUpReminder" id="hd4-SZ-DZ0"/>
</connections> </connections>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Lv5-U9-uUg" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="Lv5-U9-uUg" userLabel="First Responder" sceneMemberID="firstResponder"/>
...@@ -1857,9 +1858,9 @@ Um deine sicheren E-Mails auch auf einem anderen Gerät lesen zu können, muss d ...@@ -1857,9 +1858,9 @@ Um deine sicheren E-Mails auch auf einem anderen Gerät lesen zu können, muss d
</scene> </scene>
</scenes> </scenes>
<inferredMetricsTieBreakers> <inferredMetricsTieBreakers>
<segue reference="rhW-cI-4c4"/> <segue reference="hd4-SZ-DZ0"/>
<segue reference="hSn-Um-hji"/> <segue reference="hSn-Um-hji"/>
<segue reference="btx-4o-o0r"/> <segue reference="DcR-GX-scc"/>
<segue reference="TgN-rB-esa"/> <segue reference="TgN-rB-esa"/>
<segue reference="6Ug-AV-lba"/> <segue reference="6Ug-AV-lba"/>
</inferredMetricsTieBreakers> </inferredMetricsTieBreakers>
......
...@@ -223,6 +223,11 @@ extension SendViewController { ...@@ -223,6 +223,11 @@ extension SendViewController {
} }
controller?.ctaAction = { controller?.ctaAction = {
controller?.hideDialog(completion: nil)
self.performSegue(withIdentifier: "travelFollowUpReminder", sender: nil)
}
controller?.additionalAction = {
controller?.hideDialog(completion: nil) controller?.hideDialog(completion: nil)
UIApplication.shared.openURL(URL(string: TravelHandler.website)!) UIApplication.shared.openURL(URL(string: TravelHandler.website)!)
} }
......
...@@ -67,10 +67,11 @@ class SendViewController: UIViewController { ...@@ -67,10 +67,11 @@ class SendViewController: UIViewController {
var invite: Bool = false var invite: Bool = false
var enforcePostcard: Bool = false var enforcePostcard: Bool = false
var contactsWithRepealedKeys: [String] = [] var contactsWithRepealedKeys: [String] = []
var composesTravelFollowUpReminder: Bool = false
var presentTravelDialog: Bool { var presentTravelDialog: Bool {
for contact in (dataDelegate.entriesWithRepealedKeys(toText) + dataDelegate.entriesWithRepealedKeys(ccText)) { for contact in (dataDelegate.entriesWithRepealedKeys(toText) + dataDelegate.entriesWithRepealedKeys(ccText)) {
if !contactsWithRepealedKeys.contains(contact) { if !contactsWithRepealedKeys.contains(contact) && !composesTravelFollowUpReminder {
return true return true
} }
} }
...@@ -354,6 +355,23 @@ class SendViewController: UIViewController { ...@@ -354,6 +355,23 @@ class SendViewController: UIViewController {
let mail = EphemeralMail(to: NSSet.init(array: to), cc: NSSet.init(array: cc), bcc: NSSet.init(), date: Date(), subject: NSLocalizedString("inviteSubject", comment: "Subject for the invitation mail"), body: "\n\nMehr Informationen unter https://userpage.fu-berlin.de/letterbox/", uid: 0, predecessor: nil) let mail = EphemeralMail(to: NSSet.init(array: to), cc: NSSet.init(array: cc), bcc: NSSet.init(), date: Date(), subject: NSLocalizedString("inviteSubject", comment: "Subject for the invitation mail"), body: "\n\nMehr Informationen unter https://userpage.fu-berlin.de/letterbox/", uid: 0, predecessor: nil)
controller.prefilledMail = mail controller.prefilledMail = mail
} }
} else if segue.identifier == "travelFollowUpReminder" {
let navigationController = segue.destination as? UINavigationController
if let controller = navigationController?.topViewController as? SendViewController {
controller.invite = true
var to = [MailAddress]()
var cc = [MailAddress]()
for mail in contactsWithRepealedKeys {
to.append(DataHandler.handler.getMailAddress(mail, temporary: false))
}
let body = NSLocalizedString("travelFollowUpReminderText", comment: "Body for the reminder mail")
let mail = EphemeralMail(to: NSSet.init(array: to), cc: [], subject: NSLocalizedString("travelFollowUpReminderSubject", comment: "Subject for the reminder mail"), body: body)
controller.prefilledMail = mail
controller.composesTravelFollowUpReminder = true
}
} }
} }
......
...@@ -186,6 +186,8 @@ ...@@ -186,6 +186,8 @@
"TravelInfo.Title" = "Empfänger auf Reisen"; "TravelInfo.Title" = "Empfänger auf Reisen";
"TravelInfo.Message" = "Einige der Empfänger befinden sich momentan auf Reisen während einer Grenzkontrolle. Daher haben sie es temporär deaktiviert, dass man ihnen Briefe schreiben kann. Schreibe ihnen doch eine Postkarte, dass du ihnen gerne einen Brief schreiben möchtest. Dann vergessen sie nicht, das Austauschen von Briefen nach der Kontrolle wieder zu aktivieren."; "TravelInfo.Message" = "Einige der Empfänger befinden sich momentan auf Reisen während einer Grenzkontrolle. Daher haben sie es temporär deaktiviert, dass man ihnen Briefe schreiben kann. Schreibe ihnen doch eine Postkarte, dass du ihnen gerne einen Brief schreiben möchtest. Dann vergessen sie nicht, das Austauschen von Briefen nach der Kontrolle wieder zu aktivieren.";
"TravelInfo.Remember" = "An Aktivierung erinnern"; "TravelInfo.Remember" = "An Aktivierung erinnern";
"travelFollowUpReminderText" = "Hi,\n\nich würde dir gerne einen Brief schreiben! Wenn du die Grenzkontrollen passiert hast, gib das bitte schnell in der Letterbox App an. Dann kann ich dir den Brief senden.\n\nSchöne Grüße!";
"travelFollowUpReminderSubject" = "Grenzkontrollen passiert?";
"newKeyHeadline" = "Neues Schloss"; "newKeyHeadline" = "Neues Schloss";
"newKeyText" = "Diese Nachricht wurde mit einem neuem Schloss verbunden. Dies kann passieren wenn der Gesprächspartner ein neues Gerät hat oder wenn ein Dritter diese Nachricht gefälscht hat."; "newKeyText" = "Diese Nachricht wurde mit einem neuem Schloss verbunden. Dies kann passieren wenn der Gesprächspartner ein neues Gerät hat oder wenn ein Dritter diese Nachricht gefälscht hat.";
"inviteContacts" = "Unsichere Kontakte einladen"; "inviteContacts" = "Unsichere Kontakte einladen";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment