Code

Repairer - Repair/Workshop Management System 2.3

Repairer - Repair/Workshop Management System 2.3

Repairer – Repair/Workshop Management System is carefully developed for easy management of any type of repairshop/workshop. It’s actually an innovative, simple and powerful management tool, designed and developed for you. It’s just your trusty employee. It’s a web based system where you can manage reparations, clients, inventory, purchases etc.

Demo

URL: otsglobal.org/rms
Email: admin@admin.com
Password: password

Quick Installation Guide

Download .zip package
Upload it to your server
Extract the package
Run the uploaded url via browser (EXAMPLE.COM/RMS/INSTALL). Here you have to provide the settings for RMS:
  • Hostname : database host name / IP
  • Database Name : create a mysql database for RMS on your host and write that name here
  • Database username : username of the created database (if applicable)
  • Database password : password of the created database

Backend – Admin:

  1. Dashboard (graphical report)
  2. General settings (system customization)
  3. Client management
  4. Reparation management
  5. Inventory Management
  6. Purchases Managment
  7. Taxes, Models, Categories etc.
  8. Graphical Reports ( Stock & Finance )

Frontend:

  • Reparation Status
  • Login

Notification/ Alert System

Notify clients with their reparation status via E-Mail or SMS

Documentation

Want to know more about Repairer? Please read our Documentation

How to Update

Change Log 2.2 to 2.3

- Fixed some bugs
  1. Download v2.3
  2. Take Database & Files Backup.
  3. Extract 2.3 files in place of 2.2
  4. Copy application/config/database.php from 2.2 backup to 2.3
  5. Copy application/config/config.php from 2.2 backup to 2.3
  6. Copy assets/uploads from 2.2 to 2.3
  7. open application/config/config.php and replace
    $config['composer_autoload'] = TRUE;
    with
    $config['composer_autoload'] = FCPATH.'vendor/autoload.php';
    on line 140
  8. Run the following SQL in PhpMyAdmin:
UPDATE `settings` SET `version` = '2.3' WHERE `settings`.`id` = 1;

Change Log 2.1 to 2.2

- Added composer
- Replaced phpexcel with phpSpreadsheet
- Added Reparation in Client view modal
- Added Links on Client Name And Reparation code. 
- Remove Tax Rate Required Attribute
- Add Assigned To field
- Added Manufacturer field
- Added 3 Reports And Invoice Templates
- Add Barcode Generator for reparations
- Added different views for completed & pending repairs
- Add autocompletion to defect & category
- Add expected close date
- Add Imei to autofill repair details
- Add numeric codes for repairs
- And Much More
  1. Download v2.2
  2. Take Database & Files Backup.
  3. Extract 2.2 files in place of 2.1
  4. Copy application/config/database.php from 2.1 backup to 2.2
  5. Copy application/config/config.php from 2.1 backup to 2.2
  6. Copy assets/uploads from 2.1 to 2.2
  7. Create a folder named “backgrounds” in assets/uploads
  8. Run the Update.sql in PhpMyAdmin. Download here: otsglobal.org/cc_updates/rms/Update 2.2.sql

Change Log 2.0 to 2.1

- Fix jQuery in templates
- Tax on Total + Service Charge in Repair
- Add Theme Module
- And Bug Fixes
  1. Download v2.1
  2. Take Database & Files Backup.
  3. Extract 2.1 files in place of 2.0
  4. Copy application/config/database.php from 2.0 backup to 2.1
  5. Copy application/config/config.php from 2.0 backup to 2.1
  6. Copy assets/uploads from 2.0 to 2.1
  7. open index.php change $view_folder = ''; change it to $view_folder = 'themes';
  8. Run SQLs in PhpMyAdmin
ALTER TABLE `settings` ADD `theme` VARCHAR(100) NOT NULL AFTER `use_topbar`; UPDATE `settings` SET `theme` = 'adminlte'; UPDATE `settings` SET `version` = ‘2.1’;

Change Log 1.71 to 2.0

- Add Dark Theme
- Add Image for client
- ADD Google GEOLOCATE
- Add Google RECAPTCHA
- MPDF PDF CREATION FIX for PHP 7
- Add Actions Button other than simple buttons
- Reparation Log
- Add Calendar 
- Add Diagnostics Field
- Add Excel, PDF Export And Column VISIBILITY
- Add Logo in Invoice, Report
- CSS FIXES and Body Font - Appearance Tab — like JR
- Add Search Reparation in Side Menu
- CHANGE SMS/EMAIL SEND BTN Location 
- Add Gallery for Repair - Like JR
- Add Assigned To field in repairer
- Add Date Adder for comments
- ADD SETTINGS LINKS IN TOP NAVIGATION - Like JR
- ADD QUICK ADD ETC in top nav
- Fix Barcode - print Label
  1. Download v2.0
  2. Take Database & Files Backup.
  3. Extract 2.0 files in place of 1.71
  4. Copy application/config/database.php from 1.71 backup to 2.0
  5. Copy application/config/config.php from 1.71 backup to 2.0
  6. now open application/config/config.php and change line 140 from
  7.  
      $config['composer_autoload'] = FALSE;
      
    TO
     
      $config['composer_autoload'] = TRUE;
      
  8. Copy assets/uploads from 1.71 to 2.0
  9. Create folder named “images” in /assets/uploads
  10. Run the Update.sql in PhpMyAdmin. Download here: otsglobal.org/cc_updates/rms/Update 2.0.sql

Change Log 1.7 to 1.71

— Added Translations
  1. Download v1.71
  2. Replace downloaded 1.71 application/languages folder in your server rms_folder (1.7)
  3. Replace downloaded 1.71 application/views/_base/foot.php in your server rms_folder (1.7)

Change Log 1.6 to 1.71

— Added Inventory Images
  1. Download v1.7
  2. Backup your current rms_application files (v1.6) and export current database as sql (as pre-caution).
  3. Delete v1.6 rms_application files and extract v1.7 as replacement
  4. Restore rms_application/assets/uploads/logos & rms_application/assets/uploads/members folder from v1.6
  5. Restore rms_application/application/config/config.php, rms_application/application/config/database.php files from v1.6
  6. Go to phpMyAdmin , select your database and run the following SQL:
ALTER TABLE `inventory` ADD `image` TEXT NOT NULL AFTER `isDeleted`; UPDATE `inventory` SET `image`="no_image.png" WHERE 1; UPDATE `settings` SET `version` = '1.7' WHERE `settings`.`id` = 1;

Change Log 1.6

— Bugs Removed
— Fixed Translations
— Home Page Permissions
— Added Postal Code Field for clients
— Added Parsley.JS Form Validation
— Updated Codeigniter and AdminLTE
  1. Download v1.6
  2. Backup your current rms_application files (v1.5) and export current database as sql (as pre-caution).
  3. Delete v1.5 rms_application files and extract v1.6 as replacement
  4. Restore rms_application/assets/uploads/logos & rms_application/assets/uploads/members folder from v1.5
  5. Restore rms_application/application/config/config.php, rms_application/application/config/database.php files from v1.5
  6. Go to phpMyAdmin , select your database and run the following SQL:
ALTER TABLE `permissions` ADD `dashboard-qemail` BOOLEAN NOT NULL AFTER `categories-delete`, ADD `dashboard-qsms` BOOLEAN NOT NULL AFTER `dashboard-qemail`; ALTER TABLE `clients` ADD `postal_code` VARCHAR(50) NOT NULL AFTER `city`; UPDATE `settings` SET `version` = '1.60' WHERE `settings`.`id` = 1;

Update – v1.3 to v1.4

Change Log 1.40

— Added USER Permissions 
— Added email notifications  - add for every status;
— Added field - by from supplier - Inventory product
— Updated SMS Library
— fixed dataTables search
— Added categories
And Much More. 
  1. Download v1.4
  2. Backup your current rms_application files (v1.3) and export current database as sql (as pre-caution).
  3. Delete v1.3 rms_application files and extract v1.4 as replacement
  4. Restore rms_application/assets/uploads/logos & rms_application/assets/uploads/members folder from v1.3
  5. Restore rms_application/application/config/config.php, rms_application/application/config/database.php files from v1.3
  6. Go to phpMyAdmin , select your database and run the following SQL:
CREATE TABLE `categories` ( `id` int(11) NOT NULL, `code` varchar(55) NOT NULL, `name` varchar(55) NOT NULL, `image` varchar(55) DEFAULT NULL, `parent_id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `inventory` DROP `category`; ALTER TABLE `inventory` ADD `category_id` INT NOT NULL AFTER `model_name`, ADD `category` VARCHAR(250) NOT NULL AFTER `category_id`, ADD `subcategory_id` INT NULL AFTER `category`, ADD `subcategory` VARCHAR(250) NULL AFTER `subcategory_id`; ALTER TABLE `inventory` ADD `supplier` VARCHAR(250) NOT NULL AFTER `subcategory`, ADD `supplier_id` INT NOT NULL AFTER `supplier`; CREATE TABLE `permissions` ( `id` int(11) NOT NULL, `group_id` int(11) NOT NULL, `repair-index` tinyint(1) NOT NULL, `repair-add` tinyint(1) NOT NULL, `repair-edit` tinyint(1) NOT NULL, `repair-delete` tinyint(1) NOT NULL, `repair-view_repair` tinyint(1) NOT NULL, `customers-delete` tinyint(1) NOT NULL, `customers-view_customer` tinyint(1) NOT NULL, `customers-index` tinyint(1) NOT NULL, `customers-add` tinyint(1) NOT NULL, `customers-edit` tinyint(1) NOT NULL, `inventory-index` tinyint(1) NOT NULL, `inventory-add` tinyint(1) NOT NULL, `inventory-edit` tinyint(1) NOT NULL, `inventory-delete` tinyint(1) NOT NULL, `inventory-print_barcodes` tinyint(1) NOT NULL, `inventory-product_actions` tinyint(1) NOT NULL, `inventory-suppliers` tinyint(1) NOT NULL, `inventory-add_supplier` tinyint(1) NOT NULL, `inventory-edit_supplier` tinyint(1) NOT NULL, `inventory-delete_supplier` tinyint(1) NOT NULL, `inventory-models` tinyint(1) NOT NULL, `inventory-add_model` tinyint(1) NOT NULL, `inventory-edit_model` tinyint(1) NOT NULL, `inventory-delete_model` tinyint(1) NOT NULL, `purchases-index` tinyint(1) NOT NULL, `purchases-add` tinyint(1) NOT NULL, `purchases-edit` tinyint(1) NOT NULL, `purchases-delete` tinyint(1) NOT NULL, `auth-index` tinyint(1) NOT NULL, `auth-create_user` tinyint(1) NOT NULL, `auth-edit_user` tinyint(1) NOT NULL, `auth-delete_user` tinyint(1) NOT NULL, `reports-stock` tinyint(1) NOT NULL, `reports-finance` tinyint(1) NOT NULL, `reports-quantity_alerts` tinyint(1) NOT NULL, `auth-user_groups` tinyint(1) NOT NULL, `auth-delete_group` tinyint(1) NOT NULL, `auth-create_group` tinyint(1) NOT NULL, `auth-edit_group` tinyint(1) NOT NULL, `auth-permissions` tinyint(1) NOT NULL, `utilities-index` tinyint(1) NOT NULL, `utilities-backup_db` tinyint(1) NOT NULL, `utilities-restore_db` tinyint(1) NOT NULL, `utilities-remove_db` tinyint(1) NOT NULL, `tax_rates-index` tinyint(1) NOT NULL, `tax_rates-add` tinyint(1) NOT NULL, `tax_rates-edit` tinyint(1) NOT NULL, `tax_rates-delete` tinyint(1) NOT NULL, `categories-index` tinyint(1) NOT NULL, `categories-add` tinyint(1) NOT NULL, `categories-edit` tinyint(1) NOT NULL, `categories-delete` tinyint(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `permissions` (`id`, `group_id`, `repair-index`, `repair-add`, `repair-edit`, `repair-delete`, `repair-view_repair`, `customers-delete`, `customers-view_customer`, `customers-index`, `customers-add`, `customers-edit`, `inventory-index`, `inventory-add`, `inventory-edit`, `inventory-delete`, `inventory-print_barcodes`, `inventory-product_actions`, `inventory-suppliers`, `inventory-add_supplier`, `inventory-edit_supplier`, `inventory-delete_supplier`, `inventory-models`, `inventory-add_model`, `inventory-edit_model`, `inventory-delete_model`, `purchases-index`, `purchases-add`, `purchases-edit`, `purchases-delete`, `auth-index`, `auth-create_user`, `auth-edit_user`, `auth-delete_user`, `reports-stock`, `reports-finance`, `reports-quantity_alerts`, `auth-user_groups`, `auth-delete_group`, `auth-create_group`, `auth-edit_group`, `auth-permissions`, `utilities-index`, `utilities-backup_db`, `utilities-restore_db`, `utilities-remove_db`, `tax_rates-index`, `tax_rates-add`, `tax_rates-edit`, `tax_rates-delete`, `categories-index`, `categories-add`, `categories-edit`, `categories-delete`) VALUES (2, 4, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); ALTER TABLE settings ADD `r_inprogress` longtext COLLATE utf8_unicode_ci NOT NULL; ALTER TABLE settings ADD `r_approved` longtext COLLATE utf8_unicode_ci NOT NULL; ALTER TABLE settings ADD `r_tobedeliver` longtext COLLATE utf8_unicode_ci NOT NULL; ALTER TABLE settings ADD `r_delivered` longtext COLLATE utf8_unicode_ci NOT NULL; ALTER TABLE settings ADD `r_cancelled` longtext COLLATE utf8_unicode_ci NOT NULL; ALTER TABLE settings ADD `r_tobeapproved` longtext COLLATE utf8_unicode_ci NOT NULL; ALTER TABLE `settings` ADD `rows_per_page` INT NOT NULL AFTER `model_based_search`; UPDATE `settings` SET `rows_per_page` = '10' WHERE `settings`.`id` = 1; ALTER TABLE `settings` ADD `iwidth` INT NOT NULL AFTER `rows_per_page`, ADD `iheight` INT NOT NULL AFTER `iwidth`, ADD `twidth` INT NOT NULL AFTER `iheight`, ADD `theight` INT NOT NULL AFTER `twidth`, ADD `watermark` BOOLEAN NOT NULL AFTER `theight`; UPDATE `settings` SET `iwidth` = '800', `iheight` = '800', `twidth` = '150', `theight` = '150' WHERE `settings`.`id` = 1; ALTER TABLE `categories` ADD PRIMARY KEY (`id`), ADD KEY `id` (`id`); ALTER TABLE `permissions` ADD PRIMARY KEY (`id`), ADD KEY `id` (`id`); ALTER TABLE `categories` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `permissions` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; UPDATE `settings` SET `r_inprogress` = 'Hello %customer%, your order/repair for %model% was opened by %businessname%. Check the state of repair anytime on %site_url%.' WHERE `settings`.`id` =1; UPDATE `settings` SET `r_approved` = 'Hello %customer%, your order/repair for %model% was approved. ' WHERE `settings`.`id` =1; UPDATE `settings` SET `r_tobedeliver` = 'Hello %customer%, your order/repair for %model% was opened by %businessname%. Check the state of repair anytime on %site_url%.' WHERE `settings`.`id` =1; UPDATE `settings` SET `r_delivered` = 'Hello %customer%, your order/repair for %model% was delivered by %businessname%. ' WHERE `settings`.`id` =1; UPDATE `settings` SET `r_cancelled` = 'Hello %customer%, your order/repair for %model% was cancelled. ' WHERE `settings`.`id` =1; UPDATE `settings` SET `r_tobeapproved` = 'Hello %customer%, your order/repair for %model% need to be approved ' WHERE `settings`.`id` =1;

Update – v1.3 to v1.4

Change Log 1.40

— Added Unlimited Repair Statuses
  1. Download v1.41
  2. Backup your current rms_application files (v1.4) and export current database as sql (as pre-caution).
  3. Delete v1.4 rms_application files and extract v1.41 as replacement
  4. Restore rms_application/assets/uploads/logos & rms_application/assets/uploads/members folder from v1.4
  5. Restore rms_application/application/config/config.php, rms_application/application/config/database.php files from v1.4
  6. Go to phpMyAdmin , select your database and run the following SQL:
UPDATE reparation SET status = 10 WHERE status = 3; UPDATE reparation SET status = 11 WHERE status = 2; UPDATE reparation SET status = 12 WHERE status = 0; UPDATE reparation SET status = 13 WHERE status = 5; UPDATE reparation SET status = 2 WHERE status = 10; UPDATE reparation SET status = 3 WHERE status = 11; UPDATE reparation SET status = 4 WHERE status = 12; UPDATE reparation SET status = 0 WHERE status = 13; CREATE TABLE IF NOT EXISTS `status` ( `id` int(11) NOT NULL AUTO_INCREMENT, `label` varchar(150) NOT NULL, `bg_color` varchar(50) NOT NULL, `fg_color` varchar(50) NOT NULL, `position` int(11) NOT NULL, `send_sms` tinyint(1) NOT NULL, `send_email` tinyint(1) NOT NULL, `sms_text` text, `email_text` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `status` (`id`, `label`, `bg_color`, `fg_color`, `position`, `send_sms`, `send_email`, `sms_text`, `email_text`) VALUES (1, 'In Progress', '#000000', '#ffffff', 1, 0, 1, NULL, 'Hello %customer%, your order/repair for %model% was opened by %businessname%. Check the state of repair anytime on %site_url%.'), (2, 'To Be Approved', '#ff0000', '#ffffff', 2, 0, 1, NULL, 'Hello %customer%, your order/repair for %model% need to be approved '), (3, 'Job done! ready to deliver', '#692121', '#ffffff', 3, 0, 1, NULL, 'Hello %customer%, your order/repair for %model% was opened by %businessname%. Check the state of repair anytime on %site_url%.'), (4, 'Delivered', '#1be323', '#000000', 4, 0, 1, NULL, 'Hello %customer%, your order/repair for %model% was delivered by %businessname%. '); Update – v1.2 to v1.3
  1. Download v1.3
  2. Backup your current rms_application files (v1.2) and export current database as sql (as pre-caution).
  3. Delete v1.2 rms_application files and extract v1.3 as replacement
  4. Restore rms_application/assets/uploads folder from v1.2 (Delete current rms_application/assets/uploads folder and paste v1.2’s rms_application/assets/uploads as replacement from backup.)
  5. Restore rms_application/application/config/config.php, rms_application/application/config/database.php files from v1.2
  6. Go to phpMyAdmin , select your database and run the following SQL:
ALTER TABLE `reparation` ADD `imei` TEXT NOT NULL AFTER `date_closing`; ALTER TABLE `settings` ADD `model_based_search` BOOLEAN NOT NULL AFTER `version`; UPDATE `settings` SET `version` = '1.30' WHERE `settings`.`id` = 1;

Change Log 1.30

Quantity Increase Bug Fixed
delete confirmation added
added IMEI field
fixed Responsive Tables 
Front Page Translation added
Russian Translation added
Menu Translation added
Import/Export Feature added
Repair create without adding defective items 
Alert Quantity added
And Much More. 

Counter

Flag Counter
by
by
by
by
by
by