From ee20a10e9410f2ce5024a7b8e4fa758706dc52d0 Mon Sep 17 00:00:00 2001
From: Surinder Kumar <surinder.kumar@enterprisedb.com>
Date: Wed, 23 Aug 2017 14:05:54 +0530
Subject: [PATCH] Syntax error while saving changes for start/end time,
 weekdays, monthdays, month, hours, minutes while updating the pgAgent Job.
 Fixes #2657.

---
 .../pgagent/schedules/static/js/pga_schedule.js     | 10 +++++-----
 .../pgagent/templates/macros/pga_schedule.macros    | 13 +++++++------
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js b/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js
index b2b2518e9..8497bf5f0 100644
--- a/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js
+++ b/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js
@@ -348,7 +348,7 @@ define('pgadmin.node.pga_schedule', [
           }),
           schema:[{
             id: 'jscweekdays', label: gettext('Week Days'), cell: 'select2',
-            group: gettext('Days'), control: 'select2', type: 'array',
+            group: gettext('Days'), control: 'select2',
             select2: {
               first_empty: false,
               multiple: true,
@@ -364,7 +364,7 @@ define('pgadmin.node.pga_schedule', [
             options: BooleanArrayOptions
           },{
             id: 'jscmonthdays', label: gettext('Month Days'), cell: 'select2',
-            group: gettext('Days'), control: 'select2', type: 'array',
+            group: gettext('Days'), control: 'select2',
             select2: {
               first_empty: false,
               multiple: true,
@@ -379,7 +379,7 @@ define('pgadmin.node.pga_schedule', [
             selector: monthdays, options: BooleanArrayOptions
           },{
             id: 'jscmonths', label: gettext('Months'), cell: 'select2',
-            group: gettext('Days'), control: 'select2', type: 'array',
+            group: gettext('Days'), control: 'select2',
             select2: {
               first_empty: false,
               multiple: true,
@@ -398,7 +398,7 @@ define('pgadmin.node.pga_schedule', [
           group: gettext('Repeat'), mode: ['create', 'edit'],
           schema:[{
             id: 'jschours', label: gettext('Hours'), cell: 'select2',
-            group: gettext('Times'), control: 'select2', type: 'array',
+            group: gettext('Times'), control: 'select2',
             select2: {
               first_empty: false,
               multiple: true,
@@ -413,7 +413,7 @@ define('pgadmin.node.pga_schedule', [
             selector: hours, options: BooleanArrayOptions
           },{
             id: 'jscminutes', label: gettext('Minutes'), cell: 'select2',
-            group: gettext('Times'), control: 'select2', type: 'array',
+            group: gettext('Times'), control: 'select2',
             select2: {
               first_empty: false,
               multiple: true,
diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/templates/macros/pga_schedule.macros b/web/pgadmin/browser/server_groups/servers/pgagent/templates/macros/pga_schedule.macros
index e80492c24..9a7684bd9 100644
--- a/web/pgadmin/browser/server_groups/servers/pgagent/templates/macros/pga_schedule.macros
+++ b/web/pgadmin/browser/server_groups/servers/pgagent/templates/macros/pga_schedule.macros
@@ -29,20 +29,21 @@ INSERT INTO pgagent.pga_schedule(
 {{ EXCEPTIONS.INSERT(None, exc) }}{% endfor %}{% endif %}
 {%- endmacro %}
 {% macro UPDATE(jid, jscid, data) -%}
-{% if 'jscname' in data or 'jscenabled' in data or 'jscdesc' in data or 'jscstart' in data or 'jscend' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %}
+{% if 'jscname' in data or 'jscenabled' in data or 'jscdesc' in data or 'jscstart' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %}
+
 -- Updating the schedule (id: {{ jscid|qtLiteral }}, jobid: {{ jid|qtLiteral }})
 UPDATE pgagent.pga_schedule
 SET{% if 'jscname' in data %}
 
-    jscname={{ data.jscname|qtLiteral }}::text{% if 'jscdesc' in data or 'jscstart' in data or 'jscend' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data or 'jscenabled' in data %},{% endif %}{% endif %}{% if 'jscenabled' in data %}
+    jscname={{ data.jscname|qtLiteral }}::text{% if 'jscdesc' in data or 'jscstart' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data or 'jscenabled' in data %},{% endif %}{% endif %}{% if 'jscenabled' in data %}
 
-    jscenabled={% if data.jscenabled %}true{% else %}false{% endif %}{% if 'jscdesc' in data or 'jscstart' in data or 'jscend' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscdesc' in data %}
+    jscenabled={% if data.jscenabled %}true{% else %}false{% endif %}{% if 'jscdesc' in data or 'jscstart' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscdesc' in data %}
 
-    jscdesc={% if data.jscdesc %}{{ data.jscdesc|qtLiteral }}::text{% else %}''::text{% endif %}{% if 'jscstart' in data or 'jscend' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscstart' in data %}
+    jscdesc={% if data.jscdesc %}{{ data.jscdesc|qtLiteral }}::text{% else %}''::text{% endif %}{% if 'jscstart' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscstart' in data %}
 
-    jscstart={{ data.jscstart|qtLiteral }}::text{% if 'jscend' in data or 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscend' in data %}
+    jscstart={{ data.jscstart|qtLiteral }}::timestamptz{% if 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscend' in data %}
 
-    jscend={% if data.jscend %}{{ data.jscend|qtLiteral }}::timestamptz{% else %}NULL::timestamptz{% endif %}{% if 'jscend' in data or 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscmonths' in data %}
+    jscend={% if data.jscend %}{{ data.jscend|qtLiteral }}::timestamptz{% else %}NULL::timestamptz{% endif %}{% if 'jscmonths' in data or 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscmonths' in data %}
 
     jscmonths={{ data.jscmonths|qtLiteral }}::boolean[]{% if 'jscminutes' in data or 'jscmonthdays' in data or 'jschours' in data or 'jscweekdays' in data %},{% endif %}{% endif %}{% if 'jscminutes' in data %}