Kaynağa Gözat

- Benutzerauswahl
- Kommentar-Verknüpfung

Robert Bedner 10 yıl önce
ebeveyn
işleme
6665d81533
5 değiştirilmiş dosya ile 249 ekleme ve 158 silme
  1. 140 125
      .idea/workspace.xml
  2. 7 1
      app/db.php
  3. 18 0
      app/scripts/app.js
  4. 51 12
      app/scripts/controllers/overview.js
  5. 33 20
      app/views/overview.html

+ 140 - 125
.idea/workspace.xml

@@ -26,7 +26,7 @@
       <file leaf-file-name="overview.js" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/scripts/controllers/overview.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="278" column="31" selection-start="9056" selection-end="9056" vertical-scroll-proportion="0.0" vertical-offset="4277" max-vertical-offset="6732">
+            <state line="254" column="26" selection-start="8217" selection-end="8217" vertical-scroll-proportion="0.0" vertical-offset="3967" max-vertical-offset="7395">
               <folding />
             </state>
           </provider>
@@ -35,52 +35,84 @@
       <file leaf-file-name="db.php" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/db.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="124" column="76" selection-start="5369" selection-end="5369" vertical-scroll-proportion="-21.346153" vertical-offset="1553" max-vertical-offset="2618">
+            <state line="89" column="120" selection-start="3712" selection-end="3712" vertical-scroll-proportion="0.0" vertical-offset="1513" max-vertical-offset="2720">
               <folding>
-                <marker date="1427374808019" expanded="true" signature="653:889" placeholder="SELECT sm.*,..status_meldung..." />
-                <marker date="1427374808019" expanded="true" signature="1191:1326" placeholder="UPDATE kunde..." />
-                <marker date="1427374808019" expanded="true" signature="1590:1957" placeholder="UPDATE kunde..." />
-                <marker date="1427374808019" expanded="true" signature="1997:2017" placeholder="SELECT * FRO..kunden..." />
-                <marker date="1427374808019" expanded="true" signature="2111:2149" placeholder="SELECT kunde..kunden_config..." />
-                <marker date="1427374808019" expanded="true" signature="2460:2559" placeholder="SELECT * FRO..kunden_config..." />
-                <marker date="1427374808019" expanded="true" signature="2597:2689" placeholder="SELECT * FRO..kunden_config..." />
-                <marker date="1427374808019" expanded="true" signature="2882:2904" placeholder="SELECT * FRO..benutzer..." />
-                <marker date="1427374808019" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
-                <marker date="1427374808019" expanded="true" signature="3137:3264" placeholder="INSERT INTO ..." />
-                <marker date="1427374808019" expanded="true" signature="3137:3263" placeholder="INSERT INTO ..." />
-                <marker date="1427374808019" expanded="true" signature="3137:3251" placeholder="INSERT INTO ..." />
-                <marker date="1427374808019" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
-                <marker date="1427374808019" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
-                <marker date="1427374808019" expanded="true" signature="3458:3603" placeholder="UPDATE statu..." />
-                <marker date="1427374808019" expanded="true" signature="3642:3857" placeholder="UPDATE statu..." />
-                <marker date="1427374808019" expanded="true" signature="3642:3862" placeholder="UPDATE statu..." />
-                <marker date="1427374808019" expanded="true" signature="3648:3862" placeholder="INSERT INTO ..." />
-                <marker date="1427374808019" expanded="true" signature="3896:4022" placeholder="SELECT * FRO..status_kommentar..." />
-                <marker date="1427374808019" expanded="true" signature="4428:5429" placeholder="SELECT a.dat..arbeitstage..." />
+                <marker date="1427386414241" expanded="true" signature="653:889" placeholder="SELECT sm.*,..status_meldung..." />
+                <marker date="1427386414241" expanded="true" signature="1191:1326" placeholder="UPDATE kunde..." />
+                <marker date="1427386414241" expanded="true" signature="1590:1957" placeholder="UPDATE kunde..." />
+                <marker date="1427386414241" expanded="true" signature="1997:2017" placeholder="SELECT * FRO..kunden..." />
+                <marker date="1427386414241" expanded="true" signature="2111:2149" placeholder="SELECT kunde..kunden_config..." />
+                <marker date="1427386414241" expanded="true" signature="2460:2559" placeholder="SELECT * FRO..kunden_config..." />
+                <marker date="1427386414241" expanded="true" signature="2597:2689" placeholder="SELECT * FRO..kunden_config..." />
+                <marker date="1427386414241" expanded="true" signature="2882:2904" placeholder="SELECT * FRO..benutzer..." />
+                <marker date="1427386414241" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
+                <marker date="1427386414241" expanded="true" signature="3137:3264" placeholder="INSERT INTO ..." />
+                <marker date="1427386414241" expanded="true" signature="3137:3263" placeholder="INSERT INTO ..." />
+                <marker date="1427386414241" expanded="true" signature="3137:3251" placeholder="INSERT INTO ..." />
+                <marker date="1427386414241" expanded="true" signature="3521:3753" placeholder="INSERT INTO ..." />
+                <marker date="1427386414241" expanded="true" signature="3818:3987" placeholder="UPDATE statu..." />
+                <marker date="1427386414241" expanded="true" signature="4026:4241" placeholder="UPDATE statu..." />
+                <marker date="1427386414241" expanded="true" signature="4026:4246" placeholder="UPDATE statu..." />
+                <marker date="1427386414241" expanded="true" signature="4280:4406" placeholder="SELECT * FRO..status_kommentar..." />
+                <marker date="1427386414241" expanded="true" signature="4812:5813" placeholder="SELECT a.dat..arbeitstage..." />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="overview.html" pinned="false" current="false" current-in-tab="false">
+      <file leaf-file-name="overview.html" pinned="false" current="true" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/app/views/overview.html">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="122" column="152" selection-start="6657" selection-end="6657" vertical-scroll-proportion="-16.076923" vertical-offset="1656" max-vertical-offset="7157">
+            <state line="406" column="0" selection-start="20361" selection-end="20361" vertical-scroll-proportion="0.80697054" vertical-offset="6300" max-vertical-offset="7378">
               <folding>
                 <element signature="n#style#0;n#th#0;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#th#1;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#th#2;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#th#3;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#th#4;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="bower.json" pinned="false" current="true" current-in-tab="true">
+      <file leaf-file-name="index.html" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/index.html">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="91" column="45" selection-start="2681" selection-end="2681" vertical-scroll-proportion="0.0" vertical-offset="1122" max-vertical-offset="2822">
+              <folding>
+                <marker date="1426582695479" expanded="true" signature="2089:2242" placeholder="..." />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="bower.json" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/bower.json">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="17" column="27" selection-start="541" selection-end="541" vertical-scroll-proportion="0.38076416" vertical-offset="0" max-vertical-offset="759">
+            <state line="17" column="27" selection-start="541" selection-end="541" vertical-scroll-proportion="0.0" vertical-offset="289" max-vertical-offset="527">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="app.js" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/scripts/app.js">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="19" column="35" selection-start="552" selection-end="552" vertical-scroll-proportion="0.0" vertical-offset="323" max-vertical-offset="1309">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Gruntfile.js" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/Gruntfile.js">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="1020" max-vertical-offset="7106">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="package.json" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/package.json">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="29" column="41" selection-start="948" selection-end="948" vertical-scroll-proportion="0.0" vertical-offset="493" max-vertical-offset="782">
               <folding />
             </state>
           </provider>
@@ -113,14 +145,14 @@
         <option value="$PROJECT_DIR$/app/views/customers.html" />
         <option value="$PROJECT_DIR$/app/scripts/controllers/config.js" />
         <option value="$PROJECT_DIR$/app/scripts/controllers/customers.js" />
-        <option value="$PROJECT_DIR$/app/scripts/app.js" />
         <option value="$PROJECT_DIR$/app/scripts/controllers/stats.js" />
         <option value="$PROJECT_DIR$/app/index.html" />
         <option value="$PROJECT_DIR$/app/views/stats.html" />
         <option value="$PROJECT_DIR$/app/import.php" />
         <option value="$PROJECT_DIR$/app/db.php" />
-        <option value="$PROJECT_DIR$/app/scripts/controllers/overview.js" />
+        <option value="$PROJECT_DIR$/app/scripts/app.js" />
         <option value="$PROJECT_DIR$/app/views/overview.html" />
+        <option value="$PROJECT_DIR$/app/scripts/controllers/overview.js" />
       </list>
     </option>
   </component>
@@ -375,10 +407,10 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="1912" y="316" width="1936" height="1216" extended-state="6" />
-    <editor active="true" />
+    <editor active="false" />
     <layout>
       <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26805055" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26805055" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
@@ -390,11 +422,11 @@
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32911393" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32911393" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
-      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Command Line Tools Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32911393" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
     </layout>
   </component>
@@ -415,11 +447,6 @@
     <breakpoint-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/import.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="26" column="42" selection-start="873" selection-end="873" vertical-scroll-proportion="0.0" vertical-offset="153" max-vertical-offset="1751" />
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app/db.php">
       <provider selected="true" editor-type-id="text-editor">
         <state line="10" column="151" selection-start="388" selection-end="388" vertical-scroll-proportion="0.0" vertical-offset="79" max-vertical-offset="663" />
@@ -429,7 +456,7 @@
       <provider selected="true" editor-type-id="text-editor">
         <state line="64" column="41" selection-start="2338" selection-end="2338" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2040">
           <folding>
-            <marker date="1426582695479" expanded="true" signature="-1:-1" placeholder="..." />
+            <marker date="1426582695479" expanded="true" signature="2089:2242" placeholder="..." />
           </folding>
         </state>
       </provider>
@@ -437,7 +464,9 @@
     <entry file="file://$PROJECT_DIR$/app/views/overview.html">
       <provider selected="true" editor-type-id="text-editor">
         <state line="6" column="0" selection-start="483" selection-end="483" vertical-scroll-proportion="0.0" vertical-offset="102" max-vertical-offset="255">
-          <folding />
+          <folding>
+            <element signature="n#style#0;n#th#0;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
@@ -467,7 +496,7 @@
       <provider selected="true" editor-type-id="text-editor">
         <state line="64" column="41" selection-start="2336" selection-end="2336" vertical-scroll-proportion="0.0" vertical-offset="923" max-vertical-offset="2023">
           <folding>
-            <marker date="1426582695479" expanded="true" signature="-1:-1" placeholder="..." />
+            <marker date="1426582695479" expanded="true" signature="2089:2242" placeholder="..." />
           </folding>
         </state>
       </provider>
@@ -475,7 +504,9 @@
     <entry file="file://$PROJECT_DIR$/app/views/overview.html">
       <provider selected="true" editor-type-id="text-editor">
         <state line="9" column="0" selection-start="492" selection-end="492" vertical-scroll-proportion="0.0" vertical-offset="153" max-vertical-offset="255">
-          <folding />
+          <folding>
+            <element signature="n#style#0;n#th#0;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
@@ -505,7 +536,7 @@
       <provider selected="true" editor-type-id="text-editor">
         <state line="64" column="41" selection-start="2336" selection-end="2336" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2023">
           <folding>
-            <marker date="1426582695479" expanded="true" signature="-1:-1" placeholder="..." />
+            <marker date="1426582695479" expanded="true" signature="2089:2242" placeholder="..." />
           </folding>
         </state>
       </provider>
@@ -513,7 +544,9 @@
     <entry file="file://$PROJECT_DIR$/app/views/overview.html">
       <provider selected="true" editor-type-id="text-editor">
         <state line="9" column="0" selection-start="492" selection-end="492" vertical-scroll-proportion="0.0" vertical-offset="153" max-vertical-offset="255">
-          <folding />
+          <folding>
+            <element signature="n#style#0;n#th#0;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
@@ -569,11 +602,6 @@
         <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="610" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/package.json">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="29" column="41" selection-start="948" selection-end="948" vertical-scroll-proportion="0.0" vertical-offset="51" max-vertical-offset="782" />
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app/bower_components/bootstrap/bower.json">
       <provider selected="true" editor-type-id="text-editor">
         <state line="22" column="50" selection-start="642" selection-end="642" vertical-scroll-proportion="0.0" vertical-offset="164" max-vertical-offset="748" />
@@ -626,136 +654,123 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/app/scripts/controllers/config.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="12" column="17" selection-start="350" selection-end="350" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1037">
-          <folding />
-        </state>
+        <state line="12" column="17" selection-start="350" selection-end="350" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1037" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/index.html">
+    <entry file="file://$PROJECT_DIR$/app/views/config.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="91" column="45" selection-start="2681" selection-end="2681" vertical-scroll-proportion="0.0" vertical-offset="1122" max-vertical-offset="2822">
-          <folding>
-            <marker date="1426582695479" expanded="true" signature="-1:-1" placeholder="..." />
-          </folding>
-        </state>
+        <state line="9" column="142" selection-start="460" selection-end="460" vertical-scroll-proportion="0.0" vertical-offset="153" max-vertical-offset="850" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/scripts/app.js">
+    <entry file="file://$PROJECT_DIR$/app/scripts/controllers/stats.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="42" column="0" selection-start="1421" selection-end="1421" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1003">
-          <folding />
-        </state>
+        <state line="15" column="83" selection-start="562" selection-end="562" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1139" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/views/config.html">
+    <entry file="file://$PROJECT_DIR$/app/views/stats.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="9" column="142" selection-start="460" selection-end="460" vertical-scroll-proportion="0.0" vertical-offset="153" max-vertical-offset="850">
-          <folding />
-        </state>
+        <state line="18" column="10" selection-start="661" selection-end="661" vertical-scroll-proportion="0.0" vertical-offset="306" max-vertical-offset="425" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/scripts/controllers/stats.js">
+    <entry file="file://$PROJECT_DIR$/app/import.bat">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="15" column="83" selection-start="562" selection-end="562" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1139">
-          <folding />
-        </state>
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="785" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/views/stats.html">
+    <entry file="file://$PROJECT_DIR$/app/import.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="18" column="10" selection-start="661" selection-end="661" vertical-scroll-proportion="0.0" vertical-offset="306" max-vertical-offset="425">
-          <folding />
-        </state>
+        <state line="19" column="0" selection-start="624" selection-end="624" vertical-scroll-proportion="-12.423077" vertical-offset="0" max-vertical-offset="1972" />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/import.bat">
+    <entry file="file://$PROJECT_DIR$/app/views/customers.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="20" column="49" selection-start="833" selection-end="833" vertical-scroll-proportion="-11.115385" vertical-offset="51" max-vertical-offset="4573" />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/scripts/controllers/customers.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="14" column="23" selection-start="376" selection-end="376" vertical-scroll-proportion="0.0" vertical-offset="68" max-vertical-offset="1632" />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Gruntfile.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="785">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="7106">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/import.php">
+    <entry file="file://$PROJECT_DIR$/bower.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="19" column="0" selection-start="624" selection-end="624" vertical-scroll-proportion="-12.423077" vertical-offset="0" max-vertical-offset="1972">
-          <folding>
-            <marker date="1427288219797" expanded="true" signature="-1:-1" placeholder="SELECT kunde..kunden..." />
-            <marker date="1427288219797" expanded="true" signature="-1:-1" placeholder="INSERT INTO ..." />
-            <marker date="1427288219797" expanded="true" signature="-1:-1" placeholder="SELECT * FRO..kunden_config..." />
-            <marker date="1427288219797" expanded="true" signature="-1:-1" placeholder="INSERT INTO ..." />
-          </folding>
+        <state line="17" column="27" selection-start="541" selection-end="541" vertical-scroll-proportion="0.0" vertical-offset="289" max-vertical-offset="527">
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/views/customers.html">
+    <entry file="file://$PROJECT_DIR$/package.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="20" column="49" selection-start="833" selection-end="833" vertical-scroll-proportion="-11.115385" vertical-offset="51" max-vertical-offset="4573">
+        <state line="29" column="41" selection-start="948" selection-end="948" vertical-scroll-proportion="0.0" vertical-offset="493" max-vertical-offset="782">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/scripts/controllers/customers.js">
+    <entry file="file://$PROJECT_DIR$/app/scripts/app.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="23" selection-start="376" selection-end="376" vertical-scroll-proportion="0.0" vertical-offset="68" max-vertical-offset="1632">
+        <state line="19" column="35" selection-start="552" selection-end="552" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1309">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/db.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="124" column="76" selection-start="5369" selection-end="5369" vertical-scroll-proportion="-21.346153" vertical-offset="1553" max-vertical-offset="2618">
+        <state line="89" column="120" selection-start="3712" selection-end="3712" vertical-scroll-proportion="0.0" vertical-offset="1513" max-vertical-offset="2720">
           <folding>
-            <marker date="1427374808019" expanded="true" signature="653:889" placeholder="SELECT sm.*,..status_meldung..." />
-            <marker date="1427374808019" expanded="true" signature="1191:1326" placeholder="UPDATE kunde..." />
-            <marker date="1427374808019" expanded="true" signature="1590:1957" placeholder="UPDATE kunde..." />
-            <marker date="1427374808019" expanded="true" signature="1997:2017" placeholder="SELECT * FRO..kunden..." />
-            <marker date="1427374808019" expanded="true" signature="2111:2149" placeholder="SELECT kunde..kunden_config..." />
-            <marker date="1427374808019" expanded="true" signature="2460:2559" placeholder="SELECT * FRO..kunden_config..." />
-            <marker date="1427374808019" expanded="true" signature="2597:2689" placeholder="SELECT * FRO..kunden_config..." />
-            <marker date="1427374808019" expanded="true" signature="2882:2904" placeholder="SELECT * FRO..benutzer..." />
-            <marker date="1427374808019" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
-            <marker date="1427374808019" expanded="true" signature="3137:3264" placeholder="INSERT INTO ..." />
-            <marker date="1427374808019" expanded="true" signature="3137:3263" placeholder="INSERT INTO ..." />
-            <marker date="1427374808019" expanded="true" signature="3137:3251" placeholder="INSERT INTO ..." />
-            <marker date="1427374808019" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
-            <marker date="1427374808019" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
-            <marker date="1427374808019" expanded="true" signature="3458:3603" placeholder="UPDATE statu..." />
-            <marker date="1427374808019" expanded="true" signature="3642:3857" placeholder="UPDATE statu..." />
-            <marker date="1427374808019" expanded="true" signature="3642:3862" placeholder="UPDATE statu..." />
-            <marker date="1427374808019" expanded="true" signature="3648:3862" placeholder="INSERT INTO ..." />
-            <marker date="1427374808019" expanded="true" signature="3896:4022" placeholder="SELECT * FRO..status_kommentar..." />
-            <marker date="1427374808019" expanded="true" signature="4428:5429" placeholder="SELECT a.dat..arbeitstage..." />
+            <marker date="1427386414241" expanded="true" signature="653:889" placeholder="SELECT sm.*,..status_meldung..." />
+            <marker date="1427386414241" expanded="true" signature="1191:1326" placeholder="UPDATE kunde..." />
+            <marker date="1427386414241" expanded="true" signature="1590:1957" placeholder="UPDATE kunde..." />
+            <marker date="1427386414241" expanded="true" signature="1997:2017" placeholder="SELECT * FRO..kunden..." />
+            <marker date="1427386414241" expanded="true" signature="2111:2149" placeholder="SELECT kunde..kunden_config..." />
+            <marker date="1427386414241" expanded="true" signature="2460:2559" placeholder="SELECT * FRO..kunden_config..." />
+            <marker date="1427386414241" expanded="true" signature="2597:2689" placeholder="SELECT * FRO..kunden_config..." />
+            <marker date="1427386414241" expanded="true" signature="2882:2904" placeholder="SELECT * FRO..benutzer..." />
+            <marker date="1427386414241" expanded="true" signature="3137:3400" placeholder="INSERT INTO ..." />
+            <marker date="1427386414241" expanded="true" signature="3137:3264" placeholder="INSERT INTO ..." />
+            <marker date="1427386414241" expanded="true" signature="3137:3263" placeholder="INSERT INTO ..." />
+            <marker date="1427386414241" expanded="true" signature="3137:3251" placeholder="INSERT INTO ..." />
+            <marker date="1427386414241" expanded="true" signature="3521:3753" placeholder="INSERT INTO ..." />
+            <marker date="1427386414241" expanded="true" signature="3818:3987" placeholder="UPDATE statu..." />
+            <marker date="1427386414241" expanded="true" signature="4026:4241" placeholder="UPDATE statu..." />
+            <marker date="1427386414241" expanded="true" signature="4026:4246" placeholder="UPDATE statu..." />
+            <marker date="1427386414241" expanded="true" signature="4280:4406" placeholder="SELECT * FRO..status_kommentar..." />
+            <marker date="1427386414241" expanded="true" signature="4812:5813" placeholder="SELECT a.dat..arbeitstage..." />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/index.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="91" column="45" selection-start="2681" selection-end="2681" vertical-scroll-proportion="0.0" vertical-offset="1122" max-vertical-offset="2822">
+          <folding>
+            <marker date="1426582695479" expanded="true" signature="2089:2242" placeholder="..." />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/scripts/controllers/overview.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="278" column="31" selection-start="9056" selection-end="9056" vertical-scroll-proportion="0.0" vertical-offset="4277" max-vertical-offset="6732">
+        <state line="254" column="26" selection-start="8217" selection-end="8217" vertical-scroll-proportion="0.0" vertical-offset="3967" max-vertical-offset="7395">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/views/overview.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="122" column="152" selection-start="6657" selection-end="6657" vertical-scroll-proportion="-16.076923" vertical-offset="1656" max-vertical-offset="7157">
+        <state line="406" column="0" selection-start="20361" selection-end="20361" vertical-scroll-proportion="0.80697054" vertical-offset="6300" max-vertical-offset="7378">
           <folding>
             <element signature="n#style#0;n#th#0;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#th#1;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#th#2;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#th#3;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#th#4;n#tr#0;n#table#0;n#div#1;n#div#0;n#div#0;n#div#2;n#!!top" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/bower.json">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="17" column="27" selection-start="541" selection-end="541" vertical-scroll-proportion="0.38076416" vertical-offset="0" max-vertical-offset="759">
-          <folding />
-        </state>
-      </provider>
-    </entry>
   </component>
 </project>
 

+ 7 - 1
app/db.php

@@ -85,8 +85,14 @@ switch ($_REQUEST['a']) {
 								 VALUES ('{$data['kunde']}','{$data['datum']}','{$data['start']}','{$data['benutzer']}','{$data['fehler']}','{$data['status']}','{$data['kommentar']}','{$now}')");
 				$id = $dbh->lastInsertId();
 
+				if ($data['status'] == '7' && $data['benutzer2'] != '') {
+					$q = $dbh->exec("INSERT INTO status_kommentar (kunde, datum, start, benutzer, fehler, status, kommentar, cdate)
+								     VALUES ('{$data['kunde']}','{$data['datum']}','{$data['start']}','{$data['benutzer2']}','{$data['fehler']}','2','','{$now}')");
+					$id = $dbh->lastInsertId();
+				}
+
 				$q = $dbh->exec("UPDATE status_meldung SET bearbeitet = '1', kommentar_id = '{$id}'
-							 WHERE kunde = '{$kunde}' AND datum = '{$datum}' AND start = '{$start}' ");
+							 WHERE kunde = '{$data['kunde']}' AND datum = '{$data['datum']}' AND start = '{$data['start']}' ");
 
 			} else {
 				$q = $dbh->exec("UPDATE status_kommentar SET

+ 18 - 0
app/scripts/app.js

@@ -10,6 +10,24 @@
             'ngSanitize',
             'ngTouch'
         ])
+        .directive('popover', function() {
+            return {
+                restrict: 'EA',
+                link: function(scope, element, attrs){
+                    $(element).popover({
+                        html : true,
+                        content: function() {
+                            return scope.getCommentsInfo($(element).attr('data-popover'));
+                        }
+                    });
+                    $(element).hover(function(){
+                        $(element).popover('show');
+                    }, function(){
+                        $(element).popover('hide');
+                    });
+                }
+            };
+        })
         .config(function ($routeProvider) {
             $routeProvider
                 .when('/overview/:customer/:date/:status', {

+ 51 - 12
app/scripts/controllers/overview.js

@@ -21,11 +21,12 @@ angular.module('fehlerberichtApp')
             'bearbeitet': {
                 '0': "angesehen",
                 '1': "behoben",
-                '2': "übernommen",
+                '2': "zugeteilt",
                 '3': "Rücksprache mit Kunde",
                 '4': "Serverproblem",
                 '5': "Prozess läuft",
-                '6': "ignoriert / egal"
+                '6': "ignoriert / egal",
+                '7': "weitergeleitet"
             },
             'comment': {
                 '0': "glyphicon-eye-open",
@@ -34,7 +35,8 @@ angular.module('fehlerberichtApp')
                 '3': "glyphicon-earphone",
                 '4': "glyphicon-flash",
                 '5': "glyphicon-refresh",
-                '6': "glyphicon-remove"
+                '6': "glyphicon-remove",
+                '7': "glyphicon-share-alt"
             },
             'statusfilter': {
                 '2': 'nicht behoben',
@@ -77,6 +79,7 @@ angular.module('fehlerberichtApp')
         };
 
         $scope.benutzer = window.localStorage.getItem("Benutzer");
+        $scope.benutzer2 = 'bitte auswählen';
 
         $scope.overview = [];
         $scope.comments = {};
@@ -88,11 +91,12 @@ angular.module('fehlerberichtApp')
             'fehler': {},
             'details': null,
             'status': 2,
-            'kommentar': {}
+            'kommentar': {},
+            'fehlerdetails': null
         };
 
         $scope.Filter = {
-            'datum': (moment($routeParams.date).isValid()) ? moment($routeParams.date).format('YYYY-MM-DD') : $scope.domain.date[$routeParams.date],
+            'datum': (moment($routeParams.date, 'YYYY-MM-DD').isValid()) ? $routeParams.date : $scope.domain.date[$routeParams.date],
             'kunde': ($routeParams.customer === 'all') ? '' : $routeParams.customer,
             'fehler': $scope.domain.status[$routeParams.status],
             'fehlend': ($routeParams.status === 'missing') ? '1' : '',
@@ -123,16 +127,15 @@ angular.module('fehlerberichtApp')
             $scope.domain.benutzer = _.unique(_.pluck(data, 'benutzer'));
         });
 
+        $http.get(webservice + 'a=kommentar&kunde=' + $scope.Filter.kunde + '&datum=' + $scope.Filter.datum).success(function (data) {
+            $scope.comments = _.groupBy(data, 'kunde');
+        });
 
         $scope.refresh = function () {
             $http.get(webservice + 'a=liste&kunde=' + $scope.Filter.kunde + '&datum=' + $scope.Filter.datum).success(function (data) {
                 $scope.overview = data;
                 //$scope.domain.benutzer = _.unique(_.pluck(data, 'benutzer'));
             });
-            $http.get(webservice + 'a=kommentar&kunde=' + $scope.Filter.kunde + '&datum=' + $scope.Filter.datum).success(function (data) {
-                $scope.comments = _.groupBy(data, 'kunde');
-            });
-
         };
 
         $scope.importData = function () {
@@ -216,6 +219,14 @@ angular.module('fehlerberichtApp')
             return date;
         };
 
+        $scope.dateTimeFormat = function (date) {
+            var d = moment(date, 'YYYY-MM-DD HH:mm:ss');
+            if (d.isValid()) {
+                return d.format('DD.MM.YYYY, HH:mm');
+            }
+            return date;
+        };
+
         $scope.timeFormat = function (t) {
             var d = moment(t, 'YYYY-MM-DD HH:mm:ss');
             if (d.isValid()) {
@@ -240,6 +251,9 @@ angular.module('fehlerberichtApp')
 
 
         $scope.errorCount = function (e) {
+            if (e === null) {
+                return '0';
+            }
             if (e.Errors.length === 0 || e.Errors.length === 1 && e.Errors[0] === '') {
                 return $scope.daysCount(e);
             }
@@ -265,6 +279,7 @@ angular.module('fehlerberichtApp')
             $scope.current.zeile = row;
             $scope.current.fehler = {};
             $scope.current.details = null;
+            $scope.current.fehlerdetails = null;
 
             $scope.current.status = 2;
             $scope.current.kommentar = {};
@@ -276,7 +291,8 @@ angular.module('fehlerberichtApp')
                 'benutzer': $scope.benutzer,
                 'fehler': (row.anzahl === null) ? 0 : parseInt(row.anzahl, 10),
                 'status': '0',
-                'kommentar': ''
+                'kommentar': '',
+                'benutzer2': ''
             };
 
 
@@ -313,6 +329,12 @@ angular.module('fehlerberichtApp')
                 if (zeile.fehlend === '1') {
                     return $scope.comments[zeile.kunde];
                 }
+                if (zeile.bearbeitet === '0') {
+                    var lastErrorComments = _.filter($scope.comments[zeile.kunde], function (row) { return row.status > 0; });
+                    if (lastErrorComments.length > 0) {
+                        return lastErrorComments;
+                    }
+                }
                 var newComments = _.filter($scope.comments[zeile.kunde], function (row) { return row.datum === zeile.datum; });
                 if (newComments.length > 0) {
                     return newComments;
@@ -321,6 +343,18 @@ angular.module('fehlerberichtApp')
             return false;
         };
 
+        $scope.getCommentsInfo = function (kunde) {
+            var comments = _.filter($scope.comments[kunde], function (row) { return row.status > 0; });
+            var info = '<table class="table table-bordered table-condensed">';
+
+            if (comments) {
+                for (var i = 0; i < comments.length; i++) {
+                    info += '<tr><td>' + $scope.dateFormat(comments[i].datum) + '</td><td>' + comments[i].benutzer + '</td><td>' + $scope.domain.bearbeitet[comments[i].status] + '</td><td>' + comments[i].kommentar + '</td></tr>';
+                }
+            }
+            return info + '</table>';
+        };
+
         $scope.getCommentIcon = function (c) {
             var c0 = c;
             if (c.length > 0) {
@@ -365,7 +399,7 @@ angular.module('fehlerberichtApp')
 
         $scope.saveComments = function () {
             $http.put(webservice + 'a=kommentar&id=' + $scope.current.kommentar.id, $scope.current.kommentar).success(function (data) {
-                $scope.comments = data;
+                $scope.comments = _.groupBy(data, 'kunde');
 
                 if ($scope.current.kommentar.id === '') {
                     $scope.refresh();
@@ -386,6 +420,11 @@ angular.module('fehlerberichtApp')
         };
 
         $scope.statusFilter = function (row) {
-            return (row.status >= $scope.current.status);
+            return (row.status >= $scope.current.status || row.datum === $scope.current.zeile.datum);
+        };
+
+        $scope.editComment = function (c) {
+            c.fehler=parseInt(c.fehler, 10);
+            $scope.current.kommentar = c;
         };
     });

+ 33 - 20
app/views/overview.html

@@ -1,22 +1,18 @@
 <div class="container-fluid">
-    <div class="well" ng-show="benutzer==null">
-        Benutzer:<br/>
-        <div class="dropdown">
-            <a class="btn dropdown-toggle" role="button" data-toggle="dropdown">{{benutzer2||'unbekannt'}}&nbsp;<b class="caret"></b></a>
-            <ul class="dropdown-menu" role="menu">
-                <li ng-repeat="val in domain.benutzer"><a ng-click="benutzer2=val">{{val}}</a></li>
-            </ul>
-        </div>
-        <br/>
-
-        <button class="btn btn-default btn-sm" ng-click="saveUser(benutzer2)">Speichern</button>
-    </div>
-
     <ul class="nav nav-pills">
         <li><a ng-href="#/overview/all/today/errors">Heutige Fehler</a></li>
         <li><a ng-href="#/overview/all/today/all">Heutige Statusmeldungen</a></li>
         <li><a ng-href="#/overview/all/all/missing">Alle Fehlenden</a></li>
         <li><a ng-href="#/overview/all/all/errors">Alle Fehler</a></li>
+
+        <li>
+            <div class="dropdown">
+                <a class="btn dropdown-toggle" role="button" data-toggle="dropdown">Benutzer: {{benutzer||'bitte auswählen'}}&nbsp;<b class="caret"></b></a>
+                <ul class="dropdown-menu" role="menu">
+                    <li ng-repeat="val in domain.benutzer"><a ng-click="saveUser(val)">{{val}}</a></li>
+                </ul>
+            </div>
+        </li>
     </ul>
 
 </div>
@@ -120,8 +116,8 @@
             </button>
         </td>
         <td>
-            <button type="button" class="btn btn-default btn-sm" ng-init="c = getComments(zeile)" ng-show="c" data-toggle="popover" data-placement="bottom" title="test" data-content="{{c[0].kommentar}}
-{{domain.bearbeitet[c[0].status]}}">
+            <button type="button" class="btn btn-default btn-sm" ng-init="c = getComments(zeile)" ng-show="c" data-toggle="popover" data-placement="bottom"
+                    title="" data-content="" data-popover="{{zeile.kunde}}">
                 <span ng-show="c[0].datum != zeile.datum">{{dateFormat(c[0].datum)}}: </span>
                 <span class="glyphicon {{getCommentIcon(c)}}"></span>
                 <span class="label label-danger label-{{c[0].fehler}}"> {{c[0].fehler}}</span>
@@ -150,7 +146,7 @@
                         <td>
                             <button class="btn btn-default" ng-click="current.kommentar=current.template"><span class="glyphicon glyphicon-plus"></span></button>
                         </td>
-                        <th style="width: 130px;">Datum</th>
+                        <th style="width: 140px;">Datum</th>
                         <th style="width: 100px;">Benutzer</th>
                         <th style="width: 170px;">Status</th>
                         <th style="width: 70px;">Anzahl</th>
@@ -174,8 +170,8 @@
                         <td></td>
                     </tr>
                     <tr ng-repeat="c in comments[current.zeile.kunde] | filter:statusFilter | orderBy: 'datum' ">
-                        <td><button class="btn btn-default" ng-click="current.kommentar=c;c.fehler=parseInt(c.fehler,10)"><span class="glyphicon glyphicon-pencil"></span></button></td>
-                        <td>{{dateFormat(c.datum)}}</td>
+                        <td><button class="btn btn-default" ng-click="editComment(c)"><span class="glyphicon glyphicon-pencil"></span></button></td>
+                        <td>{{dateTimeFormat(c.mdate)}}</td>
                         <td>{{c.benutzer}}</td>
                         <td><span class="glyphicon {{getCommentIcon(c)}}"></span> {{domain.bearbeitet[c.status]}}</td>
                         <td><span class="label label-danger label-{{c.fehler}}"> {{c.fehler}}</span></td>
@@ -206,6 +202,17 @@
                             </div>
                         </td>
                     </tr>
+                    <tr ng-show="current.kommentar.status=='7'">
+                        <th>Empfänger</th>
+                        <td>
+                            <div class="dropdown">
+                                <a class="btn dropdown-toggle" role="button" data-toggle="dropdown">{{current.kommentar.benutzer2||'unbekannt'}}&nbsp;<b class="caret"></b></a>
+                                <ul class="dropdown-menu" role="menu">
+                                    <li ng-repeat="val in domain.benutzer"><a ng-click="current.kommentar.benutzer2=val;current.kommentar.kommentar='weitergeleitet an '+val">{{val}}</a></li>
+                                </ul>
+                            </div>
+                        </td>
+                    </tr>
                     <tr>
                         <th>Anzahl Fehler
                             <span class="label label-danger label-{{current.fehler.anzahl}}"> {{current.fehler.anzahl}}</span>
@@ -283,13 +290,19 @@
 
                         <td>
                             <ul>
-                                <li ng-repeat="e in g">
-                                    {{e.Name}}
+                                <li ng-repeat="e in g" >
+                                    <a ng-click="current.fehlerdetails = e" ng-show="header == 'Workflow'">{{e.Name}}</a>
+                                    <span ng-show="header != 'Workflow'">{{e.Name}}</span>
                                 </li>
                             </ul>
                         </td>
                     </tr>
                 </table>
+
+                <div class="logdatei" ng-show="current.fehlerdetails != null">
+                    <p class="modell">{{current.fehlerdetails.Type}}: {{current.fehlerdetails.Name}} ({{errorCount(current.fehlerdetails)}})</p>
+                    <pre class="fehler" ng-repeat="error in current.fehlerdetail.Errors">{{error}}</pre>
+                </div>
             </div>
         </div>
     </div>