Skip to content

Commit

Permalink
New Features
Browse files Browse the repository at this point in the history
UPDATED: when accessed from Start -> Administer Content Classes, this
allows the search for all content class instances

UPDATED: dropdown is now multi-selectable via CTRL + CLICK
  • Loading branch information
jhuangsoftware committed Dec 12, 2014
1 parent 5b56f30 commit 22bb7c5
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 18 deletions.
Binary file modified LastModifiedReport.xml
Binary file not shown.
30 changes: 21 additions & 9 deletions index.asp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
</script>

<script id="template-search-options-content-class" type="text/x-handlebars-template" data-container="#search-options .form-horizontal" data-action="append">
{{#if contentclassguid}}
<div class="control-group">
<label class="control-label">Content Class</label>
<div class="controls">
Expand All @@ -46,14 +47,15 @@
</div>
</div>
</div>
{{/if}}
</script>

<script id="template-search-option-last-modified-user" type="text/x-handlebars-template" data-container="#search-options .form-horizontal" data-action="append">
<div class="control-group">
<label class="control-label">By User</label>
<div class="controls">
<div class="users">
<select>
<select multiple>
{{#each users}}
<option data-guid="{{guid}}">{{name}}</option>
{{/each}}
Expand All @@ -80,21 +82,29 @@
<div class="clearfix"></div>
</div>
<div class="well">
{{#if contentclassname}}
<div class="row-fluid">
<div class="span3"><strong>Content Class</strong></div>
<div class="span6">{{contentclassname}}</div>
</div>
{{/if}}
{{#if contentclassguid}}
<div class="row-fluid">
<div class="span3"><strong>Content Class Guid</strong></div>
<div class="span6">{{contentclassguid}}</div>
</div>
{{/if}}
<div class="row-fluid">
<div class="span3"><strong>Last Modified Date</strong></div>
<div class="span6">{{lastmodifieddate}}</div>
</div>
<div class="row-fluid">
<div class="span3"><strong>Last Modified User</strong></div>
<div class="span6">{{lastmodifieduser}}</div>
<div class="span3"><strong>Last Modified Users</strong></div>
<div class="span6">{{lastmodifiedusers}}</div>
</div>
<div class="row-fluid">
<div class="span3"><strong>Found results</strong></div>
<div class="span6">{{count}}</div>
</div>
</div>
</script>
Expand All @@ -104,14 +114,16 @@
<div class="alert row">
<div class="span5">
<div class="display-in-tree" data-guid="{{guid}}">
<span class="badge badge-info page-id">{{id}}</span> <span class="page-name">{{name}}</span>
<span class="badge badge-success page-id">{{id}}</span> <span class="page-name">{{name}}</span>
</div>
</div>
<div class="span3">
<span class="label label-info last-modified-date">{{lastmodifieddate}}</span>
</div>
<div class="span3">
<span class="label label-info last-modified-user">{{lastmodifieduser}}</span>
<div class="span4">
<div>
<span class="label label-inverse content-class-name">{{contentclassname}}</span>
</div>
<div>
<span class="label last-modified-user">{{lastmodifieduser}}</span> - <span class="label label-info last-modified-date">{{lastmodifieddate}}</span>
</div>
</div>
</div>
{{/each}}
Expand Down
36 changes: 27 additions & 9 deletions js/last-modified-report.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,17 @@ function LastModifiedReport(RqlConnectorObj, ProjectGuid, ContentClassGuid){
var ContentClassName = $(SearchOptionsContainer).find('.content-class input').val();
var ContentClassGuid = $(SearchOptionsContainer).find('.content-class input').attr('data-guid');
var LastModifiedDate = $(SearchOptionsContainer).find('.date input').val();
var LastModifiedUserGuid = $(SearchOptionsContainer).find('.users :selected').attr('data-guid');
var LastModifiedUserName = $(SearchOptionsContainer).find('.users :selected').text();

ThisClass.DisplayLastModifiedResults(ContentClassName, ContentClassGuid, LastModifiedDate, LastModifiedUserGuid, LastModifiedUserName);
var LastModifiedUserGuidsArray = [];
var LastModifiedUserNamesArray = [];
$(SearchOptionsContainer).find('.users :selected').each(function(){
if($(this).attr('data-guid')){
LastModifiedUserGuidsArray.push($(this).attr('data-guid'));
LastModifiedUserNamesArray.push($(this).text());
}
});

ThisClass.DisplayLastModifiedResults(ContentClassName, ContentClassGuid, LastModifiedDate, LastModifiedUserGuidsArray, LastModifiedUserNamesArray);
});

var SearchResultContainer = $(this.TemplateSearchResult).attr('data-container');
Expand Down Expand Up @@ -102,26 +109,34 @@ LastModifiedReport.prototype.GetLastModifiedDate = function(){
});
}

LastModifiedReport.prototype.DisplayLastModifiedResults = function(ContentClassName, ContentClassGuid, LastModifiedDate, LastModifiedUserGuid, LastModifiedUserName){
LastModifiedReport.prototype.DisplayLastModifiedResults = function(ContentClassName, ContentClassGuid, LastModifiedDate, LastModifiedUserGuidsArray, LastModifiedUserNamesArray){
var ThisClass = this;

var SearchOptionsContainer = $(this.TemplateSearchOptions).attr('data-container');
$(SearchOptionsContainer).find('.modal').modal('hide');

var RqlXml = '<PAGE action="xsearch" pagesize="-1" maxhits="-1" orderby="changedate"><SEARCHITEMS>';

RqlXml += '<SEARCHITEM key="contentclassguid" value="' + ContentClassGuid + '" operator="eq"></SEARCHITEM>';
if(ContentClassGuid){
RqlXml += '<SEARCHITEM key="contentclassguid" value="' + ContentClassGuid + '" operator="eq"></SEARCHITEM>';
}

if(LastModifiedDate){
RqlXml += '<SEARCHITEM key="changedate" value="' + this.ConvertToRedDotDate(new Date(LastModifiedDate)) + '" operator="le"></SEARCHITEM>';
}

if(LastModifiedUserGuid){
RqlXml += '<SEARCHITEM key="changedby" value="list" operator="eq"><USERS><USER guid="' + LastModifiedUserGuid + '" /></USERS></SEARCHITEM>';
if(LastModifiedUserGuidsArray.length > 0){
RqlXml += '<SEARCHITEM key="changedby" value="list" operator="eq"><USERS>';
$.each(LastModifiedUserGuidsArray, function(index, LastModifiedUserGuid){
RqlXml += '<USER guid="' + LastModifiedUserGuid + '" />';
});
RqlXml += '</USERS></SEARCHITEM>';
}

RqlXml += '</SEARCHITEMS></PAGE>';

console.log(RqlXml);

this.RqlConnectorObj.SendRql(RqlXml, false, function(data){
var ResultPages = [];

Expand All @@ -130,6 +145,7 @@ LastModifiedReport.prototype.DisplayLastModifiedResults = function(ContentClassN
id: $(this).attr('id'),
guid: $(this).attr('guid'),
name: $(this).attr('headline'),
contentclassname: $(this).find('CONTENTCLASS').attr("name"),
lastmodifieddate: ThisClass.FormatDateTime(ThisClass.ConvertFromRedDotDate($(this).find('CHANGE').attr('date'))),
lastmodifieduser: $(this).find('CHANGE USER').attr('name')
});
Expand All @@ -138,8 +154,9 @@ LastModifiedReport.prototype.DisplayLastModifiedResults = function(ContentClassN
var SearchResultOptionsObj = {
contentclassname: ContentClassName,
contentclassguid: ContentClassGuid,
count: $(data).find('PAGE').length,
lastmodifieddate: LastModifiedDate,
lastmodifieduser: LastModifiedUserName
lastmodifiedusers: LastModifiedUserNamesArray.join(',')
};

ThisClass.UpdateArea(ThisClass.TemplateSearchResultOptions, SearchResultOptionsObj);
Expand All @@ -165,9 +182,10 @@ LastModifiedReport.prototype.CopyASCsvToClipboard = function(){
$(SearchResultContainer).find('.alert').each(function(){
var PageId = '"' + $(this).find('.page-id').text().replace(/"/g, '\"') + '"';
var PageName = '"' + $(this).find('.page-name').text().replace(/"/g, '\"') + '"';
var ContentClassName = '"' + $(this).find('.content-class-name').text().replace(/"/g, '\"') + '"';
var LastModifiedDate = '"' + $(this).find('.last-modified-date').text() + '"';
var LastModifiedUser = '"' + $(this).find('.last-modified-user').text() + '"';
var CSVRowArray = [PageId, PageName, LastModifiedDate, LastModifiedUser];
var CSVRowArray = [PageId, PageName, ContentClassName, LastModifiedDate, LastModifiedUser];

CSV += CSVRowArray.join(',') + '\r\n';
});
Expand Down

0 comments on commit 22bb7c5

Please sign in to comment.