diff --git a/server/api/controller/cron.js b/server/api/controller/cron.js index 47da70687..15d6a6826 100644 --- a/server/api/controller/cron.js +++ b/server/api/controller/cron.js @@ -404,8 +404,11 @@ async function fetchTreePermit(crawlMethod){ const fetchPlanStatus = () => { var mavatStatus = null; + const mavatStatusList = []; + var mavatStatusApprove, mavatStatusCancel, mavatStatusObjection, mavatStatusDone; const planStatusLimit = Config.get('planStatusChange.limit'); Log.info('plan limit:', planStatusLimit); + const lastVisitedDifference = Config.get('planStatusChange.lastVisitedDifference'); //days const timeDifference = moment.duration(lastVisitedDifference, 'd'); const date = moment().subtract(timeDifference); @@ -414,6 +417,7 @@ const fetchPlanStatus = () => { qb.leftJoin('status_mapping', 'plan.status', '=' ,'status_mapping.mavat_status') .whereRaw(`(status_mapping.meirim_status is null or status_mapping.meirim_status != '${meirimStatuses.APPROVED}') and plan.MP_ID NOT LIKE \'NOT_FOUND\' and (plan.last_visited_status < '${dateString}' OR plan.last_visited_status IS NULL)`) .orderBy('plan.last_visited_status','asc'); + qb.limit(planStatusLimit); }) .fetchAll() @@ -442,7 +446,20 @@ const fetchPlanStatus = () => { await plan.save({ 'last_visited_status': now }); return; } - const mostRecentStatus = mostRecent[0].attributes.status; + + if (mavatStatus === null) { + const res = await PlanStatusChange.getAllStatuses(); + mavatStatus = createStatusMap(res[0], mavatStatusList); + mavatStatusApprove = mavatStatus.get(meirimStatuses.APPROVED); + mavatStatusCancel = mavatStatus.get(meirimStatuses.CANCELLED); + mavatStatusObjection = mavatStatus.get(meirimStatuses.PUBLIC_OBJECTION); + mavatStatusDone = mavatStatusApprove.concat(mavatStatusCancel); + } + + const mostRecentStatus = getLatestExistingStatus(mostRecent, mavatStatusList); + if (mostRecentStatus === null) { + mostRecentStatus = mostRecent[0].attributes.status; + } Log.debug('updating plan status to:', mostRecentStatus); await plan.save({ 'last_visited_status': now , 'status': mostRecentStatus }); @@ -450,11 +467,13 @@ const fetchPlanStatus = () => { await PlanStatusChange.savePlanStatusChange(planStatuses); // get all relevant mavat status for deposited plan - if (mavatStatus === null) { - const res = await PlanStatusChange.byMeirimStatus(meirimStatuses.PUBLIC_OBJECTION); - mavatStatus = res[0].map(rec => rec.mavat_status); + if (Config.get('email.send_plan_deposit_email') && plan.attributes.status_email === 0) { + await sendEmailIfNeeded(plan, planStatuses, mavatStatusObjection, meirimStatuses.PUBLIC_OBJECTION); + } + if (Config.get('email.send_plan_end_email') && plan.attributes.status_email < 3) { + await sendEmailIfNeeded(plan, planStatuses, mavatStatusDone, + mavatStatusCancel.indexOf(mostRecentStatus) >= 0 ? meirimStatuses.CANCELLED : meirimStatuses.APPROVED); } - await sendEmailIfNeeded(plan, planStatuses, mavatStatus); } catch (err) { Log.error('Error:', err.message); @@ -472,28 +491,52 @@ const fetchPlanStatus = () => { )); }; +function getLatestExistingStatus(planStatuses, mavatStatusList) { + for (var i = 0; i < planStatuses.length; ++i) { + var status = planStatuses[i].attributes.status; + if (mavatStatusList.indexOf(status) >= 0) { + return status; + } + } + return null; +} + +function createStatusMap(res, mavatStatusList) { + const groupedMap = new Map(); + for (const e of res) { + if (!groupedMap.has(e.meirim_status)) { + groupedMap.set(e.meirim_status, []); + } + groupedMap.get(e.meirim_status).push(e.mavat_status); + mavatStatusList.push(e.mavat_status); + } + return groupedMap; +} + /** * Check if plan is now in deposited status and send email to watching users * @param {*} plan * @param {*} planStatuses - plan statuses - * @param {*} mavatStatus - all mavat status for deposited plan + * @param {*} mavatStatus - all relevant mavat status for plan + * @param {*} meirimStatus - plan meirim status */ -async function sendEmailIfNeeded(plan, planStatuses, mavatStatus) { - if (Config.get('email.send_plan_deposit_email') !== true) { - return false; - } - var sendEmail = shouldSendEmail(plan, planStatuses, mavatStatus); +async function sendEmailIfNeeded(plan, planStatuses, mavatStatus, meirimStatus) { + var sendEmail = shouldSendEmail(planStatuses, mavatStatus); if (sendEmail) { PlanPerson.getUsersForPlan(plan.get('id')) .then(users => { if (!users[0] || !users[0].length) { return sendEmail; } - return Bluebird.mapSeries(users[0], user => - Email.planDepositAlert(user, plan) - ); + return Bluebird.mapSeries(users[0], user => { + if (meirimStatus === meirimStatuses.PUBLIC_OBJECTION) Email.planDepositAlert(user, plan) + else Email.donePlanAlert(user, plan, meirimStatus) + }); + }) + .then(a => { + if (meirimStatus === meirimStatuses.PUBLIC_OBJECTION) plan.save({ 'status_email': 1 }); + else plan.save({ 'status_email': 3 }); }) - .then(plan.save({ 'was_deposited': true })) .then(a => {return sendEmail;}) .catch(err => Log.error('Error:', err.message)) ; @@ -501,16 +544,14 @@ async function sendEmailIfNeeded(plan, planStatuses, mavatStatus) { return sendEmail; } -function shouldSendEmail(plan, planStatuses, mavatStatus) { +function shouldSendEmail(planStatuses, mavatStatus) { var sendEmail = false; - if (!plan.attributes.was_deposited) { - for (var i = 0; i < planStatuses.length; ++i) { - const status = planStatuses[i]; - if (Boolean(status.attributes.status) && mavatStatus.indexOf(status.attributes.status) >= 0) { - sendEmail = true; - } + for (var i = 0; i < planStatuses.length; ++i) { + const status = planStatuses[i]; + if (Boolean(status.attributes.status) && mavatStatus.indexOf(status.attributes.status) >= 0) { + sendEmail = true; } - } + } return sendEmail; } diff --git a/server/api/lib/log.js b/server/api/lib/log.js index 5d4b65135..4dc77c972 100644 --- a/server/api/lib/log.js +++ b/server/api/lib/log.js @@ -30,14 +30,18 @@ logger.level = 'debug'; module.exports = { debug: (...args) => { logger.debug(args); + console.log (args); }, info: (...args) => { logger.info(args); + console.log (args); }, error: (...args) => { logger.error(args); + console.log (args); }, warn: (...args) => { logger.warn(args); + console.log (args); } }; diff --git a/server/api/model/plan_status_change.js b/server/api/model/plan_status_change.js index a823ff534..bba3b9c7c 100644 --- a/server/api/model/plan_status_change.js +++ b/server/api/model/plan_status_change.js @@ -73,13 +73,10 @@ class PlanStatusChange extends Model { * @param {meirimStatus} string * @returns array of mavat statuses */ - static async byMeirimStatus(meirimStatus) { + static async getAllStatuses() { const res = await Knex.raw( - `SELECT m.mavat_status - FROM status_mapping m - WHERE meirim_status=?` - , [meirimStatus] - ); + `SELECT m.mavat_status, m.meirim_status + FROM status_mapping m`); return res; } } diff --git a/server/api/service/email.js b/server/api/service/email.js index 79102ce77..1634c4d23 100644 --- a/server/api/service/email.js +++ b/server/api/service/email.js @@ -12,6 +12,7 @@ const Juice = require('juice'); const Log = require('../lib/log'); const Config = require('../lib/config'); const Alert = require('../model/alert'); +const { meirimStatuses } = require('../constants'); class Email { /** @@ -145,6 +146,47 @@ class Email { return this.sendWithTemplate(this.templates.planDeposit, data); } + donePlanAlert (user, unsentPlan, meirimStatus, planStaticMap) { + const alert = new Alert({ + id: user.alert_id, + person_id: user.person_id + }); + const data = user; + + Object.assign(data, unsentPlan.attributes); + if (data.data.DEPOSITING_DATE) { + const dates = data.data.DEPOSITING_DATE.split('T'); + data.data.DEPOSITING_DATE = dates[0]; + } + + + if (meirimStatus === meirimStatuses.APPROVED) { + data.data.PLAN_STATE_DESC = 'אושרה'; + data.data.PLAN_STATE_LONG = meirimStatuses.APPROVED; + } else { + data.data.PLAN_STATE_DESC = 'בוטלה'; + data.data.PLAN_STATE_LONG = meirimStatuses.CANCELLED; + } + + data.unsubscribeLink = + `${this.baseUrl}alerts/unsubscribe/${alert.unsubsribeToken()}`; + data.link = `${this.baseUrl}plan/${unsentPlan.get('id')}`; + data.jurisdiction = unsentPlan.get('jurisdiction'); + data.isLocalAuthority = data.jurisdiction === 'מקומית'; + data.type = 'plan-alert'; + + data.attachments = [ + { + cid: 'planmap', + filename: 'plan_map.png', + content: planStaticMap, + encoding: 'base64' + } + ]; + + return this.sendWithTemplate(this.templates.planDone, data); + } + formatDate(date) { const d = new Date(date); return `${(d.getDate() > 9) ? d.getDate() : ('0' + d.getDate())}/${(d.getMonth() > 8) ? (d.getMonth() + 1) : ('0' + (d.getMonth() + 1))}/${d.getFullYear()}`; diff --git a/server/api/service/email/planDone.mustache b/server/api/service/email/planDone.mustache new file mode 100644 index 000000000..3ea263396 --- /dev/null +++ b/server/api/service/email/planDone.mustache @@ -0,0 +1,70 @@ + + + +
+{"planDetails":{"ID":2005133734.0,"DESCRIPTOR":"תוכנית","NUMB":"262-0907907","ENTITY_SUBTYPE":"תכנית מתאר מקומית","ENTITY_TYPE_ID":1.0,"E_NAME":"שינוי בהוראות וזכויות הבניה בית עטיה אבו סאלח - סכנין","AUTH":"מקומית","PERMISSIONS":"תכנית שמכוחה ניתן להוציא היתרים או הרשאות","DETAILED":1.0,"THREE_D":0.0,"UNITY":"ללא איחוד וחלוקה","PHASE":"הגשה","ENTITY_PHASE_CODE":0.0,"EDITION":1.0,"EDITION_DATE":null,"GOALS":"שינוי בהוראות וזכויות הבניה במגרש בנוי בשכונה המזרחית בסכנין","INSTRACTIONS":"הסדרת קוי בניין\r\nהגדלת תכסית קרקע\r\nהגדלת אחוזי בניה\r\nקביעת תנאים להריסת סככה חורגת בתוואי דרך\r\nקביעת תנאים למתן היתר בניה","ARTICLE":"62א (א) (5)","MASTER_ID":2005099108.0,"LAST_UPDATE_DATE":null,"DETAILED_DESC":"כן"},"rsLocation":[{"DISTRICT_AREA_CODE":2.0,"DISTRICT_AREA":"צפון","PLAN_AREA_CODE":262.0,"PLAN_AREA":"לב הגליל","JURST_AREA_CODE":7500.0,"JURST_AREA":"סח'נין","CITY_COUNTY_CODE":7500.0,"CITY_COUNTY":"סח'נין","STREET_CODE":null,"STREET_NAME":null,"HOUSE_NUMBER":null}],"rsBlocks":[{"BLOCKS":"19316","BLOCK_TYPE":"מוסדר","BLOCK_PARTIALITY_CODE":"ח","BLOCK_PARTIALITY":"חלק","PARCELS_WHOLE":"","PARCELS_PARTIAL":"44"}],"rsInternet":[{"EIS_ENTITY_ID":2005100340.0,"LIS_DESC":"פרסום להפקדה ברשומות","EIS_DATE":"05/04/2021","DETAILS":"תאריך פרסום: 05/04/2021. מס' ילקוט פרסומים: 9516. עמוד: 4671. שנה עברית: התשפא . <a href='http://www.nevo.co.il/Law_word/law10/yalkut-9516.pdf' target=_blank><img src='../images/nevo_logo.jpg' border=0 /></a>","ED_PUBLICATION_FILE":9516.0,"STATUS_PRINT_VERSION":2.0,"STATUS_TASRIT_VERSION":2.0,"ROWNUMBER":1.0,"LIS_CODE":4400.0},{"EIS_ENTITY_ID":2005100340.0,"LIS_DESC":"פרסום נוסח הודעה בדבר הפקדת תכנית באתר אינטרנט","EIS_DATE":"30/03/2021","DETAILS":" ","ED_PUBLICATION_FILE":0.0,"STATUS_PRINT_VERSION":2.0,"STATUS_TASRIT_VERSION":2.0,"ROWNUMBER":1.0,"LIS_CODE":7890.0},{"EIS_ENTITY_ID":2000320107.0,"LIS_DESC":"בדיקת תנאי סף-קיום תנאי סף","EIS_DATE":"14/10/2020","DETAILS":null,"ED_PUBLICATION_FILE":null,"STATUS_PRINT_VERSION":1.0,"STATUS_TASRIT_VERSION":1.0,"ROWNUMBER":1.0,"LIS_CODE":23301020.0}],"rsDes":[{"MMI_MEETING_ID":2000060072.0,"DISTINCT_NAME":"צפון","COMMITTE_NAME":"ועדה מחוזית לתכנון ולבניה מחוז הצפון - עיון/אישור השר - מחוז צפון","CM_NAME":"ועדה מחוזית לתכנון ולבניה מחוז הצפון","FO_NAME":"עיון/אישור השר - מחוז צפון","FO_SUB_FORUM_OF":10.0,"MEETING_NO":2021036.0,"MEETING_DATE":"14/06/2021","ENTITY_DOC_ID":null,"ATTACHMENT_ID":null,"FILE_TYPE":null,"ENTITY_DOC_ID1":null,"ATTACHMENT_ID1":null,"FILE_TYPE1":null,"ENTITY_DOC_ID_10":null,"ATTACHMENT_ID_10":null,"FILE_TYPE_10":null,"ENTITY_DOC_ID_110":null,"ATTACHMENT_ID_110":null,"FILE_TYPE_110":null,"MEETING_CODE":2000060072.0,"MMI_DESICIONS":" ","ENTITY_DOC_ID_20":null,"ATTACHMENT_ID_20":null,"FILE_TYPE_20":null}],"rsDesInvited":[{"MM_ID":2000060072.0,"MMI_ENTITY_ID":2005099108.0,"MIF_MM_ID":2000060072,"MIF_ITEM_ID":0,"MIF_INV_ID":1627,"PRP_FULL_NAME":"קרקליס דן"},{"MM_ID":2000060072.0,"MMI_ENTITY_ID":2005099108.0,"MIF_MM_ID":2000060072,"MIF_ITEM_ID":0,"MIF_INV_ID":5019493,"PRP_FULL_NAME":"אביטבול אריה"},{"MM_ID":2000060072.0,"MMI_ENTITY_ID":2005099108.0,"MIF_MM_ID":2000060072,"MIF_ITEM_ID":0,"MIF_INV_ID":99014349,"PRP_FULL_NAME":"אילן אורי"}],"rsPubDocs":[{"DOC_NAME":"נוסח הודעה בערבית בדבר אישור תכנית / בקשה","DOC_INFO":null,"PLAN_ENTITY_DOC_ID":88000770327939.0,"EDITING_DATE":"20220316","ATTACHMENT_ID":88000020167421.0,"FILE_TYPE":"pdf ","IS_FROM_DEMAND":1.0},{"DOC_NAME":"נוסח הודעה בערבית על הפקדת תכנית","DOC_INFO":null,"PLAN_ENTITY_DOC_ID":88000661941729.0,"EDITING_DATE":"20210330","ATTACHMENT_ID":88000017130017.0,"FILE_TYPE":"pdf ","IS_FROM_DEMAND":1.0},{"DOC_NAME":"נוסח הודעה על אישור תכנית / בקשה","DOC_INFO":null,"PLAN_ENTITY_DOC_ID":88000770327937.0,"EDITING_DATE":"20220316","ATTACHMENT_ID":88000020167417.0,"FILE_TYPE":"docx ","IS_FROM_DEMAND":1.0},{"DOC_NAME":"נוסח הודעה על הפקדת תכנית / בקשה","DOC_INFO":null,"PLAN_ENTITY_DOC_ID":88000661941727.0,"EDITING_DATE":"20210330","ATTACHMENT_ID":88000017130013.0,"FILE_TYPE":"docx ","IS_FROM_DEMAND":1.0},{"DOC_NAME":"נוסח פרסום חתום - pdf","DOC_INFO":"נוסח הפקדה חתום","PLAN_ENTITY_DOC_ID":77000002296852.0,"EDITING_DATE":"20210330","ATTACHMENT_ID":77002810570.0,"FILE_TYPE":"pdf ","IS_FROM_DEMAND":0.0},{"DOC_NAME":"נוסח פרסום חתום - pdf","DOC_INFO":"נוסח אישור חתום","PLAN_ENTITY_DOC_ID":77000002679360.0,"EDITING_DATE":"20220316","ATTACHMENT_ID":77003192764.0,"FILE_TYPE":"pdf ","IS_FROM_DEMAND":0.0},{"DOC_NAME":"נוסח פרסום עברית -word","DOC_INFO":"נוסח פרסום בדבר הפקדת תכנית","PLAN_ENTITY_DOC_ID":77000002293074.0,"EDITING_DATE":"20210324","ATTACHMENT_ID":77002806810.0,"FILE_TYPE":"docx ","IS_FROM_DEMAND":0.0},{"DOC_NAME":"נוסח פרסום עברית -word","DOC_INFO":"נוסח פרסום בדבר אישור תכנית","PLAN_ENTITY_DOC_ID":77000002679356.0,"EDITING_DATE":"20220316","ATTACHMENT_ID":77003192760.0,"FILE_TYPE":"docx ","IS_FROM_DEMAND":0.0},{"DOC_NAME":"נוסח פרסום ערבית - pdf","DOC_INFO":"נוסח הפקדה - ערבית","PLAN_ENTITY_DOC_ID":77000002293076.0,"EDITING_DATE":"20210324","ATTACHMENT_ID":77002806812.0,"FILE_TYPE":"pdf ","IS_FROM_DEMAND":0.0},{"DOC_NAME":"נוסח פרסום ערבית - pdf","DOC_INFO":"נוסח אישור - ערבית","PLAN_ENTITY_DOC_ID":77000002679364.0,"EDITING_DATE":"20220316","ATTACHMENT_ID":77003192768.0,"FILE_TYPE":"pdf ","IS_FROM_DEMAND":0.0}],"locationDesc":"צמוד למתחם עיריית סכנין מצד דרום","rsOppositions":[],"rsLocalPlanActions":[{"ACTION_ID":77000054864.0,"CM_NAME":"ועדה מקומית לתכנון ולבניה לב הגליל","PMFP_SUBMIT_ACTION_CODE":202.0,"SUBMIT_PORPUSE_CODE":110.0,"SUBMIT_PORPUSE_DESC":"נוסח הודעה בדבר אישור תכנית","CREATOR":"אבו ריא סוסאן","ACTION_DATE":"01/03/2022","SENT_DATE":"16/03/2022 13:59","CREATE_DATE":"01/03/2022 13:42","TASRIT_VERSION":3.0,"ORDER_VERSION":3.0,"TEMPLATE_EXISTS":0.0,"DOCS_EXISTS":0.0,"ACTION_UPDATABLE":3.0,"ED_IDS":"88000770327937,88000770327939","AT_IDS":"88000770327937,88000770327939","FILE_NAME":"ACTDOCS_77000054864.zip","DOC_COUNT":2.0},{"ACTION_ID":77000046606.0,"CM_NAME":"ועדה מקומית לתכנון ולבניה לב הגליל","PMFP_SUBMIT_ACTION_CODE":200.0,"SUBMIT_PORPUSE_CODE":100.0,"SUBMIT_PORPUSE_DESC":"נוסח הודעה בדבר הפקדת תכנית","CREATOR":"אבו ריא סוסאן","ACTION_DATE":"22/03/2021","SENT_DATE":"30/03/2021 10:42","CREATE_DATE":"22/03/2021 15:47","TASRIT_VERSION":2.0,"ORDER_VERSION":2.0,"TEMPLATE_EXISTS":0.0,"DOCS_EXISTS":0.0,"ACTION_UPDATABLE":3.0,"ED_IDS":"88000661941727,88000661941729","AT_IDS":"88000661941727,88000661941729","FILE_NAME":"ACTDOCS_77000046606.zip","DOC_COUNT":2.0},{"ACTION_ID":77000042516.0,"CM_NAME":"ועדה מקומית לתכנון ולבניה לב הגליל","PMFP_SUBMIT_ACTION_CODE":20.0,"SUBMIT_PORPUSE_CODE":20.0,"SUBMIT_PORPUSE_DESC":"הודעה על הגשת תכנית לועדה מקומית","CREATOR":"אבו ריא סוסאן","ACTION_DATE":"14/10/2020","SENT_DATE":"14/10/2020 11:16","CREATE_DATE":"14/10/2020 11:12","TASRIT_VERSION":1.0,"ORDER_VERSION":1.0,"TEMPLATE_EXISTS":1.0,"DOCS_EXISTS":0.0,"ACTION_UPDATABLE":3.0,"ED_IDS":"6000614156677","AT_IDS":"6000614156677","FILE_NAME":"ACTDOCS_77000042516.zip","DOC_COUNT":1.0}],"rsRelation":[{"ID":7700893615.0,"PLAN_ID":2095296.0,"ORG_ID":2095296.0,"TYPE_ITEM":1.0,"DESCRIPTOR":"תוכנית","PLAN_NUMBER":"ג/ 12735","PLAN_NAME":"הסדרת מערכת הדרכים העירונית בסכנין","ENTITY_TYPE":"תוכנית","RELATION_TYPE_CODE":20.0,"RELATION_TYPE":"החלפה","COMMENTS":"תכנית זו מחליפה את קביעותיה של תכנית ג/12735 בתחומה של תכנית זו","PUBLICATION_FILE":6896.0,"PUBLICATION_PAGE":165.0,"PUBLICATION_PAGE_P":165.0,"PUBLICATION_DATE":"20/10/2014","ER_ORDER":null,"RELATED_ENTITY_TYPE_CODE":1.0,"ORG_MP_ID":2095296.0,"REL_CHAPTER":0.0,"LC_DESC":null},{"ID":7700893619.0,"PLAN_ID":2091213.0,"ORG_ID":2091213.0,"TYPE_ITEM":1.0,"DESCRIPTOR":"תוכנית","PLAN_NUMBER":"ג/ 668","PLAN_NAME":"תכנית מתאר סכנין","ENTITY_TYPE":"תוכנית","RELATION_TYPE_CODE":20.0,"RELATION_TYPE":"החלפה","COMMENTS":"תכנית זו מחליפה את קביעותיה של תכנית ג/668 בתחומה של תכנית זו","PUBLICATION_FILE":3999.0,"PUBLICATION_PAGE":2993.0,"PUBLICATION_PAGE_P":2993.0,"PUBLICATION_DATE":"30/04/1992","ER_ORDER":null,"RELATED_ENTITY_TYPE_CODE":1.0,"ORG_MP_ID":2091213.0,"REL_CHAPTER":0.0,"LC_DESC":null},{"ID":7700893617.0,"PLAN_ID":2091170.0,"ORG_ID":2091170.0,"TYPE_ITEM":1.0,"DESCRIPTOR":"תוכנית","PLAN_NUMBER":"ג/ 9169","PLAN_NAME":"שינוי לתקנון; הגדלת אחוזי בניה ומס' הקומות, שינוי למתאר, סכנין.","ENTITY_TYPE":"תוכנית","RELATION_TYPE_CODE":20.0,"RELATION_TYPE":"החלפה","COMMENTS":"תכנית זו מחליפה את קביעותיה של תכנית ג/9169 בתחומה של תכנית זו","PUBLICATION_FILE":4590.0,"PUBLICATION_PAGE":707.0,"PUBLICATION_PAGE_P":707.0,"PUBLICATION_DATE":"23/11/1997","ER_ORDER":null,"RELATED_ENTITY_TYPE_CODE":1.0,"ORG_MP_ID":2091170.0,"REL_CHAPTER":0.0,"LC_DESC":null},{"ID":7700893621.0,"PLAN_ID":2095725.0,"ORG_ID":2095725.0,"TYPE_ITEM":1.0,"DESCRIPTOR":"תוכנית","PLAN_NUMBER":"ג/ 12906","PLAN_NAME":"שינוי תקנון לישוב סכנין","ENTITY_TYPE":"תוכנית","RELATION_TYPE_CODE":20.0,"RELATION_TYPE":"החלפה","COMMENTS":"תכנית זו מחליפה את קביעותיה של תכנית ג/12906 בתחומה של תכנית זו","PUBLICATION_FILE":5347.0,"PUBLICATION_PAGE":688.0,"PUBLICATION_PAGE_P":688.0,"PUBLICATION_DATE":"30/11/2004","ER_ORDER":null,"RELATED_ENTITY_TYPE_CODE":1.0,"ORG_MP_ID":2095725.0,"REL_CHAPTER":0.0,"LC_DESC":null}],"rsTopic":[],"rsPlanDocs":[{"ID":6000661941817.0,"DOC_NAME":"הוראות התכנית","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"30/03/2021","EDITING_DATE":"17/06/2021","DOC_PAGES":1.0,"DOC_PAGE_NO":1.0,"ATTACHMENT_ID":6017130073.0,"FILE_TYPE":"pdf ","RUB_CODE":3.0,"RUB_DESC":"הוראות התכנית","ORD":3.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":40.0,"ED_DOC_TYPE":1.0,"FILE_DATA":{"edId":null,"edNum":"595803F4B4B2B1AE63601E0C4D0CBFABE1B7400D6AD18CD19820BEB9AAD67CA0","fname":"DOC_6000661941817.pdf","ficon":"ft/file_PDF.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"9F9FF6CF1A89FA43A8705326272E61E75BCE98F745EDFE9FC08FF33E934A19AA"},{"ID":6000686240027.0,"DOC_NAME":"תשריט מצב מוצע","ED_DOC_INFO":"תשריט מצב מוצע","INTERNAL_OPEN_DATE":"17/06/2021","EDITING_DATE":"17/06/2021","DOC_PAGES":1.0,"DOC_PAGE_NO":1.0,"ATTACHMENT_ID":6017806099.0,"FILE_TYPE":"pdf ","RUB_CODE":6.0,"RUB_DESC":"תשריט התכנית","ORD":6.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":40.0,"ED_DOC_TYPE":2.0,"FILE_DATA":{"edId":null,"edNum":"ACF2658D7CF7C8877E922695CB163F33666924017F5875D561D4534136DD333D","fname":"DOC_6000686240027.pdf","ficon":"ft/file_PDF.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"E46605CDDFBA6F020938004F28FF543D7A58E0E79AD59D424EFE7E78FE4225E0"},{"ID":77000661941779.0,"DOC_NAME":"בינוי","ED_DOC_INFO":"בינוי וחניה","INTERNAL_OPEN_DATE":"03/10/2020","EDITING_DATE":"10/02/2021","DOC_PAGES":1.0,"DOC_PAGE_NO":null,"ATTACHMENT_ID":77017130035.0,"FILE_TYPE":"pdf ","RUB_CODE":10.0,"RUB_DESC":"נספחים","ORD":10.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":20.0,"ED_DOC_TYPE":9.0,"FILE_DATA":{"edId":null,"edNum":"EFEC4735000BEA715E69D04367CB19E7627801B12B43E0BE000ADBBE02F32249","fname":"DOC_77000661941779.pdf","ficon":"ft/file_PDF.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"7003B580555F0DA23BFC7ED6E7984E48F2D5E1E23BA58D66E5B78D98CF90B7CD"}],"rsPlanDocsAdd":[{"ID":77000661941773.0,"DOC_NAME":"מצב מאושר","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"03/10/2020","EDITING_DATE":"03/10/2020","DOC_PAGES":1.0,"ATTACHMENT_ID":77017130029.0,"FILE_TYPE":"pdf ","RUB_CODE":10.0,"RUB_DESC":"נספחים","ORD":10.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":35.0,"ED_DOC_TYPE":10.0,"FILE_DATA":{"edId":null,"edNum":"C71DDEC8151B77F9D1C80059F7C71BF51A466AA94471C0AD9E77DC28BF81269B","fname":"DOC_77000661941773.pdf","ficon":"ft/file_PDF.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"7A5902AE1493843AE0D9F82C89CE7F879827799F5BEF228F96E04936E0A26016"},{"ID":77000661941777.0,"DOC_NAME":"ישויות פוליגונליות, קוויות ונקודתיות","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"03/10/2020","EDITING_DATE":"17/06/2021","DOC_PAGES":null,"ATTACHMENT_ID":77017130033.0,"FILE_TYPE":"dwg ","RUB_CODE":30.0,"RUB_DESC":"קבצים דיגיטליים","ORD":30.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":30.0,"ED_DOC_TYPE":12.0,"FILE_DATA":{"edId":null,"edNum":"0596236FF581B12E5D8B693236829EB9EFB53F1E1BE1859BDA64FF70C6EAC5D7","fname":"DOC_77000661941777.dwg","ficon":"ft/file_DWG.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"2C83EB22BA60684F7B32ECAC857B0CA70AA50B38C68BB7C347BADCFDCC4172BE"},{"ID":77000661941775.0,"DOC_NAME":"קו כחול","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"03/10/2020","EDITING_DATE":"03/10/2020","DOC_PAGES":null,"ATTACHMENT_ID":77017130031.0,"FILE_TYPE":"dwg ","RUB_CODE":30.0,"RUB_DESC":"קבצים דיגיטליים","ORD":30.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":30.0,"ED_DOC_TYPE":25.0,"FILE_DATA":{"edId":null,"edNum":"06D5AF5F639C1517454E2A27877F651EBBFCAF3C276F47B179B4918D0E03C509","fname":"DOC_77000661941775.dwg","ficon":"ft/file_DWG.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"FB0E203D85460F98695AC27D26544A85821B1E684F2295DA13BDC15E2F56BF76"},{"ID":77000661941771.0,"DOC_NAME":"תאי שטח","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"03/10/2020","EDITING_DATE":"03/10/2020","DOC_PAGES":null,"ATTACHMENT_ID":77017130027.0,"FILE_TYPE":"dwg ","RUB_CODE":30.0,"RUB_DESC":"קבצים דיגיטליים","ORD":30.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":30.0,"ED_DOC_TYPE":30.0,"FILE_DATA":{"edId":null,"edNum":"487DC1313FDEFE205636A67FCE47A98D2FB7BA0B0A2EB52AB33961105F01126A","fname":"DOC_77000661941771.dwg","ficon":"ft/file_DWG.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"379C99EECDC9D2185154E43AF28C12E4167886DC5A18EA9090A72D957AC01C0A"},{"ID":6000661941795.0,"DOC_NAME":"קבצי התכנית (SHP)","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"30/03/2021","EDITING_DATE":"17/06/2021","DOC_PAGES":1.0,"ATTACHMENT_ID":6017130051.0,"FILE_TYPE":"zip ","RUB_CODE":30.0,"RUB_DESC":"קבצים דיגיטליים","ORD":30.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":40.0,"ED_DOC_TYPE":130.0,"FILE_DATA":{"edId":null,"edNum":"73CA16A9773FDC02601BCFAA4D81474D1B8654A1D61DD32F93C9F2518E89847B","fname":"DOC_6000661941795.zip","ficon":"ft/file_ZIP.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"E86E3D4DCB8326524E9C67F8FDE9F4A4511713469C9C1E7B8ED0DFDF902C2F1E"},{"ID":6000661941803.0,"DOC_NAME":"גבול התכנית(KML)\n לצפיה ב google earth","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"30/03/2021","EDITING_DATE":"17/06/2021","DOC_PAGES":1.0,"ATTACHMENT_ID":6017130059.0,"FILE_TYPE":"kml ","RUB_CODE":30.0,"RUB_DESC":"קבצים דיגיטליים","ORD":30.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":40.0,"ED_DOC_TYPE":200.0,"FILE_DATA":{"edId":null,"edNum":"2024D1CC992F83A993A478D19B30694E0985E4626CE26E321A6E6C138DC84B2C","fname":"DOC_6000661941803.kml","ficon":"ft/file_KML.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"8BC63A761C3993011F5D79AC1A20BF641FE32F134F32BB376C3433DC46C42340"},{"ID":77000770914577.0,"DOC_NAME":"גבול התכנית תלת מימד (KML)","ED_DOC_INFO":null,"INTERNAL_OPEN_DATE":"18/03/2022","EDITING_DATE":"18/03/2022","DOC_PAGES":null,"ATTACHMENT_ID":77020178387.0,"FILE_TYPE":"kml ","RUB_CODE":30.0,"RUB_DESC":"קבצים דיגיטליים","ORD":30.0,"ED_ENTITY_TYPE":1.0,"ED_DOC_SOURCE":40.0,"ED_DOC_TYPE":210.0,"FILE_DATA":{"edId":null,"edNum":"63D56FABCFF9DCCA6885C58DE1F6DB5DF0C4143E5E84B1BDC071F8080C09B9B3","fname":"DOC_77000770914577.kml","ficon":"ft/file_KML.gif","attExist":true},"PLAN_ENTITY_DOC_NUM":"A17F3A8FDE918395B6FA88BBF1566A7A200C8A95012F581944D3BE764A024A2D"}],"Auth":"","decAreaDunam":0.6560,"iconType":"3","planAddData":{"IS_NEW_VERSION_ATTENTION":1.0,"V_AUTH_CODE":3.0,"V_IS_MAVAT":1.0,"Q_LOCAL_UPDATE":null,"Q_REGION_UPDATE":null},"printCounters":[{"PL_ID":2005220304.0,"PL_VERSION":-4.0,"UPDATE_KEY":3.0,"ORDERS_PRINT_VERSION":3.0,"TASRIT_PRINT_VERSION":3.0},{"PL_ID":2000320107.0,"PL_VERSION":1.0,"UPDATE_KEY":3.0,"ORDERS_PRINT_VERSION":1.0,"TASRIT_PRINT_VERSION":1.0},{"PL_ID":2005100340.0,"PL_VERSION":2.0,"UPDATE_KEY":3.0,"ORDERS_PRINT_VERSION":2.0,"TASRIT_PRINT_VERSION":2.0},{"PL_ID":2005133734.0,"PL_VERSION":3.0,"UPDATE_KEY":3.0,"ORDERS_PRINT_VERSION":3.0,"TASRIT_PRINT_VERSION":3.0}],"rsQuantities":[{"ID":2000889725.0,"QUANTITY_CODE":120.0,"QUANTITY_DESC":"מגורים (יח\"ד)","UNIT_DESC":"יח\"ד","AUTHORISED_QUANTITY":"+7","AUTHORISED_QUANTITY_ADD":null,"IMPLEMENTATION":"7","DETAILED_PLAN":null,"REMARK":" ","ROW_NUM":1.0,"LAST_UPDATE":"16/03/2022 14:06","LAST_UPDATER":"MAVATASKS"},{"ID":2000889727.0,"QUANTITY_CODE":125.0,"QUANTITY_DESC":"מגורים (מ\"ר)","UNIT_DESC":"מ\"ר","AUTHORISED_QUANTITY":"+945","AUTHORISED_QUANTITY_ADD":null,"IMPLEMENTATION":"945","DETAILED_PLAN":null,"REMARK":" ","ROW_NUM":2.0,"LAST_UPDATE":"16/03/2022 14:06","LAST_UPDATER":"MAVATASKS"}],"rsTasrit":[{"RN":-1.0,"ENTITY_DOC_ID":6000686240027.0,"ENTITY_TYPE":1.0,"ENTITY_ID":2005133734.0,"DOC_SOURCE":40.0,"DOC_TYPE":2.0,"DOC_NAME":"תשריט מצב מוצע","DOC_EDITING_DATE_TIME":"17/06/2021 ","DOC_CREATE_DATE_TIME":"17/06/2021 ","DOC_PAGE_NO":1.0,"ATTACHMENT_ID":6017806099.0,"FILE_TYPE":"pdf "}],"rsInstructions":[{"RN":-1.0,"ENTITY_DOC_ID":6000661941817.0,"ENTITY_TYPE":1.0,"ENTITY_ID":2005133734.0,"DOC_SOURCE":40.0,"DOC_TYPE":1.0,"DOC_NAME":"2005133734.pdf","DOC_EDITING_DATE_TIME":"20210617 ","DOC_CREATE_DATE_TIME":"20210617185225 ","DOC_PAGE_NO":1.0,"ATTACHMENT_ID":6017130073.0,"FILE_TYPE":"pdf "}],"recExplanation":{"RN":1.0,"EXPLANATION":"התכנית שייכת למגרש מאושר מס' 100/3 גוש 19316חלקה 44 המאושר בתשריט איחוד וחלוקה מאושר מס' ת-ח- 155/91 ובהתאם להיתרים מס' 20070331 + 20180066 בשכונה המזרחית בסכנין דרומית לעיריית סכנין\r\nהתכנית נערכה לצורך שינוי קווי בניין והגדלת תכסית קרקע מ- 42% ל- 65% לצורך הכשרת המגרש לבניה חדשה\r\nהתכנית מוסיפה גם כן 20% שטחי בניה (6% עיקרי + 14% שירות) מעל קומת הכניסה","ENTITY_DOC_ID":null,"ATTACHMENT_ID":null,"FILE_TYPE":null},"SV4Labels":{"lblTitle1":"זיהוי וסיווג התכנית","lblDocuments":"מסמכי התוכנית","lblPupose":"מטרת התכנית ועיקרי הוראותיה","lblPlace":"מקום התכנית","lblRelationToEntities":"יחס לתכניות מאושרות קודמות","lblStates":"שלבי הטיפול בתכנית"},"printCountersDesc":null,"shortStatus":"על שולחן הוועדה","GoogleLinkVisible":false}
\ No newline at end of file
diff --git a/server/tests/tables_structs/plan_struct.js b/server/tests/tables_structs/plan_struct.js
index 87679d5c8..d8dc56609 100644
--- a/server/tests/tables_structs/plan_struct.js
+++ b/server/tests/tables_structs/plan_struct.js
@@ -25,7 +25,7 @@ const PlanStruct = function(table) {
table.string('MP_ID', 256);
table.string('plan_new_mavat_url', 256);
table.timestamp('last_visited_status');
- table.integer('was_deposited').defaultTo(0);
+ table.integer('status_email').defaultTo(0);
return table;
};