Commit graph

41 commits

Author SHA1 Message Date
Mark Nelson
43d20c0d1b Huge refactor
1) Every certificate is a template. Before a user would create a certificate then had
the option to save it as a template. This could potentially be chaotic with numerous
users creating templates, making the template system a mess. Now, rather than creating
a certificate first, then saving it as a template, you are always creating a template.
Each template is associated with a context, so depending on where you are creating it
the context is different. This means users in the CONTEXT_MODULE context are creating
a template specific to that module, where as a user creating a template in the
CONTEXT_SYSTEM context would be creating a general template that can be used by others.
This meant we can remove the 'customcert_template_*' db tables. Yay - no duplicated
tables.
2) Created new helper classes and moved functionality there.
3) Moved files to classes/ for autoloading.
4) General tidy up.
2016-02-20 16:35:19 +08:00
Mark Nelson
355de679e8 Added a 'leftmargin' field
Also renamed the 'margin' field to 'rightmargin'
to easily distinguish between the two.
2015-12-11 12:10:45 +08:00
Mark Nelson
87d1ecfcc7 Removed the 'Download grid' functionality 2015-12-06 16:54:19 +08:00
Shamim Rezaie
9998fa2b4a Added drag & drop feature to rearrange elements 2015-08-05 14:19:55 -05:00
Shamim Rezaie
6400e587d8 Added support for having right margin and width limit for each element
In addition to width and height, each page can have an
optional (right) margin attribute. Also, each element
can have an optional width attribute.
2015-08-05 14:16:56 -05:00
Mark Nelson
74003bf0bb Moved file manager to the image element 2015-03-13 23:37:07 -07:00
Mark Nelson
7739eefea1 Replaced edit/delete element strings with icons 2015-03-13 23:37:07 -07:00
Mark Nelson
4b2692d377 Images can now be saved into either the course or system context 2013-09-09 17:10:37 +08:00
Mark Nelson
8b92d1c307 Removed the orientation field as it is redundant considering the width and height are already specified
Note: I did not create a db/upgrade.php script to remove the database column as this module should not be currently used by anyone.
2013-07-25 18:54:28 +08:00
Mark Nelson
23d611de1b Added ability to print out a grid PDF so that the user knows where to specify the placement of elements 2013-07-25 18:36:43 +08:00
Mark Nelson
345c58e840 Removed unnecessary conditional check in edit_form.php 2013-07-25 13:08:17 +08:00
Mark Nelson
3dd19d8390 Removed the pop-up when editing an element to conform to Moodle standards 2013-07-25 13:08:16 +08:00
Mark Nelson
8df94fd093 Added missing scope to functions 2013-07-25 13:08:11 +08:00
Mark Nelson
5203d81980 Changed PHPDocs and added date to the copyright to match Moodle coding guidelines 2013-07-22 13:06:18 +08:00
Mark Nelson
bb5ce9f4ac Moved the add element submit button above the element list 2013-06-27 19:26:33 +08:00
Mark Nelson
1527587218 Changed the string 'configure' to 'edit' to conform to Moodle standards 2013-06-21 14:02:49 +08:00
Mark Nelson
fa5d45eef3 Completely refactored the code for editing a custom certificate
The elements for each page are listed in a table below the other page settings, meaning each page has a separate table for listing their elements. Each element is now edited in a pop-up, rather than having all the element settings displayed at once on the form causing it to look overcrowded. There is also no longer any need for the function add_element to add default values for the elements when they are added, as a a form is shown when you click to add an element where you can enter the values before it is created.

Note: I did not create a db/upgrade.php script to add the new database columns as this module should not be currently used by anyone.
2013-06-07 16:04:38 +08:00
Mark Nelson
0dc1ef19c9 Introduced an image element and refactored the code in the process so less code was required in the new element 2013-05-30 17:55:40 +08:00
Mark Nelson
a513ba8038 Added functionality to preview the custom certificate 2013-05-17 11:09:22 +08:00
Mark Nelson
4962b72938 The first page is now created when the customcert instance is added and the button to create new pages has been moved 2013-05-16 18:27:58 +08:00
Mark Nelson
2b92220c73 Set the default values for each page to the dimensions of an A4 piece of paper 2013-05-16 13:17:42 +08:00
Mark Nelson
d7174ce3c8 Introduced functionality to save and load customcert templates
Note: I did not create a db/upgrade.php script to add the new database tables as this module should not be currently used by anyone.
2013-05-16 13:17:34 +08:00
Mark Nelson
aa835a1304 Removed unused class variable in edit_form.php 2013-04-26 17:16:31 +08:00
Mark Nelson
9e36732d5f Updated package and removed subpackage from PHPDocs 2013-04-26 15:39:59 +08:00
Mark Nelson
f2314ad49e Updated the validation of the width and height for the customcert page 2013-04-24 18:10:52 +08:00
Mark Nelson
7781024377 Added a timemodified field to the customcert_elements table which is used to collapse the form elements that have already been modified by the user
Note: I did not create a db/upgrade.php script to add the new database column as this module should not be currently used by anyone.
2013-04-24 17:24:57 +08:00
Mark Nelson
0bc2e186e6 Added the ability to change the order the customcert elements are displayed
Note: I did not create a db/upgrade.php script to add the new database column as this module should not be currently used by anyone.
2013-04-12 17:33:23 +08:00
Mark Nelson
d3ed38d149 Moved the colourpicker form element into the includes folder 2013-04-11 19:09:25 +08:00
Mark Nelson
8b3954cea7 Updated the code responsible for preventing internal access to certain files 2013-04-10 17:18:00 +08:00
Mark Nelson
94978c9f03 Removed the cancel element from the edit form 2013-04-09 15:54:09 +08:00
Mark Nelson
f3709130d0 Renamed CSS class so that it was not so specific 2013-04-09 15:52:24 +08:00
Mark Nelson
cd2564163a Moved and renamed the delete element submit button 2013-04-09 15:49:29 +08:00
Mark Nelson
08c4f03ee7 Fixed issue where elements for the customcert page with the id 1 were being displayed (if it existed) for newly created customcerts 2013-04-09 13:27:55 +08:00
Mark Nelson
d6428b89d1 Added setType to form elements for security and to remove the debugging message introduced in Moodle 2.5 2013-04-09 13:10:56 +08:00
Mark Nelson
87b1e9d7f0 Edited PHPDocs and comments 2013-04-09 12:05:07 +08:00
Mark Nelson
2b4bbbe820 Moved the rendering of the header form element for each customcert element to edit_form.php
The render_common_form_elements function was removed in the base class and it's contents put into the render_form_element function. These changes mean that some elements may not be required to override the render_form_element function, such as the studentname element, where this function was removed.
2013-02-26 17:22:52 +08:00
Mark Nelson
52fbc108a7 Introduced a new form element for selecting a colour on the customcert customisation page 2013-02-25 22:52:15 +08:00
Mark Nelson
0c66a5242f Moved location of the delete customcert page button 2013-02-22 17:40:40 +08:00
Mark Nelson
5945171a9d Changed how the elements are rendered when editing the customcert
Rather than using grouped elements which can span across multiple lines on a small screen, the elements are now generated within a header element, keeping them separated and making the form more manageable. The base class was also changed to accomodate this by making it easier for elements to utilise common features.
2013-02-22 17:39:46 +08:00
Mark Nelson
9d0eb727e5 Introduced customisable elements to the customcert
Elements are sub-plugins that have the same abilities as a core plugin, such as creating tables, capabilities and performing upgrades.

Currently elements can define -

* What additional form elements are rendered when adding the element to the customcert customisation page.
* How the data from the additional form elements is validated and saved.
* How the element is rendered on the PDF.
* How the element handles removing data when it is deleted.
2013-02-21 18:23:11 +08:00
Mark Nelson
2b8403438f Module will install successfully with limited functionality
The module will add tables to the DB on install, you can then add/edit instances and add/edit pages to these instances.
2013-02-18 11:48:16 +08:00