<?php

class Project extends Eloquent {

	protected $softDelete	 = true;
	protected $guarded		 = array();
	public static $rules	 = array();

	public function sites() {
		return $this->hasMany('Site');
	}

	public function leads() {
		return $this->hasMany('Lead');
	}

	public function products() {
		return $this->hasMany('Product')->orderBy('mark_id')->orderBy('name');
	}

	public function rejects() {
		return $this->hasMany('Reject');
	}
	
	public function productGroups() {
		return $this->hasMany('ProductGroup')->orderBy('name');
	}
	
	public function projectNews() {
		return $this->hasMany('ProjectNews');
	}

	public function partners() {
		return $this->hasMany('Partner');
	}

	public function infoSources() {
		return $this->hasMany('InfoSource');
	}
	
	public function leadsWithTrashed() {
		return $this->hasMany('Lead')->withTrashed();
	}

	public function users() {
		return $this->belongsToMany('User', 'users_projects');
	}

	public function owner() {
		return $this->belongsTo('User', 'user_id');
	}

	public function scopeMy($query) {
		if (!User::find(Sentry::getUser()->id)->hasAccess('moderator') && !User::find(Sentry::getUser()->id)->hasAnyRole(array(Role::ROLE_PROJECTS_EDITOR, Role::ROLE_PRODUCTS_EDITOR))) {
			$query->where('user_id', Sentry::getUser()->id);
		}
	}
	
	public function getProductGroupQuant() {
		$quant = array();
		
		foreach (ProductGroup::all() as $item) {
			$quant [$item->id]['quant']				  = $item->quant;
			$quant [$item->id]['quant_blocked'] = $item->quant_blocked;
			$quant [$item->id]['name']          = $item->name;
		}

		return $quant;
	}
	
}
