jbootstrap 0.0.3.2 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/jbootstrap.gemspec +1 -1
- data/lib/jbootstrap/generators/backend.rb +29 -1
- data/lib/jbootstrap/generators/frontend.rb +3 -3
- data/lib/jbootstrap/templates/backend/admin/controllers/SC_NAME.php.tt +13 -0
- data/lib/jbootstrap/templates/backend/admin/models/SC_SINGULAR_NAME.php.tt +18 -0
- data/lib/jbootstrap/templates/backend/admin/tables/SC_SINGULAR_NAME.php.tt +26 -0
- data/lib/jbootstrap/templates/backend/admin/views/SC_SINGULAR_NAME/tmpl/default.php.tt +0 -0
- data/lib/jbootstrap/templates/backend/admin/views/SC_SINGULAR_NAME/tmpl/list.php.tt +45 -0
- data/lib/jbootstrap/templates/backend/admin/views/SC_SINGULAR_NAME/view.html.php.tt +13 -0
- metadata +7 -1
data/jbootstrap.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'jbootstrap'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.4'
|
4
4
|
s.date = '2012-11-12'
|
5
5
|
s.summary = 'Generator and abstract classes for Joomla 1.5 components.'
|
6
6
|
s.description = 'Generator and abstract classes for Joomla 1.5 components.'
|
@@ -6,14 +6,42 @@ module JBootstrap
|
|
6
6
|
desc "Generates a new backend scaffold."
|
7
7
|
argument :scaffold_name, :type => :string, :desc => "The name of the resource to be created."
|
8
8
|
|
9
|
-
def self.
|
9
|
+
def self.source_root
|
10
10
|
File.expand_path(File.join(File.dirname(__FILE__), %w[.. templates backend]))
|
11
11
|
end
|
12
12
|
|
13
13
|
def set_variables
|
14
14
|
@scaffold_name = scaffold_name.downcase
|
15
|
+
@scaffold_singular_name = options[:singular_name] || @scaffold_name.chop
|
16
|
+
@component_name = options[:component_name] || File.basename(Dir.pwd).sub('com_', '').downcase
|
17
|
+
@component_singular_name = options[:component_singular_name] || @component_name.chop
|
15
18
|
end
|
16
19
|
|
20
|
+
def copy_files
|
21
|
+
template "admin/controllers/SC_NAME.php.tt", "admin/controllers/#{@scaffold_name}.php"
|
22
|
+
template "admin/models/SC_SINGULAR_NAME.php.tt", "admin/models/#{@scaffold_singular_name}.php"
|
23
|
+
template "admin/tables/SC_SINGULAR_NAME.php.tt", "admin/tables/#{@scaffold_singular_name}.php"
|
24
|
+
template "admin/views/SC_SINGULAR_NAME/view.html.php.tt", "admin/views/#{@scaffold_singular_name}/view.html.php"
|
25
|
+
template "admin/views/SC_SINGULAR_NAME/tmpl/default.php.tt", "admin/views/#{@scaffold_singular_name}/tmpl/default.php"
|
26
|
+
template "admin/views/SC_SINGULAR_NAME/tmpl/list.php", "admin/views/#{@scaffold_singular_name}/tmpl/list.php"
|
27
|
+
end
|
28
|
+
|
29
|
+
def inject_manifest
|
30
|
+
inject_into_file "com_#{@component_name}.xml", :after => %Q{<files folder="admin">\n} do
|
31
|
+
"\t\t\t<filename>admin/controllers/#{@scaffold_name}.php<filename>\n" +
|
32
|
+
"\t\t\t<filename>admin/models/#{@scaffold_singular_name}.php</filename>\n" +
|
33
|
+
"\t\t\t<filename>admin/tables/#{@scaffold_singular_name}.php</filename>\n" +
|
34
|
+
"\t\t\t<filename>admin/views/#{@scaffold_singular_name}/view.html.php</filename>\n" +
|
35
|
+
"\t\t\t<filename>admin/views/#{@scaffold_singular_name}/tmpl/default.php</filename>\n" +
|
36
|
+
"\t\t\t<filename>admin/views/#{@scaffold_singular_name}/tmpl/list.php</filename>\n"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def update_acceptable_controllers
|
41
|
+
gsub_file "admin/admin.#{@component_name}.php",
|
42
|
+
/\$component_acceptable_controllers = array\((.+?)\);/,
|
43
|
+
"$component_acceptable_controllers = array(\1, #{@scaffold_name})"
|
44
|
+
end
|
17
45
|
end
|
18
46
|
end
|
19
47
|
end
|
@@ -25,9 +25,9 @@ module JBootstrap
|
|
25
25
|
|
26
26
|
def inject_manifest
|
27
27
|
inject_into_file "com_#{@component_name.downcase}.xml", :after => %Q{<files folder="site">\n} do
|
28
|
-
"\t\t<filename>site/models/#{@scaffold_singular_name}.php
|
29
|
-
"\t\t<filename>site/views/#{@scaffold_singular_name}/view.html.php
|
30
|
-
"\t\t<filename>site/views/#{@scaffold_singular_name}/tmpl/default.php
|
28
|
+
"\t\t<filename>site/models/#{@scaffold_singular_name}.php</filename>\n" +
|
29
|
+
"\t\t<filename>site/views/#{@scaffold_singular_name}/view.html.php</filename>\n" +
|
30
|
+
"\t\t<filename>site/views/#{@scaffold_singular_name}/tmpl/default.php</filename>\n"
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?php
|
2
|
+
defined('_JEXEC') or die('Restricted Access');
|
3
|
+
require_once(JPATH_COMPONENT . DS . 'abstracts' . DS . 'controller.php');
|
4
|
+
|
5
|
+
class <%= @component_name.capitalize %>Controller<%= @scaffold_name.capitalize %> extends AbstractController
|
6
|
+
{
|
7
|
+
|
8
|
+
function __construct()
|
9
|
+
{
|
10
|
+
parent::__construct('<%= @scaffold_singular_name %>');
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?php
|
2
|
+
defined('_JEXEC') or die('Restricted Access');
|
3
|
+
require_once(JPATH_COMPONENT . DS . 'abstracts' . DS . 'model.php');
|
4
|
+
|
5
|
+
class <%= @component_name.capitalize %>Model<%= @scaffold_singular_name.capitalize %> extends AbstractModel
|
6
|
+
{
|
7
|
+
function __construct()
|
8
|
+
{
|
9
|
+
parent::__construct('<%= @scaffold_singular_name.capitalize %>');
|
10
|
+
}
|
11
|
+
|
12
|
+
protected function getSortableAttributes()
|
13
|
+
{
|
14
|
+
return array('id');
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
?>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?php
|
2
|
+
defined('_JEXEC') or die('Restricted Access');
|
3
|
+
require_once(JPATH_COMPONENT . DS . 'abstracts' . DS . 'table.php');
|
4
|
+
|
5
|
+
class Table<%= @scaffold_singular_name.capitalize %> extends AbstractTable
|
6
|
+
{
|
7
|
+
var $id = 0;
|
8
|
+
var $name = '';
|
9
|
+
|
10
|
+
function __construct(&$db)
|
11
|
+
{
|
12
|
+
parent::__construct($db, '<%= @scaffold_singular_name.capitalize %>');
|
13
|
+
}
|
14
|
+
|
15
|
+
public function validate()
|
16
|
+
{
|
17
|
+
$this->requireName();
|
18
|
+
}
|
19
|
+
|
20
|
+
protected function requireName()
|
21
|
+
{
|
22
|
+
if (!$this->name) $this->addError(JText::_('COM_<%= @component_name.upcase %>_NAME_REQUIRED'));
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
?>
|
File without changes
|
@@ -0,0 +1,45 @@
|
|
1
|
+
<?php
|
2
|
+
defined('_JEXEC') or die('Restricted access');
|
3
|
+
?>
|
4
|
+
|
5
|
+
<form action="index.php" method="post" name="adminForm">
|
6
|
+
<table class="adminlist">
|
7
|
+
<thead>
|
8
|
+
<tr>
|
9
|
+
<th width="20"><input type="checkbox" name="toggle" value="" onclick="checkAll(<?= count($this-><%= @scaffold_name %>); ?>);" /></th>
|
10
|
+
<th><?= JHTML::_('grid.sort', 'COM_<%= @component_name.upcase %>_NAME', 'name', $this->lists['order_Dir'], $this->lists['order']); ?></th>
|
11
|
+
</tr>
|
12
|
+
</thead>
|
13
|
+
<tbody>
|
14
|
+
<?
|
15
|
+
$i = $k = 0;
|
16
|
+
foreach($this-><%= @scaffold_name %> as $row)
|
17
|
+
{
|
18
|
+
$checked = JHTML::_('grid.id', $i, $row->id);
|
19
|
+
$link = JRoute::_('index.php?c=' . JRequest::getVar('c') . '&option=' . JRequest::getVar('option')
|
20
|
+
. '&task=edit&cid[]=' . $row->id . '&hidemainmenu=1');
|
21
|
+
?>
|
22
|
+
<tr class="<?= "row$k"; ?>">
|
23
|
+
<td><?= $checked ?></td>
|
24
|
+
<td><a href="<?= $link ?>"><?= $row->name ?></a></td>
|
25
|
+
</tr>
|
26
|
+
<?
|
27
|
+
$k = 1 - $k;
|
28
|
+
$i++;
|
29
|
+
} ?>
|
30
|
+
|
31
|
+
</tbody>
|
32
|
+
<tfoot>
|
33
|
+
<tr>
|
34
|
+
<td colspan="10"><?= $this->page->getListFooter(); ?></td>
|
35
|
+
</tr>
|
36
|
+
</tfoot>
|
37
|
+
</table>
|
38
|
+
<input type="hidden" name="option" value="<?= JRequest::getVar('option'); ?>" />
|
39
|
+
<input type="hidden" name="c" value="<?= JRequest::getVar('c'); ?>" />
|
40
|
+
<input type="hidden" name="task" value="" />
|
41
|
+
<input type="hidden" name="boxchecked" value="0" />
|
42
|
+
<input type="hidden" name="hidemainmenu" value="0" />
|
43
|
+
<input type="hidden" name="filter_order" value="<?= $this->lists['order']; ?>" />
|
44
|
+
<input type="hidden" name="filter_order_Dir" value="" />
|
45
|
+
</form>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?php
|
2
|
+
defined('_JEXEC') or die('Restricted Access');
|
3
|
+
require_once(JPATH_COMPONENT . DS . 'abstracts' . DS . 'view.php');
|
4
|
+
|
5
|
+
class <%= @component_name.capitalize %>View<%= @scaffold_singular_name.capitalize %> extends AbstractView
|
6
|
+
{
|
7
|
+
function __construct()
|
8
|
+
{
|
9
|
+
parent::__construct('COM_<%= @component_name.upcase %>_<%= @scaffold_name.upcase %>_TITLE', '<%= @scaffold_singular_name %>');
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
?>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jbootstrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -47,6 +47,12 @@ files:
|
|
47
47
|
- lib/jbootstrap/generators/component.rb
|
48
48
|
- lib/jbootstrap/generators/frontend.rb
|
49
49
|
- lib/jbootstrap/runner.rb
|
50
|
+
- lib/jbootstrap/templates/backend/admin/controllers/SC_NAME.php.tt
|
51
|
+
- lib/jbootstrap/templates/backend/admin/models/SC_SINGULAR_NAME.php.tt
|
52
|
+
- lib/jbootstrap/templates/backend/admin/tables/SC_SINGULAR_NAME.php.tt
|
53
|
+
- lib/jbootstrap/templates/backend/admin/views/SC_SINGULAR_NAME/tmpl/default.php.tt
|
54
|
+
- lib/jbootstrap/templates/backend/admin/views/SC_SINGULAR_NAME/tmpl/list.php.tt
|
55
|
+
- lib/jbootstrap/templates/backend/admin/views/SC_SINGULAR_NAME/view.html.php.tt
|
50
56
|
- lib/jbootstrap/templates/component/Gemfile
|
51
57
|
- lib/jbootstrap/templates/component/Guardfile
|
52
58
|
- lib/jbootstrap/templates/component/README.md.tt
|