<?php

class Partnerfile extends \Eloquent {

	protected $guarded = array();

	public static function boot() {
		parent::boot();

		Partnerfile::deleting(function ($partnerfile) {
			File::deleteDirectory(public_path() . '/userfiles/' . $partnerfile->partner_id . '/' . $partnerfile->id);
			return true;
		});
	}

	public function partner() {
		return $this->belongsTo('Partner');
	}

	public function user() {
		return $this->belongsTo('User')->withTrashed();
	}

	public function canDelete() {
		if (Sentry::check()) {
			$user = Sentry::getUser();
			if ($this->partner->statusIsAllow(Partner::ALLOW_UPLOAD_FILE)) {
				if ($user->id == $this->user_id || $user->hasAccess(array('admin')) || User::find(Sentry::getUser()->id)->hasRole(Role::ROLE_LOGISTICS)) {
					return true;
				}
				if ($user->hasAccess(array('moderator')) && $this->partner->project->user_id == $user->id) {
					return true;
				}
			}
		}
		return false;
	}

}
