import computed from 'ember-addons/ember-computed-decorators'; export default Discourse.Model.extend({ @computed('days_visited', 'time_period') days_visited_percent(daysVisited, timePeriod) { return Math.round((daysVisited * 100) / timePeriod); }, @computed('min_days_visited', 'time_period') min_days_visited_percent(minDaysVisited, timePeriod) { return Math.round((minDaysVisited * 100) / timePeriod); }, met: function() { return { days_visited: this.get('days_visited') >= this.get('min_days_visited'), topics_replied_to: this.get('num_topics_replied_to') >= this.get('min_topics_replied_to'), topics_viewed: this.get('topics_viewed') >= this.get('min_topics_viewed'), posts_read: this.get('posts_read') >= this.get('min_posts_read'), topics_viewed_all_time: this.get('topics_viewed_all_time') >= this.get('min_topics_viewed_all_time'), posts_read_all_time: this.get('posts_read_all_time') >= this.get('min_posts_read_all_time'), flagged_posts: this.get('num_flagged_posts') <= this.get('max_flagged_posts'), flagged_by_users: this.get('num_flagged_by_users') <= this.get('max_flagged_by_users'), likes_given: this.get('num_likes_given') >= this.get('min_likes_given'), likes_received: this.get('num_likes_received') >= this.get('min_likes_received'), likes_received_days: this.get('num_likes_received_days') >= this.get('min_likes_received_days'), likes_received_users: this.get('num_likes_received_users') >= this.get('min_likes_received_users'), level_locked: this.get('trust_level_locked'), silenced: this.get('penalty_counts.silenced') === 0, suspended: this.get('penalty_counts.suspended') === 0 }; }.property( 'days_visited', 'min_days_visited', 'num_topics_replied_to', 'min_topics_replied_to', 'topics_viewed', 'min_topics_viewed', 'posts_read', 'min_posts_read', 'num_flagged_posts', 'max_flagged_posts', 'topics_viewed_all_time', 'min_topics_viewed_all_time', 'posts_read_all_time', 'min_posts_read_all_time', 'num_flagged_by_users', 'max_flagged_by_users', 'num_likes_given', 'min_likes_given', 'num_likes_received', 'min_likes_received', 'num_likes_received', 'min_likes_received', 'num_likes_received_days', 'min_likes_received_days', 'num_likes_received_users', 'min_likes_received_users', 'trust_level_locked', 'penalty_counts.silenced', 'penalty_counts.suspended' ) });