Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b19709a5 authored by Alexandre Roux's avatar Alexandre Roux
Browse files

new field nc_id to replace message once it is sent

parent 6c89caa9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -49,6 +49,13 @@
				<length>10</length>
				<primary>true</primary>
			</field>
			<field>
				<name>nc_id</name>
				<type>integer</type>
				<default>-1</default>
				<notnull>true</notnull>
				<length>10</length>
			</field>
			<field>
				<name>user_id</name>
				<type>text</type>
+7 −2
Original line number Diff line number Diff line
@@ -203,7 +203,7 @@ class SmsMapper extends Mapper {

		foreach ($phlst as $pn => $val) {
			$qb = $this->db->getQueryBuilder();
			$qb->select('sms_date', 'sms_msg', 'sms_type', 'sms_sent', 'sms_card_number', 'sms_card_slot', 'sms_icc_id', 'sms_device_name', 'sms_carrier_name')
			$qb->select('id', 'nc_id', 'sms_date', 'sms_msg', 'sms_type', 'sms_sent', 'sms_card_number', 'sms_card_slot', 'sms_icc_id', 'sms_device_name', 'sms_carrier_name')
				->from('esms_smsdatas')
				->where($qb->expr()->andX(
					$qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
@@ -218,6 +218,8 @@ class SmsMapper extends Mapper {

			while ($row = $result->fetch()) {
				$messageList[$row["sms_date"]] = array(
					"id" => $row['id'],
					"nc_id" => intval($row['nc_id']),
					"msg" =>  $row["sms_msg"],
					"sent" =>  $row["sms_sent"],
					"card_number" =>  $row["sms_card_number"],
@@ -251,7 +253,7 @@ class SmsMapper extends Mapper {
		$messageList = array();

		$qb = $this->db->getQueryBuilder();
		$qb->select('sms_address', 'sms_date', 'sms_msg', 'sms_type', 'sms_mailbox', 'sms_card_number', 'sms_card_slot', 'sms_icc_id', 'sms_device_name', 'sms_carrier_name')
		$qb->select('id', 'nc_id', 'sms_address', 'sms_date', 'sms_msg', 'sms_type', 'sms_mailbox', 'sms_card_number', 'sms_card_slot', 'sms_icc_id', 'sms_device_name', 'sms_carrier_name')
			->from('esms_smsdatas')
			->where($qb->expr()->andX(
				$qb->expr()->eq('user_id', $qb->createNamedParameter($userId)),
@@ -264,6 +266,8 @@ class SmsMapper extends Mapper {

		while ($row = $result->fetch()) {
			$messageList[$row["sms_date"]] = array(
				"id" => intval($row['id']),
				"nc_id" => intval($row['nc_id']),
				"address" => $row["sms_address"],
				"mailbox" => intval($row["sms_mailbox"]),
				"msg" => $row["sms_msg"],
@@ -467,6 +471,7 @@ class SmsMapper extends Mapper {
			$qb->insert('esms_smsdatas')
				->values(array(
					'user_id' => $qb->createNamedParameter($userId),
					'nc_id' => $qb->createNamedParameter((int) $sms["nc_id"]),
					'added' => $qb->createNamedParameter($now),
					'lastmodified' => $qb->createNamedParameter($now),
					'sms_flags' => $qb->createNamedParameter($smsFlags),
+14 −0
Original line number Diff line number Diff line
@@ -128,10 +128,23 @@ var Conversation = new Vue({
					// Multiplicate ID to permit date to use it properly
					self.addConversationMessage({
						'id': id,
						'nc_id': vals['nc_id'],
						'db_id': vals['id'],
						'sent': vals['sent'],
						'type': msgClass,
						'date': new Date(id * 1),
						'content': twemoji.parse(anchorme(escapeHTML(vals['msg'])), twemojiOptions)
					});
					if (vals['nc_id'] != -1) {
						var i = 0;
						for (var msg of self.messages) {
							if (msg['db_id'] == vals['nc_id']) {
								self.messages.splice(i, 1);
								break;
							}
							i++;
						}
					}
					buf = true;
					msgCount++;
				}
@@ -171,6 +184,7 @@ var Conversation = new Vue({
			sms['smsDatas'] = [];
			sms['smsDatas'][0] = {};
			sms['smsDatas'][0]['date'] = Date.now();
			sms['smsDatas'][0]['nc_id'] = -1;
			sms['smsDatas'][0]['type'] = 2;
			sms['smsDatas'][0]['_id'] = -1;
			sms['smsDatas'][0]['mbox'] = 1;
+1 −1
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ use \OCA\ESms\Lib\CountryCodes;
			<div v-if="messages.length > 0" class="esms-conversation-container">
            <div id="esms-messages-container" style="height:100%; overflow-y:auto;">
				<div v-for="message in orderedMessages">
					<div v-bind:class="['msg-'+  message.type]">
					<div v-bind:class="['msg-'+  message.type, 'sent-'+  message.sent]">
						<div v-html="message.content"></div>
						<div style="display: block;" id="esms-message-removal" class="icon-delete svn delete action" v-on:click="removeConversationMessage(message.id);"></div>
						<div class="msg-date">{{ message.date | date:'medium' }}</div>