AssistDesq

From ICO wiki
Revision as of 13:05, 9 June 2018 by Kgrigorj (talk | contribs) (Kgrigorj moved page Ninjas in pyjamas to AssistDesq: newTeamOldProject)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Meeskond

Karen Grigorjan

Idee

Kasutajatugi süsteem "AssistDesq 2018".

Ülesanne on teostada veebirakendus, mis võimaldaks hallata kasutajatoele saadetud pöördumisi. Süsteemi funktsionaalsus oleks järgmine:

• Kasutaja saab sisestada pöördumise.
• Pöördumisel peab olema kirjeldus, sisestamise aeg, lahendamise tähtaeg. Sisestamise ajaks märgitakse pöördumise sisestamise aeg, teised kohustuslikud väljad täidab kasutaja.
• Kasutajale kuvatakse aktiivsed pöördumised koos kõigi väljadega nimekirjas sorteeritult kahanevalt lahendamise tähtaja järgi.
• Pöördumised, mille lahendamise tähtajani on jäänud vähem kui 1 tund või mis on juba ületanud lahendamise tähtaja, kuvatakse nimekirjas punasena.
• Kasutaja saab nimekirjas pöördumisi lahendatuks märkida, mis kaotab pöördumise nimekirjast.

Projekt

Analüüs

Analüüsi document asub siin

Source code

Asub siin

XML

Teema

Support Ticket XML

XML

<?xml version="1.0" encoding="UTF-8"?>
<tickets>
   <ticket id="1" category="3">
      <title><![CDATA[Title]]></title>
      <description><![CDATA[Description]]></description>
      <details>
         <priority id="H">High</priority>
         <user role="1" id="12323" email="top@kek.ee">chubakapra90</user>
         <date>2017-03-19</date>
      </details>
      <attachments>
         <attachment id="1">dsdsad</attachment>
      </attachments>
   </ticket>
   <ticket id="2" category="1">
      <title><![CDATA[Title2]]></title>
      <description><![CDATA[Description2]]></description>
      <details>
         <priority id="M">Medium</priority>
         <user role="2" id="3333" email="hehe@lol.ee">ivanka_trump</user>
         <date>2017-03-20</date>
      </details>
      <attachments>
         <attachment id="1">dsdsad</attachment>
      </attachments>
   </ticket>
</tickets>

XML schema (XSD)

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
   <xs:element name="tickets">
      <xs:complexType>
         <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ticket">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="title" type="xs:string" />
                     <xs:element name="description" type="xs:string" />
                     <xs:element name="details">
                        <xs:complexType>
                           <xs:sequence>
                              <xs:element name="priority" type="xs:string">
                                 <xs:attribute name="id" type="xs:string" use="required">
                                    <xs:restriction base="xs:string">
                                     <xs:pattern value="[HML]"/>
                                    </xs:restriction>
                                 </xs:attribute>
                              </xs:element>
                              <xs:element name="user" type="xs:string">
                                 <xs:attribute name="role" type="xs:integer" use="required">
                                     <xs:restriction base="xs:string">
                                      <xs:pattern value="[0-3]"/>
                                     </xs:restriction>
                                 </xs:attribute>
                                 <xs:attribute name="id" type="xs:integer" use="required" />
                                 <xs:attribute name="email" type="xs:string" use="required" />
                              </xs:element>
                              <xs:element name="date" type="xs:date" />
                           </xs:sequence>
                        </xs:complexType>
                     </xs:element>
                     <xs:element name="attachment" type="xs:string">
                        <xs:attribute name="id" type="xs:integer" use="required" />
                     </xs:element>
                  </xs:sequence>
                  <xs:attribute name="id" type="xs:integer" use="required" />
                  <xs:attribute name="category" type="xs:integer" use="required" />
               </xs:complexType>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

XSLT 1

XSLT => HTML

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl">
   <xsl:output method="html" indent="yes" />
   <xsl:template match="/">
      <html>
         <head>
            <style type="text/css">
table {
    width: 100%;
}

th {
    height: 50px;
    text-align: left;
}

tr:hover {
    background-color: #f5f5f5
}
th, td {
    border-bottom: 1px solid #ddd;
}
</style>
            <title>Tickets</title>
         </head>
         <body>
            <table>
               <caption>
                  <b>Current tickets</b>
               </caption>
               <tr>
                  <th>Date</th>
                  <th>ID</th>
                  <th>Subject</th>
                  <th>Description</th>
                  <th>Created by</th>
                  <th>Priority</th>
               </tr>
               <xsl:for-each select="/tickets/ticket">
                  <tr>
                     <td>
                        <xsl:value-of select="details/date" />
                     </td>
                     <td>
                        <xsl:value-of select="@id" />
                     </td>
                     <td>
                        <xsl:value-of select="title" />
                     </td>
                     <td>
                        <xsl:value-of select="description" />
                     </td>
                     <td>
                        <xsl:value-of select="details/user" />
                     </td>
                     <td>
                        <xsl:value-of select="details/priority" />
                     </td>
                  </tr>
               </xsl:for-each>
            </table>
            <p>
               Total number of current tickets:
               <xsl:value-of select="count(tickets/ticket)" />
            </p>
         </body>
      </html>
   </xsl:template>
</xsl:stylesheet>

XSLT 2

XSLT => XML

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="/">      
      <tickets>
        <ticketstotal>
          <xsl:value-of select="count(tickets/ticket)"/>
        </ticketstotal>
         <xsl:for-each select="/tickets/ticket/">
          <xsl:sort select="/details/date" order="ascending"/>
          <ticket id ="{@id}" category ="{@category}" date="/details/date">
            <title>
            <xsl:value-of select="title"/>
            </title>
             <description>
             <xsl:value-of select="description"/>
             </description>
          </ticket>          
        </xsl:for-each>       
      </tickets>     
    </xsl:template>
</xsl:stylesheet>

Retsensioonid