Added popup functionality and Library
* doPopup() JavaScript call creates a centered popup div with user defined width, height, title, content, and calls an optional callback function * Library with currently non-modifiable book list, and a popup with the books' details Signed-off-by: Gergely Polonkai <polesz@w00d5t0ck.info>
This commit is contained in:
@@ -23,6 +23,7 @@ class AppKernel extends Kernel
|
||||
new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
|
||||
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
|
||||
new Io\TcpdfBundle\IoTcpdfBundle(),
|
||||
new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
|
||||
// Own bundles
|
||||
new KekRozsak\FrontBundle\KekRozsakFrontBundle(),
|
||||
new KekRozsak\SecurityBundle\KekRozsakSecurityBundle(),
|
||||
|
24
app/DoctrineMigrations/Version20120801224509.php
Normal file
24
app/DoctrineMigrations/Version20120801224509.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration,
|
||||
Doctrine\DBAL\Schema\Schema;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your need!
|
||||
*/
|
||||
class Version20120801224509 extends AbstractMigration
|
||||
{
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
// this up() migration is autogenerated, please modify it to your needs
|
||||
|
||||
}
|
||||
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
// this down() migration is autogenerated, please modify it to your needs
|
||||
|
||||
}
|
||||
}
|
34
app/DoctrineMigrations/Version20120801224533.php
Normal file
34
app/DoctrineMigrations/Version20120801224533.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration,
|
||||
Doctrine\DBAL\Schema\Schema;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your need!
|
||||
*/
|
||||
class Version20120801224533 extends AbstractMigration
|
||||
{
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
// this up() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("CREATE TABLE books (id INT AUTO_INCREMENT NOT NULL, author VARCHAR(100) NOT NULL, title VARCHAR(100) NOT NULL, year INT NOT NULL, commentable TINYINT(1) NOT NULL, PRIMARY KEY(id)) ENGINE = InnoDB");
|
||||
$this->addSql("CREATE TABLE book_copies (id INT AUTO_INCREMENT NOT NULL, book_id INT NOT NULL, owner_id INT NOT NULL, borrower_id INT DEFAULT NULL, owner_comment LONGTEXT NOT NULL, borrowable TINYINT(1) NOT NULL, borrower_returned TINYINT(1) NOT NULL, INDEX IDX_F0A8D81116A2B381 (book_id), INDEX IDX_F0A8D8117E3C61F9 (owner_id), UNIQUE INDEX UNIQ_F0A8D81111CE312B (borrower_id), UNIQUE INDEX UNIQ_F0A8D8117E3C61F916A2B381 (owner_id, book_id), PRIMARY KEY(id)) ENGINE = InnoDB");
|
||||
$this->addSql("ALTER TABLE book_copies ADD CONSTRAINT FK_F0A8D81116A2B381 FOREIGN KEY (book_id) REFERENCES books (id)");
|
||||
$this->addSql("ALTER TABLE book_copies ADD CONSTRAINT FK_F0A8D8117E3C61F9 FOREIGN KEY (owner_id) REFERENCES users (id)");
|
||||
$this->addSql("ALTER TABLE book_copies ADD CONSTRAINT FK_F0A8D81111CE312B FOREIGN KEY (borrower_id) REFERENCES users (id)");
|
||||
}
|
||||
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
// this down() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("ALTER TABLE book_copies DROP FOREIGN KEY FK_F0A8D81116A2B381");
|
||||
$this->addSql("DROP TABLE books");
|
||||
$this->addSql("DROP TABLE book_copies");
|
||||
}
|
||||
}
|
34
app/DoctrineMigrations/Version20120806165106.php
Normal file
34
app/DoctrineMigrations/Version20120806165106.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration,
|
||||
Doctrine\DBAL\Schema\Schema;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your need!
|
||||
*/
|
||||
class Version20120806165106 extends AbstractMigration
|
||||
{
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
// this up() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("CREATE TABLE book_would_borrow (book_id INT NOT NULL, user_id INT NOT NULL, INDEX IDX_7ED804D216A2B381 (book_id), INDEX IDX_7ED804D2A76ED395 (user_id), PRIMARY KEY(book_id, user_id)) ENGINE = InnoDB");
|
||||
$this->addSql("CREATE TABLE book_would_buy (book_id INT NOT NULL, user_id INT NOT NULL, INDEX IDX_67D6BB5216A2B381 (book_id), INDEX IDX_67D6BB52A76ED395 (user_id), PRIMARY KEY(book_id, user_id)) ENGINE = InnoDB");
|
||||
$this->addSql("ALTER TABLE book_would_borrow ADD CONSTRAINT FK_7ED804D216A2B381 FOREIGN KEY (book_id) REFERENCES books (id) ON DELETE CASCADE");
|
||||
$this->addSql("ALTER TABLE book_would_borrow ADD CONSTRAINT FK_7ED804D2A76ED395 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE");
|
||||
$this->addSql("ALTER TABLE book_would_buy ADD CONSTRAINT FK_67D6BB5216A2B381 FOREIGN KEY (book_id) REFERENCES books (id) ON DELETE CASCADE");
|
||||
$this->addSql("ALTER TABLE book_would_buy ADD CONSTRAINT FK_67D6BB52A76ED395 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE");
|
||||
}
|
||||
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
// this down() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("DROP TABLE book_would_borrow");
|
||||
$this->addSql("DROP TABLE book_would_buy");
|
||||
}
|
||||
}
|
28
app/DoctrineMigrations/Version20120806165716.php
Normal file
28
app/DoctrineMigrations/Version20120806165716.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration,
|
||||
Doctrine\DBAL\Schema\Schema;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your need!
|
||||
*/
|
||||
class Version20120806165716 extends AbstractMigration
|
||||
{
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
// this up() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("ALTER TABLE book_copies ADD buyable TINYINT(1) NOT NULL");
|
||||
}
|
||||
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
// this down() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("ALTER TABLE book_copies DROP buyable");
|
||||
}
|
||||
}
|
28
app/DoctrineMigrations/Version20120808111846.php
Normal file
28
app/DoctrineMigrations/Version20120808111846.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration,
|
||||
Doctrine\DBAL\Schema\Schema;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your need!
|
||||
*/
|
||||
class Version20120808111846 extends AbstractMigration
|
||||
{
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
// this up() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("ALTER TABLE book_copies CHANGE owner_comment owner_comment LONGTEXT DEFAULT NULL");
|
||||
}
|
||||
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
// this down() migration is autogenerated, please modify it to your needs
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
|
||||
|
||||
$this->addSql("ALTER TABLE book_copies CHANGE owner_comment owner_comment LONGTEXT NOT NULL");
|
||||
}
|
||||
}
|
@@ -11,14 +11,32 @@
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/jquery-cluetip/lib/jquery.hoverIntent.js')}}"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/jquery-cluetip/jquery.cluetip.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/jquery.tinyscrollbar.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ path('fos_js_routing_js', {callback: 'fos.Router.setData'}) }}"></script>
|
||||
{% block additional_js %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<div id="popup-container">
|
||||
<div id="popup-close"></div>
|
||||
<div id="popup-inside">
|
||||
<div id="popup-title"></div>
|
||||
<div id="popup-scrollable">
|
||||
<div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>
|
||||
<div class="viewport">
|
||||
<div class="overview" id="popup-content"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="top-line-wrapper">
|
||||
<div id="top-line">
|
||||
{% if app.user %}
|
||||
{% include ':Box:UserProfile.html.twig' %}
|
||||
{% include ':Box:Events.html.twig' %}
|
||||
<div id="konyvtar-gomb">
|
||||
<a href="{{ path('KekRozsakFrontBundle_bookList') }}">[könyvtár gomb]</a>
|
||||
</div>
|
||||
{% else %}
|
||||
{% include ':Box:Login.html.twig' %}
|
||||
{% endif %}
|
||||
@@ -120,6 +138,40 @@
|
||||
}
|
||||
});
|
||||
{% endif %}
|
||||
jQuery.fn.center = function() {
|
||||
this.css('top', Math.max(0, (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop()) + 'px');
|
||||
this.css('left', Math.max(0, (($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft()) + 'px');
|
||||
return this;
|
||||
};
|
||||
|
||||
$('#popup-close').click(function() { $('#popup-container').fadeOut(); });
|
||||
$('#popup-scrollable').tinyscrollbar();
|
||||
function doPopup(title, content, url, w, h, callback)
|
||||
{
|
||||
$('#popup-title').html(title);
|
||||
$('#popup-content').html(content);
|
||||
$('#popup-container').css('width', w + 'px');
|
||||
$('#popup-container').css('height', h + 'px');
|
||||
$('#popup-inside').css('width', (w - 8) + 'px');
|
||||
$('#popup-inside').css('height', (h - 8) + 'px');
|
||||
$('#popup-scrollable').css('width', (w - 8) + 'px');
|
||||
$('#popup-scrollable .viewport').css('width', (w - 28) + 'px');
|
||||
$('#popup-scrollable .viewport').css('height', (h - 54) + 'px');
|
||||
$('#popup-container').center();
|
||||
$('#popup-container').fadeIn();
|
||||
$.ajax({
|
||||
method: 'GET',
|
||||
url: url
|
||||
}).done(function(data) {
|
||||
$('#popup-content').html(data);
|
||||
$('#popup-scrollable').tinyscrollbar();
|
||||
$('.userdata').cluetip();
|
||||
if (callback != null)
|
||||
callback();
|
||||
}).error(function() {
|
||||
$('#popup-content').html('Nem sikerült betölteni a könyv adatait.');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% block bottomscripts %}{% endblock %}
|
||||
</body>
|
||||
|
@@ -1,3 +1,6 @@
|
||||
fos_js_routing:
|
||||
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
|
||||
|
||||
KekRozsakAdminBundle:
|
||||
resource: "@KekRozsakAdminBundle/Controller/"
|
||||
type: annotation
|
||||
|
Reference in New Issue
Block a user