<?php

namespace Lc\CaracoleBundle\Definition;

use Lc\SovBundle\Definition\AbstractSettingDefinition;

class MerchantSettingDefinition extends AbstractSettingDefinition implements MerchantSettingDefinitionInterface
{
    const CATEGORY_GENERAL = 'general';
    const CATEGORY_EMAIL = 'email';

    const SETTING_URL = 'url';
    const SETTING_EMAIL_SUBJECT_PREFIX = 'emailSubjectPrefix';
    const SETTING_EMAIL_FROM = 'emailFrom';
    const SETTING_EMAIL_FROM_NAME = 'emailFromName';
    const SETTING_EMAIL_CONTACT = 'emailContact';

    public function __construct()
    {
        $this
                ->addSettingText(
                        [
                                'name' => self::SETTING_URL,
                                'category' => self::CATEGORY_GENERAL,
                        ]
                );

        $this->addSettingText(
                [
                        'category' => self::CATEGORY_EMAIL,
                        'name' => self::SETTING_EMAIL_SUBJECT_PREFIX,
                ]
        );
        $this->addSettingText(
                [
                        'category' => self::CATEGORY_EMAIL,
                        'name' => self::SETTING_EMAIL_FROM,
                ]
        );
        $this->addSettingText(
                [
                        'category' => self::CATEGORY_EMAIL,
                        'name' => self::SETTING_EMAIL_FROM_NAME,
                ]
        );
        $this->addSettingText(
                [
                        'category' => self::CATEGORY_EMAIL,
                        'name' => self::SETTING_EMAIL_CONTACT,
                ]
        );
    }

    public function getCategories()
    {
        return [
                self::CATEGORY_GENERAL,
                self::CATEGORY_EMAIL,
        ];
    }

}