doc/TaskJuggler/StatusSheetSender.html in taskjuggler-0.0.8 vs doc/TaskJuggler/StatusSheetSender.html in taskjuggler-0.0.9
- old
+ new
@@ -127,10 +127,12 @@
<li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
+
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
@@ -205,10 +207,12 @@
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
+
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -237,10 +241,12 @@
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
+
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
@@ -517,10 +523,12 @@
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
+
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
@@ -543,12 +551,10 @@
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
<li><a href="../String.html">String</a></li>
- <li><a href="../StringIO.html">StringIO</a></li>
-
</ul>
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
</div>
@@ -639,40 +645,40 @@
<div class="method-source-code"
id="new-source">
<pre>
- <span class="ruby-comment cmt"># File lib/StatusSheetSender.rb, line 25</span>
-25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">appName</span>)
-26: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">appName</span>, <span class="ruby-value str">'status'</span>)
-27:
-28: <span class="ruby-comment cmt"># This is a LogicalExpression string that controls what resources should</span>
-29: <span class="ruby-comment cmt"># not be getting a status sheet.</span>
-30: <span class="ruby-ivar">@hideResource</span> = <span class="ruby-value str">'0'</span>
-31: <span class="ruby-comment cmt"># The base directory of the status sheet templates.</span>
-32: <span class="ruby-ivar">@templateDir</span> = <span class="ruby-value str">'StatusSheetTemplates'</span>
-33: <span class="ruby-comment cmt"># The base directory of the received time sheets.</span>
-34: <span class="ruby-ivar">@timeSheetDir</span> = <span class="ruby-value str">'TimeSheets'</span>
-35: <span class="ruby-comment cmt"># This file contains the time intervals that the StatusSheetReceiver will</span>
-36: <span class="ruby-comment cmt"># accept as a valid interval.</span>
-37: <span class="ruby-ivar">@signatureFile</span> = <span class="ruby-node">"#{@templateDir}/acceptable_intervals"</span>
-38: <span class="ruby-comment cmt"># The log file</span>
-39: <span class="ruby-ivar">@logFile</span> = <span class="ruby-value str">'statussheets.log'</span>
-40:
-41: <span class="ruby-ivar">@signatureFilter</span> = <span class="ruby-regexp re">/^[ ]*statussheet\s[a-z][a-z0-9_]*\s([0-9:\-+]*\s-\s[0-9:\-+]*)/</span>
-42: <span class="ruby-ivar">@introText</span> = <span class="ruby-value str">Please find enclosed your weekly status report template. Please fill out theform and send it back to the sender of this email. You can either use theattached file or the body of the email. In case you send it in the body of theemail, make sure it only contains the 'statussheet' syntax. It must be plaintext, UTF-8 encoded and the status sheet header from 'statussheet' to the periodend date must be in a single line that starts at the beginning of the line.</span>
-43: <span class="ruby-comment cmt"># tj3ts_summary generates a list of resources that have not submitted</span>
-44: <span class="ruby-comment cmt"># their reports yet. If you want to generate the warning below, make</span>
-45: <span class="ruby-comment cmt"># sure you run tj3ts_summary immediately before you sent the status sheet</span>
-46: <span class="ruby-comment cmt"># templates.</span>
-47: <span class="ruby-identifier">defaulters</span> = <span class="ruby-identifier">defaulterList</span>
-48: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">defaulters</span>.<span class="ruby-identifier">empty?</span>
-49: <span class="ruby-ivar">@introText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">=============================== W A R N I N G ==============================The following people have not submitted their report yet. The status reportsfor the work they have done is not included in this template! You can eithermanually add their status to the tasks or asked them to send their time sheetimmediately and re-request this template.#{defaulters.join}</span>
-50: <span class="ruby-keyword kw">end</span>
-51:
-52: <span class="ruby-ivar">@mailSubject</span> = <span class="ruby-value str">"Your weekly status report template for %s"</span>
-53: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/StatusSheetSender.rb, line 26</span>
+26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">appName</span>)
+27: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">appName</span>, <span class="ruby-value str">'status'</span>)
+28:
+29: <span class="ruby-comment cmt"># This is a LogicalExpression string that controls what resources should</span>
+30: <span class="ruby-comment cmt"># not be getting a status sheet.</span>
+31: <span class="ruby-ivar">@hideResource</span> = <span class="ruby-value str">'0'</span>
+32: <span class="ruby-comment cmt"># The base directory of the status sheet templates.</span>
+33: <span class="ruby-ivar">@templateDir</span> = <span class="ruby-value str">'StatusSheetTemplates'</span>
+34: <span class="ruby-comment cmt"># The base directory of the received time sheets.</span>
+35: <span class="ruby-ivar">@timeSheetDir</span> = <span class="ruby-value str">'TimeSheets'</span>
+36: <span class="ruby-comment cmt"># This file contains the time intervals that the StatusSheetReceiver will</span>
+37: <span class="ruby-comment cmt"># accept as a valid interval.</span>
+38: <span class="ruby-ivar">@signatureFile</span> = <span class="ruby-node">"#{@templateDir}/acceptable_intervals"</span>
+39: <span class="ruby-comment cmt"># The log file</span>
+40: <span class="ruby-ivar">@logFile</span> = <span class="ruby-value str">'statussheets.log'</span>
+41:
+42: <span class="ruby-ivar">@signatureFilter</span> = <span class="ruby-regexp re">/^[ ]*statussheet\s[a-z][a-z0-9_]*\s([0-9:\-+]*\s-\s[0-9:\-+]*)/</span>
+43: <span class="ruby-ivar">@introText</span> = <span class="ruby-value str">Please find enclosed your weekly status report template. Please fill out theform and send it back to the sender of this email. You can either use theattached file or the body of the email. In case you send it in the body of theemail, make sure it only contains the 'statussheet' syntax. It must be plaintext, UTF-8 encoded and the status sheet header from 'statussheet' to the periodend date must be in a single line that starts at the beginning of the line.</span>
+44: <span class="ruby-comment cmt"># tj3ts_summary generates a list of resources that have not submitted</span>
+45: <span class="ruby-comment cmt"># their reports yet. If you want to generate the warning below, make</span>
+46: <span class="ruby-comment cmt"># sure you run tj3ts_summary immediately before you sent the status sheet</span>
+47: <span class="ruby-comment cmt"># templates.</span>
+48: <span class="ruby-identifier">defaulters</span> = <span class="ruby-identifier">defaulterList</span>
+49: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">defaulters</span>.<span class="ruby-identifier">empty?</span>
+50: <span class="ruby-ivar">@introText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">=============================== W A R N I N G ==============================The following people have not submitted their report yet. The status reportsfor the work they have done is not included in this template! You can eithermanually add their status to the tasks or asked them to send their time sheetimmediately and re-request this template.#{defaulters.join}</span>
+51: <span class="ruby-keyword kw">end</span>
+52:
+53: <span class="ruby-ivar">@mailSubject</span> = <span class="ruby-value str">"Your weekly status report template for %s"</span>
+54: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -705,51 +711,51 @@
<div class="method-source-code"
id="defaulter-ist-source">
<pre>
- <span class="ruby-comment cmt"># File lib/StatusSheetSender.rb, line 73</span>
- 73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">defaulterList</span>
- 74: <span class="ruby-identifier">dirs</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-node">"#{@timeSheetDir}/????-??-??"</span>).<span class="ruby-identifier">sort</span>
- 75: <span class="ruby-identifier">tsDir</span> = <span class="ruby-keyword kw">nil</span>
- 76: <span class="ruby-comment cmt"># The status sheet intervals and the time sheet intervals are not</span>
- 77: <span class="ruby-comment cmt"># identical. The status sheet interval can be smaller and is somewhat</span>
- 78: <span class="ruby-comment cmt"># later. But it always includes the end date of the corresponding time</span>
- 79: <span class="ruby-comment cmt"># sheet period. To get the file with the IDs of the resources that have</span>
- 80: <span class="ruby-comment cmt"># not submitted their report, we need to find the time sheet directory</span>
- 81: <span class="ruby-comment cmt"># that is within the status sheet period.</span>
- 82: <span class="ruby-identifier">repDate</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(*<span class="ruby-ivar">@date</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>))
- 83: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
- 84: <span class="ruby-identifier">dirDate</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(*<span class="ruby-identifier">dir</span>[<span class="ruby-value">10</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>))
- 85: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dirDate</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">repDate</span>
- 86: <span class="ruby-identifier">tsDir</span> = <span class="ruby-identifier">dir</span>
- 87: <span class="ruby-keyword kw">else</span>
- 88: <span class="ruby-keyword kw">break</span>
- 89: <span class="ruby-keyword kw">end</span>
- 90: <span class="ruby-keyword kw">end</span>
- 91: <span class="ruby-comment cmt"># Check if there is a time sheet directory.</span>
- 92: <span class="ruby-keyword kw">return</span> [] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tsDir</span>
- 93:
- 94: <span class="ruby-identifier">missingFile</span> = <span class="ruby-node">"#{tsDir}/missing-reports"</span>
- 95: <span class="ruby-comment cmt"># Check if it's got a missing-reports file.</span>
- 96: <span class="ruby-keyword kw">return</span> [] <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">missingFile</span>)
- 97:
- 98: <span class="ruby-comment cmt"># The sheet could have been submitted after tj3ts_summary was run. We</span>
- 99: <span class="ruby-comment cmt"># ignore the entry if a time sheet file now exists. There is a race</span>
-100: <span class="ruby-comment cmt"># condition here. The file may exist, but it may not yet be loaded for</span>
-101: <span class="ruby-comment cmt"># the current project that is used to generate the status report. There</span>
-102: <span class="ruby-comment cmt"># is a race condition here. The file may exist, but it may not yet be</span>
-103: <span class="ruby-comment cmt"># loaded for the current project that is used to generate the status</span>
-104: <span class="ruby-comment cmt"># report.</span>
-105: <span class="ruby-identifier">list</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">readlines</span>(<span class="ruby-identifier">missingFile</span>)
-106: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
-107: <span class="ruby-identifier">tsDate</span> = <span class="ruby-identifier">tsDir</span>[<span class="ruby-value">10</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
-108: <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-node">"#{tsDir}/#{resource.chomp}_#{tsDate}.tji"</span>)
-109: <span class="ruby-keyword kw">end</span>
-110:
-111: <span class="ruby-comment cmt"># Return the content of the file.</span>
-112: <span class="ruby-identifier">list</span>
-113: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/StatusSheetSender.rb, line 74</span>
+ 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">defaulterList</span>
+ 75: <span class="ruby-identifier">dirs</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-node">"#{@timeSheetDir}/????-??-??"</span>).<span class="ruby-identifier">sort</span>
+ 76: <span class="ruby-identifier">tsDir</span> = <span class="ruby-keyword kw">nil</span>
+ 77: <span class="ruby-comment cmt"># The status sheet intervals and the time sheet intervals are not</span>
+ 78: <span class="ruby-comment cmt"># identical. The status sheet interval can be smaller and is somewhat</span>
+ 79: <span class="ruby-comment cmt"># later. But it always includes the end date of the corresponding time</span>
+ 80: <span class="ruby-comment cmt"># sheet period. To get the file with the IDs of the resources that have</span>
+ 81: <span class="ruby-comment cmt"># not submitted their report, we need to find the time sheet directory</span>
+ 82: <span class="ruby-comment cmt"># that is within the status sheet period.</span>
+ 83: <span class="ruby-identifier">repDate</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(*<span class="ruby-ivar">@date</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>))
+ 84: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
+ 85: <span class="ruby-identifier">dirDate</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(*<span class="ruby-identifier">dir</span>[<span class="ruby-value">10</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>))
+ 86: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dirDate</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">repDate</span>
+ 87: <span class="ruby-identifier">tsDir</span> = <span class="ruby-identifier">dir</span>
+ 88: <span class="ruby-keyword kw">else</span>
+ 89: <span class="ruby-keyword kw">break</span>
+ 90: <span class="ruby-keyword kw">end</span>
+ 91: <span class="ruby-keyword kw">end</span>
+ 92: <span class="ruby-comment cmt"># Check if there is a time sheet directory.</span>
+ 93: <span class="ruby-keyword kw">return</span> [] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tsDir</span>
+ 94:
+ 95: <span class="ruby-identifier">missingFile</span> = <span class="ruby-node">"#{tsDir}/missing-reports"</span>
+ 96: <span class="ruby-comment cmt"># Check if it's got a missing-reports file.</span>
+ 97: <span class="ruby-keyword kw">return</span> [] <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">missingFile</span>)
+ 98:
+ 99: <span class="ruby-comment cmt"># The sheet could have been submitted after tj3ts_summary was run. We</span>
+100: <span class="ruby-comment cmt"># ignore the entry if a time sheet file now exists. There is a race</span>
+101: <span class="ruby-comment cmt"># condition here. The file may exist, but it may not yet be loaded for</span>
+102: <span class="ruby-comment cmt"># the current project that is used to generate the status report. There</span>
+103: <span class="ruby-comment cmt"># is a race condition here. The file may exist, but it may not yet be</span>
+104: <span class="ruby-comment cmt"># loaded for the current project that is used to generate the status</span>
+105: <span class="ruby-comment cmt"># report.</span>
+106: <span class="ruby-identifier">list</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">readlines</span>(<span class="ruby-identifier">missingFile</span>)
+107: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
+108: <span class="ruby-identifier">tsDate</span> = <span class="ruby-identifier">tsDir</span>[<span class="ruby-value">10</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
+109: <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-node">"#{tsDir}/#{resource.chomp}_#{tsDate}.tji"</span>)
+110: <span class="ruby-keyword kw">end</span>
+111:
+112: <span class="ruby-comment cmt"># Return the content of the file.</span>
+113: <span class="ruby-identifier">list</span>
+114: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>