lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [6307] Effect regulatory prohibitions


From: Greg Chicares
Subject: [lmi-commits] [6307] Effect regulatory prohibitions
Date: Sat, 26 Sep 2015 12:32:27 +0000

Revision: 6307
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6307
Author:   chicares
Date:     2015-09-26 12:32:26 +0000 (Sat, 26 Sep 2015)
Log Message:
-----------
Effect regulatory prohibitions

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/custom_io_0.cpp
    lmi/trunk/custom_io_1.cpp
    lmi/trunk/ledger.cpp
    lmi/trunk/ledger.hpp
    lmi/trunk/ledger_text_formats.cpp
    lmi/trunk/ledger_xsl.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ChangeLog 2015-09-26 12:32:26 UTC (rev 6307)
@@ -36910,3 +36910,43 @@
   ihs_basicval.cpp
 Establish new database entities for regulatory restrictions.
 
+20150925T2322Z <address@hidden> [475]
+
+  ledger.cpp
+  ledger.hpp
+Rearrange data members in order of ctor arguments.
+
+20150926T0050Z <address@hidden> [475]
+
+  accountvalue.cpp
+  group_values.cpp
+  ihs_acctval.cpp
+  ledger.cpp
+  ledger.hpp
+Rearrange and rename args used in Ledger ctor; remove default values.
+
+20150926T0146Z <address@hidden> [474]
+
+  group_values.cpp
+  ledger.hpp
+Demote, rewrite, and move a not-so-important defect marker.
+
+20150926T1118Z <address@hidden> [474]
+
+  accountvalue.cpp
+  group_values.cpp
+  ihs_acctval.cpp
+  ledger.cpp
+  ledger.hpp
+Pass regulatory prohibitions to class Ledger.
+
+20150926T1232Z <address@hidden> [474]
+
+  custom_io_0.cpp
+  custom_io_1.cpp
+  ledger.cpp
+  ledger.hpp
+  ledger_text_formats.cpp
+  ledger_xsl.cpp
+Effect regulatory prohibitions.
+

Modified: lmi/trunk/custom_io_0.cpp
===================================================================
--- lmi/trunk/custom_io_0.cpp   2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/custom_io_0.cpp   2015-09-26 12:32:26 UTC (rev 6307)
@@ -483,6 +483,8 @@
 
 void custom_io_0_write(Ledger const& ledger_values, std::string const& 
filename)
 {
+    throw_if_interdicted(ledger_values);
+
     std::string actual_filename =
         !filename.empty()
         ? filename

Modified: lmi/trunk/custom_io_1.cpp
===================================================================
--- lmi/trunk/custom_io_1.cpp   2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/custom_io_1.cpp   2015-09-26 12:32:26 UTC (rev 6307)
@@ -334,6 +334,8 @@
 
 void custom_io_1_write(Ledger const& ledger_values, std::string const& 
filename)
 {
+    throw_if_interdicted(ledger_values);
+
     std::string actual_filename =
         !filename.empty()
         ? filename

Modified: lmi/trunk/ledger.cpp
===================================================================
--- lmi/trunk/ledger.cpp        2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger.cpp        2015-09-26 12:32:26 UTC (rev 6307)
@@ -554,3 +554,36 @@
         ;
 }
 
+namespace
+{
+std::string reason_to_interdict(Ledger const& z)
+{
+    if(z.nonillustrated())
+        {
+        return "Illustrations are forbidden for this policy form.";
+        }
+    else if(z.no_can_issue()) // Don't even think about it, say no go.
+        {
+        return "New-business illustrations are forbidden for this policy 
form.";
+        }
+    else
+        {
+        return "";
+        }
+}
+} // Unnamed namespace.
+
+bool is_interdicted(Ledger const& z)
+{
+    return !reason_to_interdict(z).empty();
+}
+
+void throw_if_interdicted(Ledger const& z)
+{
+    std::string s = reason_to_interdict(z);
+    if(!s.empty())
+        {
+        fatal_error() << s << LMI_FLUSH;
+        }
+}
+

Modified: lmi/trunk/ledger.hpp
===================================================================
--- lmi/trunk/ledger.hpp        2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger.hpp        2015-09-26 12:32:26 UTC (rev 6307)
@@ -145,5 +145,8 @@
     ,std::string const& compound_name
     );
 
+bool LMI_SO is_interdicted      (Ledger const&);
+void LMI_SO throw_if_interdicted(Ledger const&);
+
 #endif // ledger_hpp
 

Modified: lmi/trunk/ledger_text_formats.cpp
===================================================================
--- lmi/trunk/ledger_text_formats.cpp   2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger_text_formats.cpp   2015-09-26 12:32:26 UTC (rev 6307)
@@ -468,6 +468,8 @@
     ,std::string const& file_name
     )
 {
+    throw_if_interdicted(ledger_values);
+
     LedgerInvariant const& Invar = ledger_values.GetLedgerInvariant();
     LedgerVariant   const& Curr_ = ledger_values.GetCurrFull();
     LedgerVariant   const& Guar_ = ledger_values.GetGuarFull();
@@ -869,6 +871,8 @@
     ,std::ostream& os
     )
 {
+    throw_if_interdicted(ledger);
+
     FlatTextLedgerPrinter(ledger, os).Print();
 }
 

Modified: lmi/trunk/ledger_xsl.cpp
===================================================================
--- lmi/trunk/ledger_xsl.cpp    2015-09-26 11:18:23 UTC (rev 6306)
+++ lmi/trunk/ledger_xsl.cpp    2015-09-26 12:32:26 UTC (rev 6307)
@@ -103,6 +103,8 @@
 
 std::string write_ledger_as_pdf(Ledger const& ledger, fs::path const& filepath)
 {
+    throw_if_interdicted(ledger);
+
     fs::path print_dir(configurable_settings::instance().print_directory());
 
     fs::path real_filepath(orthodox_filename(filepath.leaf()));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]