Skip to content
Snippets Groups Projects
Commit 85ca44f8 authored by S.Listl's avatar S.Listl
Browse files

Letter upload own document

parent aba587c0
No related branches found
No related tags found
No related merge requests found
Showing
with 56 additions and 6 deletions
......@@ -4,4 +4,5 @@
<include relativeToChangelogFile="true" file="update_attribute_Ticket_Support_Product.xml"/>
<include relativeToChangelogFile="true" file="alter_SerialLetter.xml"/>
<include relativeToChangelogFile="true" file="insert_SerialLetterStatus_keyword.xml"/>
</databaseChangeLog>
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.listl" id="4c5659dd-16cb-435a-b573-74bc697989d1">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="8898350e-fd68-45b5-97d6-618d867e53b7"/>
<column name="KEYID" value="SERIALLETTERNOTSENT "/>
<column name="TITLE" value="Not sent"/>
<column name="CONTAINER" value="SerialLetterStatus"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="f2fb362a-97d3-4c1d-8496-20abc99973ec"/>
<column name="KEYID" value="SERIALLETTERSENT "/>
<column name="TITLE" value="Sent"/>
<column name="CONTAINER" value="SerialLetterStatus"/>
<column name="SORTING" valueNumeric="2"/>
<column name="ISACTIVE" valueNumeric="1"/>
</insert>
</changeSet>
</databaseChangeLog>
......@@ -7,7 +7,7 @@ import("KeywordRegistry_basic");
import("Entity_lib");
var contactId = vars.get("local.value");
if (BulkMailUtils.isRecipient(vars.get("$field.BULKMAIL_ID"), contactId))
if (BulkMailUtils.isRecipient(vars.get("$field.BULKMAIL_ID"), contactId, vars.get("$field.BULKMAILRECIPIENTID")))
result.string(translate.text("The contact is already a recipient!"));
else if (ContactUtils.hasCommRestriction(contactId, $KeywordRegistry.communicationMediumCampaign$mail()))
result.string(translate.text("The contact has an advertising ban for emails!"));
\ No newline at end of file
......@@ -93,6 +93,8 @@
<entityField>
<name>ADDRESS_ID</name>
<title>Address</title>
<state>READONLY</state>
<displayValueProcess>%aditoprj%/entity/LetterRecipient_entity/entityfields/address_id/displayValueProcess.js</displayValueProcess>
</entityField>
</entityFields>
<recordContainers>
......
import("system.vars");
import("PostalAddress_lib");
import("system.result");
result.string(AddressUtils.getFormattedOnlineAddressById(vars.get("$field.ADDRESS_ID")));
\ No newline at end of file
......@@ -7,7 +7,7 @@ import("KeywordRegistry_basic");
import("Entity_lib");
var contactId = vars.get("local.value");
if (SerialLetterUtils.isRecipient(vars.get("$field.SERIALLETTER_ID"), contactId))
if (SerialLetterUtils.isRecipient(vars.get("$field.SERIALLETTER_ID"), contactId, vars.get("$field.SERIALLETTER_ID")))
result.string(translate.text("The contact is already a recipient!"));
if (ContactUtils.hasCommRestriction(contactId, $KeywordRegistry.communicationMediumCampaign$letter()))
result.string(translate.text("The contact has an advertising ban for letters!"));
\ No newline at end of file
import("system.logging");
import("system.translate");
import("Contact_lib");
import("ActivityTask_lib");
......@@ -7,7 +8,8 @@ import("system.text");
import("DocumentTemplate_lib");
import("KeywordRegistry_basic");
var template = DocumentTemplate.loadTemplate(vars.get("$field.DOCUMENT_TEMPLATE"));
var template = DocumentTemplate.getSelectedTemplate(vars.get("$field.DOCUMENT_TEMPLATE"), vars.get("$field.bindata"));
logging.log(vars.get("$field.bindata").split(";").join(";\n"))
var contactId = vars.get("$param.ContactId_param");
var content = template.getReplacedContentByContactId(contactId, true);
if (template.type)
......
......@@ -18,6 +18,10 @@
<name>5919fb0b-13d8-4cd3-8110-89722d97f4e1</name>
<entityField>DOCUMENT_TEMPLATE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>6513b2f4-d7c8-4bbe-b31a-290cf9bf7ded</name>
<entityField>bindata</entityField>
</entityFieldLink>
</fields>
</genericViewTemplate>
</children>
......
......@@ -225,13 +225,15 @@ BulkMailUtils.getBulkMailTemplate = function (pBulkMailId, pDocumentTemplateId)
*
* @param {String} pBulkMailId bulkmail id
* @param {String} pContactId contact id
* @param {String} pRecipientId bulkmailrecipient id
* @return {boolean} true, if the contact is a recipient
*/
BulkMailUtils.isRecipient = function (pBulkMailId, pContactId)
BulkMailUtils.isRecipient = function (pBulkMailId, pContactId, pRecipientId)
{
return db.cell(SqlCondition.begin()
.andPrepare("BULKMAILRECIPIENT.CONTACT_ID", pContactId)
.andPrepare("BULKMAILRECIPIENT.BULKMAIL_ID", pBulkMailId)
.andPrepareIfSet("BULKMAILRECIPIENT.BULKMAILRECIPIENTID", pRecipientId, "# != ?")
.buildSql("select count(*) from BULKMAILRECIPIENT") //TODO: is there a way exists could be used?
) != "0";
}
......@@ -333,13 +335,15 @@ SerialLetterUtils.buildSerialLetter = function (pSerialLetterId, pRecipientIds)
*
* @param {String} pSerialLetterId serial letter id
* @param {String} pContactId contact id
* @param {String} [pRecipientId] letter recipient id
* @return {boolean} true, if the contact is a recipient
*/
SerialLetterUtils.isRecipient = function (pSerialLetterId, pContactId)
SerialLetterUtils.isRecipient = function (pSerialLetterId, pContactId, pRecipientId)
{
return db.cell(SqlCondition.begin()
.andPrepare("LETTERRECIPIENT.CONTACT_ID", pContactId)
.andPrepare("LETTERRECIPIENT.SERIALLETTER_ID", pSerialLetterId)
.andPrepareIfSet("LETTERRECIPIENT.LETTERRECIPIENTID", pRecipientId, "# != ?")
.buildSql("select count(*) from LETTERRECIPIENT") //TODO: is there a way exists could be used?
) != "0";
}
......
......@@ -138,7 +138,13 @@ DocumentTemplate.fromUpload = function (pUploadValue)
var bindata = DocumentUtil.getBindataFromUpload(pUploadValue);
var mimeType = DocumentUtil.getMimeTypeFromUpload(pUploadValue);
var filename = DocumentUtil.getFilenameFromUpload(pUploadValue);
var type = DocumentTemplate.types.fromMimeType(mimeType);
var type;
//if the mimetype couldn't be determined, check the file extension
if (mimeType == "application/octet-stream")
type = DocumentTemplate.types.fromFileExtension(DocumentUtil.getFileExtensionFromUpload(filename));
else
type = DocumentTemplate.types.fromMimeType(mimeType);
return new DocumentTemplate(bindata, type, filename);
}
......
......@@ -194,6 +194,10 @@ $KeywordRegistry.bulkMailStatus$notSent = function(){return $KeywordRegistry._au
$KeywordRegistry.bulkMailStatus$beingSent = function(){return $KeywordRegistry._autoPad("BULKMAILBEINGSENT");};
$KeywordRegistry.bulkMailStatus$sent = function(){return $KeywordRegistry._autoPad("BULKMAILSENT");};
$KeywordRegistry.serialLetterStatus = function(){return "SerialLetterStatus";};
$KeywordRegistry.serialLetterStatus$notSent = function(){return $KeywordRegistry._autoPad("SERIALLETTERNOTSENT");};
$KeywordRegistry.serialLetterStatus$sent = function(){return $KeywordRegistry._autoPad("SERIALLETTERSENT");};
$KeywordRegistry.callDirection = function(){return "CallDirection";};
$KeywordRegistry.callDirection$incoming = function(){return $KeywordRegistry._autoPad("INC");};
$KeywordRegistry.callDirection$outgoing = function(){return $KeywordRegistry._autoPad("OUT");};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment