/** Represents an action taken by a staff member that has been logged. @class StaffActionLog @extends Discourse.Model @namespace Discourse @module Discourse **/ Discourse.StaffActionLog = Discourse.Model.extend({ showFullDetails: false, actionName: function() { return I18n.t("admin.logs.staff_actions.actions." + this.get('action_name')); }.property('action_name'), formattedDetails: function() { var formatted = ""; if (this.get('email')) { formatted += "Email: " + this.get('email') + "
"; } if (this.get('ip_address')) { formatted += "IP: " + this.get('ip_address') + "
"; } return formatted; }.property('ip_address', 'email') }); Discourse.StaffActionLog.reopenClass({ create: function(attrs) { if (attrs.staff_user) { attrs.staff_user = Discourse.AdminUser.create(attrs.staff_user); } if (attrs.target_user) { attrs.target_user = Discourse.AdminUser.create(attrs.target_user); } return this._super(attrs); }, findAll: function(filter) { return Discourse.ajax("/admin/logs/staff_action_logs.json").then(function(staff_actions) { return staff_actions.map(function(s) { return Discourse.StaffActionLog.create(s); }); }); } });