## Install below plugins & activate them before activation of "Estimator Tool" plugin
- Required Plugins for estimator tool (Shelving):
    - Contact Form 7 - requires at least 5.8.3 & tested up to 5.9.7 
    - CF7 Smart Grid Design Extension - requires at least 4.15.8 (for UI)
    - Contact Form CFDB7 - requires at least 1.2.7 (to store form data in database)
    - Drag and Drop Multiple File Upload (Contact Form 7) - requires at least 1.3.8.1
    - Contact Form 7 Captcha - requires at least 0.1.5 (for captcha)
- Required Plugins for estimator tool (Sink legs):
    - Advanced Custom Fields - requires at least 6.2.7 & tested up to 6.3.4


## Changes in installed plugin 
- Go to `plugins/contact-form-7/includes/validation.php`. There is an empty `offsetUnset` funtion add this `unset($this->invalid_fields[$offset]); return $this->invalid_fields;` 2 lines code in this function


## There are 6 estimator which can be created by using Contact Form forms. Below are the name & short code:
-      Estimator Name                                            Estimator Short Code
-      Estimator - Studio Tubular Estimator              [cf7form cf7key="studio-tubular-shelving-estimator"]
-      Estimator - Ball Tubular Estimator                [cf7form cf7key="ball-tubular-shelving-estimator"]
-      Estimator - Metro Tubular Estimator               [cf7form cf7key="metro-tubular-shelving-estimator"]
-      Estimator - Split-Collar Tubular Estimator        [cf7form cf7key="split-collar-tubular-shelving-estimator"]
-      Estimator - Rack Cantilever Estimator             [cf7form cf7key="rack-cantilever-shelving-estimator"]
-      Estimator - Closet Rod  Estimator                 [cf7form cf7key="closet-rod-estimator"]   


## Steps to create estimator forms using Contact Form 7
- Create a form using Contact Form 7 
- Go to `plugins/estimator-tool/forms/estimator_short_code.txt` & copy all code in your Contact Form 7. Name form key as mentioned above `Estimator Short Code`.
- Create a page where you can add short code of above form. 
- Whole form submission is working on above mentioned `Estimator Short Code`, because it is used in `plugins/estimator-tool/estimator-tool.php`, `plugins/estimator-tool/assets/js/shelving_estimator.js` & `plugins/estimator-tool/inc/shelving-template-function.php`.


## Steps to create estimator forms using template page inside theme
- Go to `theme/theme-name/templates/` & create a php file. Name it as `vanity-sinklegs-estimator-template.php`. Now, go to `plugins/estimator-tool/forms/sinklegs-estimator.txt` & copy all code and paste in `vanity-sinklegs-estimator-template.php`.
- Create a page from Wordpress Backend and seletct this template `Vanity Sinklegs Estimator Template`.
- Go to ACF plugin and create Field Groups for this estimator. It has 141 custom fields. Copy it from stage site. Make sure each field have same name.
- Inside Field Groups, there is setting section; select `Post Template` in `Show this field group if` select template as `Vanity Sinklegs Estimator Template`.
- Whole form submission is working with the help of these files `plugins/estimator-tool/estimator-tool.php`, `plugins/estimator-tool/assets/js/sinklegs_estimator.js` & `plugins/estimator-tool/inc/sinklegs-template-function.php`.


## Functionality in Estimator code
- Afetr submission it creates PDF and store it in uploads folder then mail it to the admin user. For few estimators pdf starts downloading. 
    - Studio Tubular Estimator
    - Ball Tubular Estimator
    - Metro Tubular Estimator                        Doesn't generate & download pdf for user
    - Split-Collar Tubular Estimator
    - Rack Cantilever Estimator
    - Closet Rod Estimator                           Doesn't generate & download pdf for user
    - Vanity Sinklegs Estimator                      Doesn't generate & download pdf for user  