import logging

from ximpia.xpcore.choices import Choices as _Ch
import ximpia.xpcore.constants as _K
from ximpia.xpcore.business import AppCompRegCommonBusiness

from service import SiteService
from django.conf import settings
from ximpia.xpcore.service import DefaultService

# Logging
logger = logging.getLogger(__name__)


#################### APPLICATION COMPONENTS : CLEAN AND MISC   ###################


class AppReg ( AppCompRegCommonBusiness ):
	def __init__(self):
		super(AppReg, self).__init__(__name__)
		self._reg.registerApp(__name__, title='$app_name', slug='$app_name')
		self._reg.registerService(__name__, serviceName='Web', className=SiteService)

###################### SERVICE COMPONENT REGISTER ###########################


class SiteServiceReg ( AppCompRegCommonBusiness ):
	def __init__(self):
		super(SiteServiceReg, self).__init__(__name__)

	def views(self):
		self._reg.registerView(__name__, serviceName='Web', viewName='home', slug='home', className=SiteService, 
							method='viewHome')

	def templates(self):
		self._reg.registerTemplate(__name__, viewName='home', name='home')

	def actions(self):
		pass

	def flows(self):
		pass

	def menus(self):
		self._reg.registerMenu(__name__, name='home', title='Home', description='Home', 
				iconName='iconHome', viewName='home')

	def viewMenus(self):
		# Service Menus
		self._reg.registerServMenu(__name__, serviceName='Web', menus=[
			{_K.ZONE: _Ch.MENU_ZONE_MAIN, _K.MENU_NAME: 'login', _K.CONDITIONS: 'notLogin:render:True'},
			{_K.ZONE: _Ch.MENU_ZONE_MAIN, _K.MENU_NAME: 'signup', _K.CONDITIONS: 'notLogin:render:True'},
			{_K.ZONE: _Ch.MENU_ZONE_MAIN, _K.MENU_NAME: 'homeLogin', _K.CONDITIONS: 'login:render:True'},
			{_K.ZONE: _Ch.MENU_ZONE_SERVICE, _K.MENU_NAME: 'home'}
			])

	def search(self):
		pass
