Compare commits

...

20 Commits

Author SHA1 Message Date
Andrew d7682c07e2 Merge remote-tracking branch 'dtp/master'
1 year ago
rob dec1cb6285 v0.6.19
1 year ago
rob 9add8e57b6 fix for uniqueVisitCount
1 year ago
rob 4bdea8bd6d Merge branch 'master' into develop
1 year ago
rob 60020dc637 Merge branch 'master' of git.digitaltelepresence.com:digital-telepresence/dtp-sites
1 year ago
rob 1074f4f624 v0.6.18
1 year ago
rob a80d3c5676 Merge branch 'develop' of git.digitaltelepresence.com:digital-telepresence/dtp-sites into develop
1 year ago
rob ffbd079866 v0.6.17
1 year ago
rob a4527f65c4 a couple enhancements
1 year ago
Andrew bf4f47746c testing recordView author
1 year ago
Andrew 9415dfbc54 testing recordView author
1 year ago
Andrew 223aa97287 testing recordView author
1 year ago
Andrew 3f05a75ef1 testing recordView author
1 year ago
Andrew 084d925df8 testing recordView author
1 year ago
Andrew 127d834440 testing recordView author
1 year ago
Andrew 499f745e58 testing recordView author
1 year ago
CyberShell 629221fc1b Merge pull request 'fix for numbers on posts' (#37) from postViewNumberFix into develop
1 year ago
Andrew a79ccb45dc fix for numbers on posts
1 year ago
CyberShell cb6a0883e2 Merge pull request 'trigger pages and posts recording views only when published' (#36) from postRecordViewChange into develop
1 year ago
Andrew e5a8171087 trigger pages and posts recording views only when published
1 year ago

@ -51,7 +51,7 @@ class PageController extends SiteController {
async getView (req, res, next) {
const { resource: resourceService } = this.dtp.services;
try {
await resourceService.recordView(req, 'Page', res.locals.page._id);
await resourceService.recordView(req, 'Page', res.locals.page._id, res);
res.locals.pageSlug = res.locals.page.slug;
res.locals.pageTitle = `${res.locals.page.title} on ${this.dtp.config.site.name}`;
res.render('page/view');

@ -339,7 +339,7 @@ class PostController extends SiteController {
}
}
await resourceService.recordView(req, 'Post', res.locals.post._id);
await resourceService.recordView(req, 'Post', res.locals.post._id, res);
res.locals.countPerPage = 20;
res.locals.pagination = this.getPaginationParameters(req, res.locals.countPerPage);

@ -34,7 +34,7 @@ class ResourceService extends SiteService {
* @param {mongoose.Types.ObjectId} resourceId The _id of the object for which
* a view is being tracked.
*/
async recordView (req, resourceType, resourceId) {
async recordView (req, resourceType, resourceId, res) {
const Model = mongoose.model(resourceType);
const modelUpdate = { $inc: { } };
@ -44,6 +44,16 @@ class ResourceService extends SiteService {
let uniqueKey = req.ip.toString().trim().toLowerCase();
if (req.user) {
if (resourceType === 'Post') {
if (req.user._id.equals(res.locals.post.author._id)) {
return;
}
}
if (resourceType === 'Page') {
if (req.user._id.equals(res.locals.page.author._id)) {
return;
}
}
uniqueKey += `:user:${req.user._id.toString()}`;
}

Loading…
Cancel
Save