Add basic generator for CORE-POS "Poser" projects

This commit is contained in:
Lance Edgar 2023-05-05 00:47:48 -05:00
parent 89e16b6a35
commit c22a055c41
4 changed files with 111 additions and 1 deletions

View file

@ -0,0 +1,43 @@
# -*- coding: utf-8; -*-
"""
CORE-POS "Poser" project generator
"""
import os
from rattail.projects import ProjectGenerator
class COREPOSPoserProjectGenerator(ProjectGenerator):
"""
Generator for CORE-POS "Poser" projects
"""
key = 'corepos_poser'
def generate_project(self, output, context, **kwargs):
##############################
# office plugins
##############################
office_plugins = os.path.join(output, 'office_plugins')
os.makedirs(office_plugins)
demo_plugin = os.path.join(office_plugins, 'PoserDemo')
os.makedirs(demo_plugin)
self.generate('office_plugins/PoserDemo/PoserDemo.php',
os.path.join(demo_plugin, 'PoserDemo.php'))
##############################
# lane plugins
##############################
lane_plugins = os.path.join(output, 'lane_plugins')
os.makedirs(lane_plugins)
demo_plugin = os.path.join(lane_plugins, 'PoserDemo')
os.makedirs(demo_plugin)
self.generate('lane_plugins/PoserDemo/PoserDemo.php',
os.path.join(demo_plugin, 'PoserDemo.php'))

View file

@ -0,0 +1,34 @@
<?php
/*******************************************************************************
Copyright 2012 Whole Foods Co-op
This file is part of IT CORE.
IT CORE is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
IT CORE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
in the file license.txt along with IT CORE; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*********************************************************************************/
use COREPOS\pos\plugins\Plugin;
class PoserDemo extends Plugin
{
public $plugin_settings = array(
'Foo' => array('default'=>'Bar', 'label'=>'Foo',
'description'=>'Some important foo-related setting'),
);
public $plugin_description = 'Plugin to demo Poser customization';
}

View file

@ -0,0 +1,33 @@
<?php
/*******************************************************************************
Copyright 2014 Whole Foods Co-op
This file is part of IT CORE.
IT CORE is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
IT CORE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
in the file license.txt along with IT CORE; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*********************************************************************************/
/**
*/
class PoserDemo extends COREPOS\Fannie\API\FanniePlugin
{
public $plugin_description = 'Plugin to demo Poser customization';
public $plugin_settings = array(
'Foo' => array('default'=>'Bar', 'label'=>'Foo',
'description'=>'Some important foo-related setting'),
);
}

View file

@ -108,8 +108,8 @@ setup(
'corporal = corporal.emails',
],
'rattail.projects': [
'corepos_poser = corporal.projects.corepos_poser:COREPOSPoserProjectGenerator',
'corporal = corporal.projects.corporal:CorporalProjectGenerator',
],