Title: [opsview] [12183] Merged from US539 branch.

Property changes on: trunk
___________________________________________________________________
Modified: svn:externals
   - opsview-base https://secure.opsview.com/svn/opsview-base/trunk


   + opsview-base https://secure.opsview.com/svn/opsview-base/trunk

Modified: svn:mergeinfo
   - /branches/DEV-capside/release-3.9.0:6365-6370
/branches/DEV-extra-notification-data:6734-6746
/branches/DEV-odw-calculations:9016-9160
/branches/DEV-restapi-monitoringservers:9778
/branches/DEV-snmp-multi:7324-7376
/branches/US187:9403-9479
/branches/US198b:8875-8994
/branches/US310:9851-9873
/branches/enterprise/BRAN-3.14:6874,6882,6956
/branches/enterprise/DEV-professional:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612,11798-11799
/branches/nagvis-iframe:9764-9786
/branches/opsview2runtime:10960-11258
/branches/opsview2runtime_xs:11279-11303
/branches/us168:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10944,11017
/commercial/branches/US306-slaves:9804-9823
/commercial/branches/US307-network-map:9685-9837
   + /branches/DEV-capside/release-3.9.0:6365-6370
/branches/DEV-extra-notification-data:6734-6746
/branches/DEV-odw-calculations:9016-9160
/branches/DEV-restapi-monitoringservers:9778
/branches/DEV-snmp-multi:7324-7376
/branches/US187:9403-9479
/branches/US198b:8875-8994
/branches/US310:9851-9873
/branches/US539:12178-12182
/branches/enterprise/BRAN-3.14:6874,6882,6956
/branches/enterprise/DEV-professional:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612,11798-11799
/branches/nagvis-iframe:9764-9786
/branches/opsview2runtime:10960-11258
/branches/opsview2runtime_xs:11279-11303
/branches/us168:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10944,11017
/commercial/branches/US306-slaves:9804-9823
/commercial/branches/US307-network-map:9685-9837

Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/CHANGES	2013-04-25 11:06:19 UTC (rev 12183)
@@ -13,6 +13,7 @@
     New Opspack: Apache HTTP Server, replacing existing Apache HTTP
     Management URLs open in a new window for http and https methods
     Downgrade check_snmp_interfaces_cascade errors with invalid percentage utilisation (critical) and long plugin execution time (warning) to be unknowns instead
+    Notification profiles and shared notification profiles now have a field to prevent the sending of alerts after a defined number
     NOTICES:
     Removed OS - Linux Advanced opspack from fresh installs
     FIXES:


Property changes on: trunk/opsview-core
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/DEV-capside/release-3.9.0/opsview-core:6365-6370
/branches/DEV-extra-notification-data/opsview-core:6734-6746
/branches/DEV-odw-calculations/opsview-core:9016-9160
/branches/DEV-restapi-monitoringservers/opsview-core:9778
/branches/DEV-snmp-multi/opsview-core:7324-7376
/branches/US187/opsview-core:9403-9479
/branches/US198b/opsview-core:8875-8994
/branches/US310/opsview-core:9851-9873
/branches/enterprise/BRAN-3.14/opsview-core:6874,6882,6956
/branches/enterprise/DEV-professional/opsview-core:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612,11798-11799
/branches/nagvis-iframe/opsview-core:9764-9786
/branches/opsview2runtime/opsview-core:10960-11258
/branches/opsview2runtime_xs/opsview-core:11279-11303
/branches/us168/opsview-core:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10966
/commercial/branches/BRAN-4.2/opsview-core:10944,10966,11017
/commercial/branches/US306-slaves/opsview-core:9804-9823
/commercial/branches/US307-network-map/opsview-core:9685-9837
   + /branches/DEV-capside/release-3.9.0/opsview-core:6365-6370
/branches/DEV-extra-notification-data/opsview-core:6734-6746
/branches/DEV-odw-calculations/opsview-core:9016-9160
/branches/DEV-restapi-monitoringservers/opsview-core:9778
/branches/DEV-snmp-multi/opsview-core:7324-7376
/branches/US187/opsview-core:9403-9479
/branches/US198b/opsview-core:8875-8994
/branches/US310/opsview-core:9851-9873
/branches/US539/opsview-core:12178-12182
/branches/enterprise/BRAN-3.14/opsview-core:6874,6882,6956
/branches/enterprise/DEV-professional/opsview-core:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612,11798-11799
/branches/nagvis-iframe/opsview-core:9764-9786
/branches/opsview2runtime/opsview-core:10960-11258
/branches/opsview2runtime_xs/opsview-core:11279-11303
/branches/us168/opsview-core:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10966
/commercial/branches/BRAN-4.2/opsview-core:10944,10966,11017
/commercial/branches/US306-slaves/opsview-core:9804-9823
/commercial/branches/US307-network-map/opsview-core:9685-9837

Modified: trunk/opsview-core/bin/db_opsview
===================================================================
--- trunk/opsview-core/bin/db_opsview	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-core/bin/db_opsview	2013-04-25 11:06:19 UTC (rev 12183)
@@ -244,6 +244,7 @@
 		notification_level int NOT NULL DEFAULT 1,
 		priority INT DEFAULT 1000,
 		uncommitted int DEFAULT 0 NOT NULL,
+        notification_level_stop SMALLINT NOT NULL DEFAULT 0,
 		PRIMARY KEY (id),
         UNIQUE notificationprofiles_name_contactid (name, contactid),
 		INDEX (notification_period),
@@ -1150,6 +1151,7 @@
 		notification_level int(11) NOT NULL DEFAULT '1',
 		role int(11) NOT NULL,
 		uncommitted int(11) NOT NULL DEFAULT '0',
+        notification_level_stop SMALLINT NOT NULL DEFAULT 0,
 		PRIMARY KEY (id),
 		UNIQUE (name),
 		CONSTRAINT snp_notification_period FOREIGN KEY (notification_period) REFERENCES timeperiods (id),
@@ -1230,6 +1232,7 @@
     INSERT INTO schema_version (major_release, version, created_at) VALUES ('20130204baduuid', 'install', NOW());
     INSERT INTO schema_version (major_release, version, created_at) VALUES ('20130221snmpthro', 'install', NOW());
     INSERT INTO schema_version (major_release, version, created_at) VALUES ('20130219hsteh', 'install', NOW());
+    INSERT INTO schema_version (major_release, version, created_at) VALUES ('20130424alerts', 'install', NOW());
 
 EOF
 	populate_db

Modified: trunk/opsview-core/bin/nagconfgen.pl
===================================================================
--- trunk/opsview-core/bin/nagconfgen.pl	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-core/bin/nagconfgen.pl	2013-04-25 11:06:19 UTC (rev 12183)
@@ -1652,7 +1652,8 @@
 	use		global-contact
 	service_notification_period	" . $notificationprofile->notification_period . "
 	host_notification_period	" . $notificationprofile->notification_period . "
-	notification_level		" . $notificationprofile->notification_level . "
+	notification_level_start		" . $notificationprofile->notification_level . "
+	notification_level_stop		" . $notificationprofile->notification_level_stop . "
 ";
             if (@contactgroups) {
                 print OUTFILE "	contactgroups	"


Property changes on: trunk/opsview-core/bin/nagconfgen.pl
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/DEV-capside/release-3.9.0/opsview-core/bin/nagconfgen.pl:6365-6370
/branches/DEV-extra-notification-data/opsview-core/bin/nagconfgen.pl:6734-6746
/branches/DEV-odw-calculations/opsview-core/bin/nagconfgen.pl:9016-9160
/branches/DEV-restapi-monitoringservers/opsview-core/bin/nagconfgen.pl:9778
/branches/DEV-snmp-multi/opsview-core/bin/nagconfgen.pl:7324-7376
/branches/US187/opsview-core/bin/nagconfgen.pl:9403-9479
/branches/US198b/opsview-core/bin/nagconfgen.pl:8875-8994
/branches/US310/opsview-core/bin/nagconfgen.pl:9851-9873
/branches/enterprise/BRAN-3.14/opsview-core/bin/nagconfgen.pl:6874,6882,6956
/branches/enterprise/DEV-professional/opsview-core/bin/nagconfgen.pl:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612
/branches/nagvis-iframe/opsview-core/bin/nagconfgen.pl:9764-9786
/branches/opsview2runtime/opsview-core/bin/nagconfgen.pl:10960-11258
/branches/opsview2runtime_xs/opsview-core/bin/nagconfgen.pl:11279-11303
/branches/us168/opsview-core/bin/nagconfgen.pl:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2/bin/nagconfgen.pl:10966
/commercial/branches/BRAN-4.2/opsview-core/bin/nagconfgen.pl:10944,10966,11017
/commercial/branches/BRAN-4.2/opsview-core/bin-protected/nagconfgen.pl:11017
/commercial/branches/US306-slaves/opsview-core/bin/nagconfgen.pl:9804-9823
/commercial/branches/US307-network-map/opsview-core/bin/nagconfgen.pl:9685-9837
   + /branches/DEV-capside/release-3.9.0/opsview-core/bin/nagconfgen.pl:6365-6370
/branches/DEV-extra-notification-data/opsview-core/bin/nagconfgen.pl:6734-6746
/branches/DEV-odw-calculations/opsview-core/bin/nagconfgen.pl:9016-9160
/branches/DEV-restapi-monitoringservers/opsview-core/bin/nagconfgen.pl:9778
/branches/DEV-snmp-multi/opsview-core/bin/nagconfgen.pl:7324-7376
/branches/US187/opsview-core/bin/nagconfgen.pl:9403-9479
/branches/US198b/opsview-core/bin/nagconfgen.pl:8875-8994
/branches/US310/opsview-core/bin/nagconfgen.pl:9851-9873
/branches/US539/opsview-core/bin/nagconfgen.pl:12178-12182
/branches/enterprise/BRAN-3.14/opsview-core/bin/nagconfgen.pl:6874,6882,6956
/branches/enterprise/DEV-professional/opsview-core/bin/nagconfgen.pl:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612
/branches/nagvis-iframe/opsview-core/bin/nagconfgen.pl:9764-9786
/branches/opsview2runtime/opsview-core/bin/nagconfgen.pl:10960-11258
/branches/opsview2runtime_xs/opsview-core/bin/nagconfgen.pl:11279-11303
/branches/us168/opsview-core/bin/nagconfgen.pl:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2/bin/nagconfgen.pl:10966
/commercial/branches/BRAN-4.2/opsview-core/bin/nagconfgen.pl:10944,10966,11017
/commercial/branches/BRAN-4.2/opsview-core/bin-protected/nagconfgen.pl:11017
/commercial/branches/US306-slaves/opsview-core/bin/nagconfgen.pl:9804-9823
/commercial/branches/US307-network-map/opsview-core/bin/nagconfgen.pl:9685-9837

Modified: trunk/opsview-core/import/initial_opsview.sql
===================================================================
--- trunk/opsview-core/import/initial_opsview.sql	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-core/import/initial_opsview.sql	2013-04-25 11:06:19 UTC (rev 12183)
@@ -77,7 +77,7 @@
 
 LOCK TABLES `notificationprofiles` WRITE;
 /*!40000 ALTER TABLE `notificationprofiles` DISABLE KEYS */;
-INSERT INTO `notificationprofiles` (`id`, `name`, `contactid`, `host_notification_options`, `service_notification_options`, `notification_period`, `all_hostgroups`, `all_servicegroups`, `all_keywords`, `notification_level`, `priority`, `uncommitted`) VALUES (1,'Default',1,'u,d,r,f','w,c,r,f',1,1,1,1,1,1,0);
+INSERT INTO `notificationprofiles` (`id`, `name`, `contactid`, `host_notification_options`, `service_notification_options`, `notification_period`, `all_hostgroups`, `all_servicegroups`, `all_keywords`, `notification_level`, `priority`, `uncommitted`, `notification_level_stop`) VALUES (1,'Default',1,'u,d,r,f','w,c,r,f',1,1,1,1,1,1,0,0);
 /*!40000 ALTER TABLE `notificationprofiles` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -369,7 +369,7 @@
 
 LOCK TABLES `sharednotificationprofiles` WRITE;
 /*!40000 ALTER TABLE `sharednotificationprofiles` DISABLE KEYS */;
-INSERT INTO `sharednotificationprofiles` (`id`, `name`, `host_notification_options`, `service_notification_options`, `notification_period`, `all_hostgroups`, `all_servicegroups`, `all_keywords`, `notification_level`, `role`, `uncommitted`) VALUES (1,'Receive all alerts during work hours','u,d,r,f','w,c,r,f',2,1,1,1,1,10,0);
+INSERT INTO `sharednotificationprofiles` (`id`, `name`, `host_notification_options`, `service_notification_options`, `notification_period`, `all_hostgroups`, `all_servicegroups`, `all_keywords`, `notification_level`, `role`, `uncommitted`, `notification_level_stop`) VALUES (1,'Receive all alerts during work hours','u,d,r,f','w,c,r,f',2,1,1,1,1,10,0,0);
 /*!40000 ALTER TABLE `sharednotificationprofiles` ENABLE KEYS */;
 UNLOCK TABLES;
 

Modified: trunk/opsview-core/installer/upgradedb_opsview.pl
===================================================================
--- trunk/opsview-core/installer/upgradedb_opsview.pl	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-core/installer/upgradedb_opsview.pl	2013-04-25 11:06:19 UTC (rev 12183)
@@ -4703,6 +4703,23 @@
     $db->updated;
 }
 
+unless (
+    $db->is_installed(
+        '20130424alerts', "Support for limiting notification alerts", 'all'
+    )
+  )
+{
+    $dbh->do(
+        q[ ALTER TABLE notificationprofiles
+                   ADD notification_level_stop SMALLINT NOT NULL DEFAULT 0 ]
+    );
+    $dbh->do(
+        q[ ALTER TABLE sharednotificationprofiles
+                   ADD notification_level_stop SMALLINT NOT NULL DEFAULT 0 ]
+    );
+    $db->updated;
+}
+
 # PLACEHOLDER
 # For future upgrade of Opsview Core where you cannot have an automatic Opsview reload
 # We mark this upgrade lock file so that post installs do not generate an unactivated configuration

Modified: trunk/opsview-core/lib/Opsview/Schema/Notificationprofiles.pm
===================================================================
--- trunk/opsview-core/lib/Opsview/Schema/Notificationprofiles.pm	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-core/lib/Opsview/Schema/Notificationprofiles.pm	2013-04-25 11:06:19 UTC (rev 12183)
@@ -96,6 +96,12 @@
         is_nullable   => 0,
         size          => 11
     },
+    "notification_level_stop",
+    {
+        data_type     => "smallint",
+        default_value => 0,
+        is_nullable   => 0
+    },
 );
 __PACKAGE__->set_primary_key( "id" );
 __PACKAGE__->add_unique_constraint(
@@ -161,7 +167,7 @@
     [
         qw(id name
           host_notification_options service_notification_options
-          notification_period notification_level
+          notification_period notification_level notification_level_stop
           all_hostgroups all_servicegroups all_keywords
           hostgroups servicegroups keywords
           notificationmethods

Modified: trunk/opsview-core/lib/Opsview/Schema/Sharednotificationprofiles.pm
===================================================================
--- trunk/opsview-core/lib/Opsview/Schema/Sharednotificationprofiles.pm	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-core/lib/Opsview/Schema/Sharednotificationprofiles.pm	2013-04-25 11:06:19 UTC (rev 12183)
@@ -88,6 +88,12 @@
   default_value: 0
   is_nullable: 0
 
+=head2 notification_level_stop
+
+  data_type: 'smallint'
+  default_value: 0
+  is_nullable: 0
+
 =cut
 
 __PACKAGE__->add_columns(
@@ -160,6 +166,12 @@
         default_value => 0,
         is_nullable   => 0
     },
+    "notification_level_stop",
+    {
+        data_type     => "smallint",
+        default_value => 0,
+        is_nullable   => 0
+    },
 );
 __PACKAGE__->set_primary_key( "id" );
 __PACKAGE__->add_unique_constraint( "name", ["name"] );
@@ -279,7 +291,7 @@
     [
         qw(id name role
           host_notification_options service_notification_options
-          notification_period notification_level
+          notification_period notification_level notification_level_stop
           all_hostgroups all_servicegroups all_keywords
           hostgroups servicegroups keywords
           notificationmethods


Property changes on: trunk/opsview-core/share/_javascript_/forms.js
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/DEV-capside/release-3.9.0/opsview-core/share/_javascript_/forms.js:6365-6370
/branches/DEV-extra-notification-data/opsview-core/share/_javascript_/forms.js:6734-6746
/branches/DEV-odw-calculations/opsview-core/share/_javascript_/forms.js:9016-9160
/branches/DEV-restapi-monitoringservers/opsview-core/share/_javascript_/forms.js:9778
/branches/DEV-snmp-multi/opsview-core/share/_javascript_/forms.js:7324-7376
/branches/US187/opsview-core/share/_javascript_/forms.js:9403-9479
/branches/US198b/opsview-core/share/_javascript_/forms.js:8875-8994
/branches/US310/opsview-core/share/_javascript_/forms.js:9851-9873
/branches/enterprise/BRAN-3.14/opsview-core/share/_javascript_/forms.js:6874,6882,6956
/branches/enterprise/DEV-professional/opsview-core/share/_javascript_/forms.js:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10335,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11526,11528
/branches/nagvis-iframe/opsview-core/share/_javascript_/forms.js:9764-9786
/branches/opsview2runtime/opsview-core/share/_javascript_/forms.js:10960-11258
/branches/opsview2runtime_xs/opsview-core/share/_javascript_/forms.js:11279-11303
/branches/us168/opsview-core/share/_javascript_/forms.js:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2/opsview-core/share/_javascript_/forms.js:10944,10966,11017
/commercial/branches/BRAN-4.2/share/_javascript_/forms.js:10966
/commercial/branches/US306-slaves/opsview-core/share/_javascript_/forms.js:9804-9823
/commercial/branches/US307-network-map/opsview-core/share/_javascript_/forms.js:9685-9837
   + /branches/DEV-capside/release-3.9.0/opsview-core/share/_javascript_/forms.js:6365-6370
/branches/DEV-extra-notification-data/opsview-core/share/_javascript_/forms.js:6734-6746
/branches/DEV-odw-calculations/opsview-core/share/_javascript_/forms.js:9016-9160
/branches/DEV-restapi-monitoringservers/opsview-core/share/_javascript_/forms.js:9778
/branches/DEV-snmp-multi/opsview-core/share/_javascript_/forms.js:7324-7376
/branches/US187/opsview-core/share/_javascript_/forms.js:9403-9479
/branches/US198b/opsview-core/share/_javascript_/forms.js:8875-8994
/branches/US310/opsview-core/share/_javascript_/forms.js:9851-9873
/branches/US539/opsview-core/share/_javascript_/forms.js:12178-12182
/branches/enterprise/BRAN-3.14/opsview-core/share/_javascript_/forms.js:6874,6882,6956
/branches/enterprise/DEV-professional/opsview-core/share/_javascript_/forms.js:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10335,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11526,11528
/branches/nagvis-iframe/opsview-core/share/_javascript_/forms.js:9764-9786
/branches/opsview2runtime/opsview-core/share/_javascript_/forms.js:10960-11258
/branches/opsview2runtime_xs/opsview-core/share/_javascript_/forms.js:11279-11303
/branches/us168/opsview-core/share/_javascript_/forms.js:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2/opsview-core/share/_javascript_/forms.js:10944,10966,11017
/commercial/branches/BRAN-4.2/share/_javascript_/forms.js:10966
/commercial/branches/US306-slaves/opsview-core/share/_javascript_/forms.js:9804-9823
/commercial/branches/US307-network-map/opsview-core/share/_javascript_/forms.js:9685-9837

Modified: trunk/opsview-core/t/var/opsview.test.db
===================================================================
--- trunk/opsview-core/t/var/opsview.test.db	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-core/t/var/opsview.test.db	2013-04-25 11:06:19 UTC (rev 12183)
@@ -1540,6 +1540,7 @@
   `notification_level` int(11) NOT NULL DEFAULT '1',
   `priority` int(11) DEFAULT '1000',
   `uncommitted` int(11) NOT NULL DEFAULT '0',
+  `notification_level_stop` smallint(6) NOT NULL DEFAULT '0',
   PRIMARY KEY (`id`),
   UNIQUE KEY `notificationprofiles_name_contactid` (`name`,`contactid`),
   KEY `notification_period` (`notification_period`),
@@ -1551,17 +1552,17 @@
 
 LOCK TABLES `notificationprofiles` WRITE;
 /*!40000 ALTER TABLE `notificationprofiles` DISABLE KEYS */;
-INSERT INTO `notificationprofiles` VALUES (2,'Default',2,'u,d,r','w,c,r,u',1,1,1,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (3,'Default',3,'u,d,r,f','w,c,r,u,f',1,1,1,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (4,'Default',4,'u,d,r,f','w,c,r,u,f',1,0,1,0,1,2,0);
-INSERT INTO `notificationprofiles` VALUES (6,'Default',6,'u,d,r','w,c,r,u',1,1,1,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (7,'Default',7,'u,d,r','w,c,r,u',1,1,1,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (8,'Default',8,'u','w',1,0,0,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (9,'Default',9,'u','w',1,0,0,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (10,'Default',10,'u,d,r,f','w,c,r,u,f',1,0,0,1,1,2,0);
-INSERT INTO `notificationprofiles` VALUES (11,'Default',11,'u,d,r,f','w,c,r,u,f',1,0,0,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (12,'Non work hours sms',4,'d','c',3,0,0,0,1,1,0);
-INSERT INTO `notificationprofiles` VALUES (13,'High priority',10,'d','c,r',3,0,0,0,1,1,0);
+INSERT INTO `notificationprofiles` VALUES (2,'Default',2,'u,d,r','w,c,r,u',1,1,1,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (3,'Default',3,'u,d,r,f','w,c,r,u,f',1,1,1,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (4,'Default',4,'u,d,r,f','w,c,r,u,f',1,0,1,0,1,2,0,0);
+INSERT INTO `notificationprofiles` VALUES (6,'Default',6,'u,d,r','w,c,r,u',1,1,1,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (7,'Default',7,'u,d,r','w,c,r,u',1,1,1,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (8,'Default',8,'u','w',1,0,0,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (9,'Default',9,'u','w',1,0,0,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (10,'Default',10,'u,d,r,f','w,c,r,u,f',1,0,0,1,1,2,0,0);
+INSERT INTO `notificationprofiles` VALUES (11,'Default',11,'u,d,r,f','w,c,r,u,f',1,0,0,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (12,'Non work hours sms',4,'d','c',3,0,0,0,1,1,0,0);
+INSERT INTO `notificationprofiles` VALUES (13,'High priority',10,'d','c,r',3,0,0,0,1,1,0,0);
 /*!40000 ALTER TABLE `notificationprofiles` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2065,6 +2066,7 @@
 INSERT INTO `schema_version` VALUES ('20130204baduuid','all','Checking for bad UUID','2013-02-04 14:40:14',0);
 INSERT INTO `schema_version` VALUES ('20130219hsteh','all','Host event handlers','2013-02-19 14:49:43',0);
 INSERT INTO `schema_version` VALUES ('20130221snmpthro','all','Increasing the size of snmp.throughput_*','2013-02-21 15:30:52',0);
+INSERT INTO `schema_version` VALUES ('20130424alerts','all','Support for limiting notification alerts','2013-04-24 11:14:58',0);
 INSERT INTO `schema_version` VALUES ('3.0','4',NULL,NULL,NULL);
 INSERT INTO `schema_version` VALUES ('3.1','4',NULL,NULL,NULL);
 INSERT INTO `schema_version` VALUES ('3.11','15',NULL,NULL,NULL);
@@ -2584,6 +2586,7 @@
   `notification_level` int(11) NOT NULL DEFAULT '1',
   `role` int(11) NOT NULL,
   `uncommitted` int(11) NOT NULL DEFAULT '0',
+  `notification_level_stop` smallint(6) NOT NULL DEFAULT '0',
   PRIMARY KEY (`id`),
   UNIQUE KEY `name` (`name`),
   KEY `snp_notification_period` (`notification_period`),
@@ -2595,13 +2598,13 @@
 
 LOCK TABLES `sharednotificationprofiles` WRITE;
 /*!40000 ALTER TABLE `sharednotificationprofiles` DISABLE KEYS */;
-INSERT INTO `sharednotificationprofiles` VALUES (1,'Admin role profile 1','u,d,r,f','w,c,r,u,f',1,1,1,1,1,10,0);
-INSERT INTO `sharednotificationprofiles` VALUES (2,'Admin role profile 2','u,d,r,f','w,c,r,u,f',1,1,1,1,1,10,0);
-INSERT INTO `sharednotificationprofiles` VALUES (3,'demorole profile 1','u,d,r,f','w,c,r,u,f',1,1,1,1,1,17,0);
-INSERT INTO `sharednotificationprofiles` VALUES (4,'demorole profile 2','u,d,r,f','w,c,r,u,f',1,1,1,1,1,17,0);
-INSERT INTO `sharednotificationprofiles` VALUES (5,'View some change some profile 1','u,d,r,f','w,c,r,u,f',1,1,1,1,1,12,0);
-INSERT INTO `sharednotificationprofiles` VALUES (6,'View some change some profile 2','u,d,r,f','w,c,r,u,f',1,0,0,0,1,12,0);
-INSERT INTO `sharednotificationprofiles` VALUES (7,'View some change some profile 3','u,d,r,f','w,c,r,u,f',1,1,1,1,1,12,0);
+INSERT INTO `sharednotificationprofiles` VALUES (1,'Admin role profile 1','u,d,r,f','w,c,r,u,f',1,1,1,1,1,10,0,0);
+INSERT INTO `sharednotificationprofiles` VALUES (2,'Admin role profile 2','u,d,r,f','w,c,r,u,f',1,1,1,1,1,10,0,0);
+INSERT INTO `sharednotificationprofiles` VALUES (3,'demorole profile 1','u,d,r,f','w,c,r,u,f',1,1,1,1,1,17,0,0);
+INSERT INTO `sharednotificationprofiles` VALUES (4,'demorole profile 2','u,d,r,f','w,c,r,u,f',1,1,1,1,1,17,0,0);
+INSERT INTO `sharednotificationprofiles` VALUES (5,'View some change some profile 1','u,d,r,f','w,c,r,u,f',1,1,1,1,1,12,0,0);
+INSERT INTO `sharednotificationprofiles` VALUES (6,'View some change some profile 2','u,d,r,f','w,c,r,u,f',1,0,0,0,1,12,0,0);
+INSERT INTO `sharednotificationprofiles` VALUES (7,'View some change some profile 3','u,d,r,f','w,c,r,u,f',1,1,1,1,1,12,0,0);
 /*!40000 ALTER TABLE `sharednotificationprofiles` ENABLE KEYS */;
 UNLOCK TABLES;
 

Modified: trunk/opsview-web/lib/Opsview/Web/I18N/de.po
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/I18N/de.po	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/lib/Opsview/Web/I18N/de.po	2013-04-25 11:06:19 UTC (rev 12183)
@@ -425,6 +425,9 @@
 msgid "ui.admin.contact.edit.help.notificationLevel"
 msgstr "Der Kontakt erhält ab diesem Level Meldungen"
 
+msgid "ui.admin.contact.edit.help.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.help.notificationPeriod"
 msgstr "Wann werden Mitteilungen zu diesem Kontakt gesendet"
 
@@ -470,6 +473,9 @@
 msgid "ui.admin.contact.edit.label.notificationLevel"
 msgstr "Empfangen eines Alarms"
 
+msgid "ui.admin.contact.edit.label.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.label.notificationPeriod"
 msgstr "Mitteilungsperiode"
 

Modified: trunk/opsview-web/lib/Opsview/Web/I18N/es.po
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/I18N/es.po	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/lib/Opsview/Web/I18N/es.po	2013-04-25 11:06:19 UTC (rev 12183)
@@ -434,6 +434,9 @@
 msgid "ui.admin.contact.edit.help.notificationLevel"
 msgstr "El contacto recibirá notificaciones empezando con éste numero de alerta "
 
+msgid "ui.admin.contact.edit.help.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.help.notificationPeriod"
 msgstr "Cuando se enviarán notificaciones a éste contacto"
 
@@ -480,6 +483,9 @@
 msgid "ui.admin.contact.edit.label.notificationLevel"
 msgstr "Receive from Alert"
 
+msgid "ui.admin.contact.edit.label.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.label.notificationPeriod"
 msgstr "Periodo de Notificación"
 

Modified: trunk/opsview-web/lib/Opsview/Web/I18N/fr.po
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/I18N/fr.po	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/lib/Opsview/Web/I18N/fr.po	2013-04-25 11:06:19 UTC (rev 12183)
@@ -423,6 +423,9 @@
 msgid "ui.admin.contact.edit.help.notificationLevel"
 msgstr "Le contact recevra les notifications à partir de ce numéro d'alerte"
 
+msgid "ui.admin.contact.edit.help.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.help.notificationPeriod"
 msgstr "Lorsque les notifications seront envoyées à ce contact"
 
@@ -468,6 +471,9 @@
 msgid "ui.admin.contact.edit.label.notificationLevel"
 msgstr "Recevoir à partir de l'alerte"
 
+msgid "ui.admin.contact.edit.label.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.label.notificationPeriod"
 msgstr "Période de notification"
 

Modified: trunk/opsview-web/lib/Opsview/Web/I18N/i_default.po
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/I18N/i_default.po	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/lib/Opsview/Web/I18N/i_default.po	2013-04-25 11:06:19 UTC (rev 12183)
@@ -482,8 +482,11 @@
 msgstr "Use CNTRL to select multiple shared notification profiles"
 
 msgid "ui.admin.contact.edit.help.notificationLevel"
-msgstr "Contact will receive notifications starting from this alert number"
+msgstr "Contact will be sent notifications starting from this alert number"
 
+msgid "ui.admin.contact.edit.help.notificationLevelStop"
+msgstr "Maximum number of alerts to send. 0 means no limit"
+
 msgid "ui.admin.contact.edit.help.notificationPeriod"
 msgstr "When notifications will be sent to this contact"
 
@@ -527,8 +530,11 @@
 msgstr "Name"
 
 msgid "ui.admin.contact.edit.label.notificationLevel"
-msgstr "Receive from Alert"
+msgstr "Send From Alert"
 
+msgid "ui.admin.contact.edit.label.notificationLevelStop"
+msgstr "Stop After Alert"
+
 msgid "ui.admin.contact.edit.label.notificationPeriod"
 msgstr "Notification Period"
 

Modified: trunk/opsview-web/lib/Opsview/Web/I18N/it.po
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/I18N/it.po	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/lib/Opsview/Web/I18N/it.po	2013-04-25 11:06:19 UTC (rev 12183)
@@ -423,6 +423,9 @@
 msgid "ui.admin.contact.edit.help.notificationLevel"
 msgstr "L'utente riceverà le notifiche dopo il superamento di questo valore"
 
+msgid "ui.admin.contact.edit.help.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.help.notificationPeriod"
 msgstr "Quando le notifiche saranno inviate a questo contatto"
 
@@ -468,6 +471,9 @@
 msgid "ui.admin.contact.edit.label.notificationLevel"
 msgstr "Ricezione di Alert"
 
+msgid "ui.admin.contact.edit.label.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.label.notificationPeriod"
 msgstr "Periodo di notifica"
 

Modified: trunk/opsview-web/lib/Opsview/Web/I18N/pl.po
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/I18N/pl.po	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/lib/Opsview/Web/I18N/pl.po	2013-04-25 11:06:19 UTC (rev 12183)
@@ -421,6 +421,9 @@
 msgid "ui.admin.contact.edit.help.notificationLevel"
 msgstr "Kontakt będzie otrzymywał powiadomienia z tego numeru alarmowego"
 
+msgid "ui.admin.contact.edit.help.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.help.notificationPeriod"
 msgstr "Gdy powiadomienia będą wysyłane do tego kontaktu"
 
@@ -466,6 +469,9 @@
 msgid "ui.admin.contact.edit.label.notificationLevel"
 msgstr "Odbiera przy Alertach"
 
+msgid "ui.admin.contact.edit.label.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.label.notificationPeriod"
 msgstr "Okres Powiadamiania"
 

Modified: trunk/opsview-web/lib/Opsview/Web/I18N/sv.po
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/I18N/sv.po	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/lib/Opsview/Web/I18N/sv.po	2013-04-25 11:06:19 UTC (rev 12183)
@@ -422,6 +422,9 @@
 msgid "ui.admin.contact.edit.help.notificationLevel"
 msgstr "Kontakten kommer att få meddelanden från detta notifieringsnummer"
 
+msgid "ui.admin.contact.edit.help.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.help.notificationPeriod"
 msgstr "När meddelanden kommer att skickas till denna kontakt"
 
@@ -467,6 +470,9 @@
 msgid "ui.admin.contact.edit.label.notificationLevel"
 msgstr "Ta emot från Larm"
 
+msgid "ui.admin.contact.edit.label.notificationLevelStop"
+msgstr ""
+
 msgid "ui.admin.contact.edit.label.notificationPeriod"
 msgstr "Meddelandeperiod"
 

Modified: trunk/opsview-web/root/admin/notificationprofile/edit_form_fields
===================================================================
--- trunk/opsview-web/root/admin/notificationprofile/edit_form_fields	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/root/admin/notificationprofile/edit_form_fields	2013-04-25 11:06:19 UTC (rev 12183)
@@ -39,7 +39,7 @@
   notify_host_default = notify_host_values;
 END;
 
-notify_host_labels = { 
+notify_host_labels = {
   u => c.loc("ui.admin.edit.label.unreachable"),
   d => c.loc("ui.admin.edit.label.down"),
   r => c.loc("ui.admin.edit.label.recovery"),
@@ -67,7 +67,7 @@
   notify_service_default = notify_service_values;
 END;
 
-notify_service_labels = { 
+notify_service_labels = {
   w => c.loc("ui.admin.edit.label.warning"),
   c => c.loc("ui.admin.edit.label.critical"),
   r => c.loc("ui.admin.edit.label.recovery"),
@@ -96,6 +96,7 @@
   help => c.loc("ui.admin.contact.edit.help.notificationPeriod"),
   help_keyword => "notification_period",
 );
+
 textfield(
   form_label => c.loc("ui.admin.contact.edit.label.notificationLevel"),
   name => "notification_level",
@@ -103,9 +104,19 @@
   default => 1,
   help => c.loc("ui.admin.contact.edit.help.notificationLevel"),
   validation_via => 1,
-  help_keyword => "receive_from_alert",
+  help_keyword => "send_from_alert",
 );
 
+textfield(
+  form_label => c.loc("ui.admin.contact.edit.label.notificationLevelStop"),
+  name => "notification_level_stop",
+  size => 3,
+  default => 0,
+  help => c.loc("ui.admin.contact.edit.help.notificationLevelStop"),
+  validation_via => 1,
+  help_keyword => "stop_after_alert",
+);
+
 '</div>';
 
 %]

Modified: trunk/opsview-web/root/admin/sharednotificationprofile/tab-notifications
===================================================================
--- trunk/opsview-web/root/admin/sharednotificationprofile/tab-notifications	2013-04-25 10:44:21 UTC (rev 12182)
+++ trunk/opsview-web/root/admin/sharednotificationprofile/tab-notifications	2013-04-25 11:06:19 UTC (rev 12183)
@@ -84,6 +84,7 @@
   help => c.loc("ui.admin.contact.edit.help.notificationPeriod"),
   help_keyword => "notification_period",
 );
+
 textfield(
   form_label => c.loc("ui.admin.contact.edit.label.notificationLevel"),
   name => "notification_level",
@@ -91,9 +92,19 @@
   default => 1,
   help => c.loc("ui.admin.contact.edit.help.notificationLevel"),
   validation_via => 1,
-  help_keyword => "receive_from_alert",
+  help_keyword => "send_from_alert",
 );
 
+textfield(
+  form_label => c.loc("ui.admin.contact.edit.label.notificationLevelStop"),
+  name => "notification_level_stop",
+  size => 3,
+  help => c.loc("ui.admin.contact.edit.help.notificationLevelStop"),
+  validation_via => 1,
+  help_keyword => "stop_after_alert",
+  value => object.notification_level_stop,
+);
+
 '</div>';
 
 %]

_______________________________________________
Opsview-checkins mailing list
Opsview-checkins@lists.opsview.org
http://lists.opsview.org/lists/listinfo/opsview-checkins

Reply via email to