Ignore:
Timestamp:
Aug 11, 2009, 4:35:03 PM (13 years ago)
Author:
Martin Svensson
Message:

References #360 Covering the submenu items in 'Biomaterial LIMS' and 'Array LIMS' menus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/common/annotations/list_annotations.jsp

    r4889 r5044  
    140140        %>
    141141        <%=message == null ? "" : message%>
    142         <h4 class="docked">Primary annotations</h4>
    143         <tbl:table
    144           id="annotations"
    145           clazz="itemlist"
    146           columns="all"
     142        <base:section
     143          id="primaryAnnotations"
     144          title="<%="Primary annotations (" + annotationTypes.size() + ")"%>"
    147145          >
    148           <tbl:columndef
    149             id="annotation"
    150             title="Annotation"
    151           />
    152           <tbl:columndef
    153             id="values"
    154             title="Values"
    155           />
    156           <tbl:columndef
    157             id="description"
    158             title="Description"
    159           />
    160           <tbl:data>
    161             <tbl:columns>
    162             </tbl:columns>
    163             <tbl:rows>
    164             <%
    165             for (AnnotationType at : annotationTypes)
    166             {
    167               Annotation a = as != null && as.hasAnnotation(at) ? as.getAnnotation(at) : null;
    168               List<?> values = null;
    169               Formatter formatter = null;
    170               if (a != null)
    171               {
    172                 values = a.getValues(null);
    173                 formatter = FormatterFactory.getAnnotationFormatter(sc, a, null);
    174               }
    175               if (values != null || !at.isRemoved())
    176               {
    177               %>
    178                 <tbl:row>
    179                   <tbl:cell column="annotation"><base:icon
    180                     image="deleted.gif"
    181                     tooltip="This item has been scheduled for deletion"
    182                     visible="<%=at.isRemoved()%>"
    183                   /><%=Base.getLinkedName(ID, at, false, true)%></tbl:cell>
    184                   <tbl:cell column="values"><%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
    185                   <%
    186                     if (writePermission)
    187                     {
    188                       %>: <base:icon image="edit.gif"
    189                         onclick="<%="editAnnotation("+at.getId()+")"%>"
    190                         tooltip="Modify the values of this annotation" />
    191                       <%
    192                     }
    193                     %>
    194                   </tbl:cell>
    195                   <tbl:cell column="description"><%=HTML.encodeTags(at.getDescription())%></tbl:cell>
    196                 </tbl:row>
    197                 <%
    198               }
    199             }
    200             %>
    201             </tbl:rows>
    202           </tbl:data>
    203         </tbl:table>
    204         <br>
    205         <%
    206       }
    207       if (protocolParameters != null )
    208       {
    209         if (protocolParameters.size() == 0)
    210         {
    211           %>
    212           <h4>Protocol parameters</h4>
    213           No protocol parameters has been defined for the protocol
    214           <%=Base.getLinkedName(ID, protocol, !readProtocol, true)%>
    215           (or you don't have permission to view them).
    216           <%
    217         }
    218         else
    219         {
    220           %>
    221           <h4 class="docked">Protocol parameters for:
    222             <%=Base.getLinkedName(ID, protocol, !readProtocol, true)%></h4>
    223146          <tbl:table
    224             id="parameters"
     147            id="annotations"
    225148            clazz="itemlist"
    226149            columns="all"
    227150            >
    228151            <tbl:columndef
    229               id="parameter"
    230               title="Parameter"
     152              id="annotation"
     153              title="Annotation"
    231154            />
    232155            <tbl:columndef
     
    243166              <tbl:rows>
    244167              <%
    245               for (AnnotationType at : protocolParameters)
     168              for (AnnotationType at : annotationTypes)
    246169              {
    247170                Annotation a = as != null && as.hasAnnotation(at) ? as.getAnnotation(at) : null;
     171                List<?> values = null;
    248172                Formatter formatter = null;
    249                 List<?> values = null;
    250173                if (a != null)
    251174                {
     
    255178                if (values != null || !at.isRemoved())
    256179                {
    257                   %>
     180                %>
    258181                  <tbl:row>
    259                     <tbl:cell column="parameter"><base:icon
     182                    <tbl:cell column="annotation"><base:icon
    260183                      image="deleted.gif"
    261184                      tooltip="This item has been scheduled for deletion"
    262185                      visible="<%=at.isRemoved()%>"
    263186                    /><%=Base.getLinkedName(ID, at, false, true)%></tbl:cell>
    264                     <tbl:cell column="values">
    265                       <%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
    266                       <%
     187                    <tbl:cell column="values"><%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
     188                    <%
    267189                      if (writePermission)
    268190                      {
    269191                        %>: <base:icon image="edit.gif"
    270192                          onclick="<%="editAnnotation("+at.getId()+")"%>"
    271                           tooltip="Modify the values of this protocol parameter" />
     193                          tooltip="Modify the values of this annotation" />
    272194                        <%
    273195                      }
     
    284206          </tbl:table>
    285207          <br>
     208        </base:section>
     209        <%
     210      }
     211      if (protocolParameters != null )
     212      {
     213        if (protocolParameters.size() == 0)
     214        {
     215          %>
     216          <h4>Protocol parameters</h4>
     217          No protocol parameters has been defined for the protocol
     218          <%=Base.getLinkedName(ID, protocol, !readProtocol, true)%>
     219          (or you don't have permission to view them).
     220          <%
     221        }
     222        else
     223        {
     224          %>
     225          <base:section
     226            id="parameterSection"
     227            title="<%="Protocol parameters for: " +
     228              Base.getLinkedName(ID, protocol, !readProtocol, true) + " (" + protocolParameters.size() + ")"%>"
     229            >
     230            <tbl:table
     231              id="parameters"
     232              clazz="itemlist"
     233              columns="all"
     234              >
     235              <tbl:columndef
     236                id="parameter"
     237                title="Parameter"
     238              />
     239              <tbl:columndef
     240                id="values"
     241                title="Values"
     242              />
     243              <tbl:columndef
     244                id="description"
     245                title="Description"
     246              />
     247              <tbl:data>
     248                <tbl:columns>
     249                </tbl:columns>
     250                <tbl:rows>
     251                <%
     252                for (AnnotationType at : protocolParameters)
     253                {
     254                  Annotation a = as != null && as.hasAnnotation(at) ? as.getAnnotation(at) : null;
     255                  Formatter formatter = null;
     256                  List<?> values = null;
     257                  if (a != null)
     258                  {
     259                    values = a.getValues(null);
     260                    formatter = FormatterFactory.getAnnotationFormatter(sc, a, null);
     261                  }
     262                  if (values != null || !at.isRemoved())
     263                  {
     264                    %>
     265                    <tbl:row>
     266                      <tbl:cell column="parameter"><base:icon
     267                        image="deleted.gif"
     268                        tooltip="This item has been scheduled for deletion"
     269                        visible="<%=at.isRemoved()%>"
     270                      /><%=Base.getLinkedName(ID, at, false, true)%></tbl:cell>
     271                      <tbl:cell column="values">
     272                        <%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
     273                        <%
     274                        if (writePermission)
     275                        {
     276                          %>: <base:icon image="edit.gif"
     277                            onclick="<%="editAnnotation("+at.getId()+")"%>"
     278                            tooltip="Modify the values of this protocol parameter" />
     279                          <%
     280                        }
     281                        %>
     282                      </tbl:cell>
     283                      <tbl:cell column="description"><%=HTML.encodeTags(at.getDescription())%></tbl:cell>
     284                    </tbl:row>
     285                    <%
     286                  }
     287                }
     288                %>
     289                </tbl:rows>
     290              </tbl:data>
     291            </tbl:table>
     292            <br>
     293          </base:section>
    286294          <%
    287295        }
     
    302310      {
    303311        %>
    304         <h4 class="docked">Inherited annotations and protocol parameters</h4>
    305         <tbl:table
    306           id="inheritedAnnotations"
    307           clazz="itemlist"
    308           columns="all"
     312        <base:section
     313          id="inherited"
     314          title="<%="Inherited annotations and protocol parameters (" + inheritedAnnotations + ")"%>"         
    309315          >
    310           <tbl:columndef
    311             id="annotation"
    312             title="Annotation"
    313           />
    314           <tbl:columndef
    315             id="item"
    316             title="From item"
    317           />
    318           <tbl:columndef
    319             id="values"
    320             title="Values"
    321           />
    322           <tbl:columndef
    323             id="description"
    324             title="Description"
    325           />
    326           <tbl:data>
    327             <tbl:columns>
    328             </tbl:columns>
    329             <tbl:rows>
    330             <%
    331             String denied = "<i>- denied -</i>";
    332             for (Annotation a : inheritedAnnotations)
    333             {
    334               AnnotationType at = null;
    335               int annotationTypeId = 0;
    336               String name = denied;
    337               String description = "";
    338               boolean writeInherited = false;
    339               String icon = "joust/annotation.gif";
    340               Formatter formatter = FormatterFactory.getAnnotationFormatter(sc, a, null);
    341               try
     316          <tbl:table
     317            id="inheritedAnnotations"
     318            clazz="itemlist"
     319            columns="all"
     320            >
     321            <tbl:columndef
     322              id="annotation"
     323              title="Annotation"
     324            />
     325            <tbl:columndef
     326              id="item"
     327              title="From item"
     328            />
     329            <tbl:columndef
     330              id="values"
     331              title="Values"
     332            />
     333            <tbl:columndef
     334              id="description"
     335              title="Description"
     336            />
     337            <tbl:data>
     338              <tbl:columns>
     339              </tbl:columns>
     340              <tbl:rows>
     341              <%
     342              String denied = "<i>- denied -</i>";
     343              for (Annotation a : inheritedAnnotations)
    342344              {
    343                 at = a.getAnnotationType();
    344                 annotationTypeId = at.getId();
    345                 name = HTML.encodeTags(at.getName());
    346                 if (at.isRemoved())
     345                AnnotationType at = null;
     346                int annotationTypeId = 0;
     347                String name = denied;
     348                String description = "";
     349                boolean writeInherited = false;
     350                String icon = "joust/annotation.gif";
     351                Formatter formatter = FormatterFactory.getAnnotationFormatter(sc, a, null);
     352                try
    347353                {
    348                   icon = "deleted.gif";
     354                  at = a.getAnnotationType();
     355                  annotationTypeId = at.getId();
     356                  name = HTML.encodeTags(at.getName());
     357                  if (at.isRemoved())
     358                  {
     359                    icon = "deleted.gif";
     360                  }
     361                  else if (at.isProtocolParameter())
     362                  {
     363                    icon = "parameter.gif";
     364                  }
     365                  description = HTML.encodeTags(at.getDescription());
    349366                }
    350                 else if (at.isProtocolParameter())
     367                catch (PermissionDeniedException ex)
     368                {}
     369                Nameable aItem = null;
     370                try
    351371                {
    352                   icon = "parameter.gif";
     372                  aItem = (Nameable)a.getAnnotationSet().getItem();
     373                  writeInherited = aItem.hasPermission(Permission.WRITE);
    353374                }
    354                 description = HTML.encodeTags(at.getDescription());
     375                catch (PermissionDeniedException ex)
     376                {}
     377                List<?> values = a.getValues(null);
     378                %>
     379                <tbl:row>
     380                  <tbl:cell column="annotation"><base:icon image="<%=icon%>" />&nbsp;<%=Base.getLinkedName(ID, at, at == null, true)%></tbl:cell>
     381                  <tbl:cell column="item"><%=Base.getLinkedName(ID, aItem, aItem == null, true)%><%=aItem != null ? " ["+aItem.getType()+"]" : ""%></tbl:cell>
     382                  <tbl:cell column="values">
     383                    <%=values == null || values.size() == 0 ?
     384                      "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
     385                    <%
     386                    if (writeInherited && aItem != null)
     387                    {
     388                      %>: <base:icon image="edit.gif"
     389                        onclick="<%="editInheritedAnnotation('"+aItem.getType().name()+"', "+aItem.getId()+", "+at.getId()+")"%>"
     390                        tooltip="Modify the values of this annotation" />
     391                      <%
     392                    }
     393                    %>
     394                  </tbl:cell>
     395                  <tbl:cell column="description"><%=description%></tbl:cell>
     396                </tbl:row>
     397                <%
    355398              }
    356               catch (PermissionDeniedException ex)
    357               {}
    358               Nameable aItem = null;
    359               try
    360               {
    361                 aItem = (Nameable)a.getAnnotationSet().getItem();
    362                 writeInherited = aItem.hasPermission(Permission.WRITE);
    363               }
    364               catch (PermissionDeniedException ex)
    365               {}
    366               List<?> values = a.getValues(null);
    367399              %>
    368               <tbl:row>
    369                 <tbl:cell column="annotation"><base:icon image="<%=icon%>" />&nbsp;<%=Base.getLinkedName(ID, at, at == null, true)%></tbl:cell>
    370                 <tbl:cell column="item"><%=Base.getLinkedName(ID, aItem, aItem == null, true)%><%=aItem != null ? " ["+aItem.getType()+"]" : ""%></tbl:cell>
    371                 <tbl:cell column="values">
    372                   <%=values == null || values.size() == 0 ?
    373                     "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
    374                   <%
    375                   if (writeInherited && aItem != null)
    376                   {
    377                     %>: <base:icon image="edit.gif"
    378                       onclick="<%="editInheritedAnnotation('"+aItem.getType().name()+"', "+aItem.getId()+", "+at.getId()+")"%>"
    379                       tooltip="Modify the values of this annotation" />
    380                     <%
    381                   }
    382                   %>
    383                 </tbl:cell>
    384                 <tbl:cell column="description"><%=description%></tbl:cell>
    385               </tbl:row>
    386               <%
    387             }
    388             %>
    389             </tbl:rows>
    390           </tbl:data>
    391         </tbl:table>
     400              </tbl:rows>
     401            </tbl:data>
     402          </tbl:table>
     403        </base:section>
    392404        <base:icon image="joust/annotation.gif" /> = Annotation,
    393405        <base:icon image="parameter.gif" /> = Protocol parameter
Note: See TracChangeset for help on using the changeset viewer.