Company Details - Boolean flag to show/hide Contact Details in the Headers
- Other flags to hide/show other functionality from the Dashboard
- Weather, Facebook groups, Business contacts, Instructions, Competitors.
|
|
|
-
|
Complete
|
| |
|
|
|
Payment link Set up a link to Stripe or similar. Be able to copy to other projects - Payment entity linked to the User
- Account at Stripe (use nurse_stephen@hotmail.com)
|
|
|
|
Blocked
|
| |
|
|
|
Multi-currench flags don't work
|
|
|
|
Pending
|
| |
|
|
|
Photos - Header Link should go to the Show By Location if sole location
|
|
|
|
Complete
|
| |
|
|
|
CMS - Home Page. if the flag for Photos only is not checked and there is no CMS page Static-Home, then show an error message
|
|
|
|
Pending
|
| |
|
|
|
Business Contacts - Index: Need to sort by the ranking of the Business Types
- In Business Contact form
- Java-script to hide the First/Last Name if the BusinessOrPerson= “Business”. if Person selected, show both
- Add GPS location button that picks current location. Activate from the view too.
- When deleting a business contact, cascade to the Referrals log
|
|
|
-
|
Complete
|
| |
|
|
|
User - Create a field in CompanyDetails that permits or not “Auto login” from a given unique URL
- Each User gets a unique URL, which will log them into the site with their name
- Construct a controller that does that login for them
|
|
|
-
|
Pending
|
| |
|
|
|
Business Contacts - Counter fix. Don't display Business Types if Counter =0
|
|
|
-
|
Complete
|
| |
|
|
|
CMS - If non GB text is blank, return the GB text prefixed by (Awaiting translation…)
|
|
|
-
|
Pending
|
| |
|
|
|
Multi-lingual functionality: - Include in the CompanyDetails entity a field called ‘multilingual’ (booelan)
- Create new entity called ‘Languages’ containing, language (English, French, German, Spanish) , flag icon file, and abbreviation
- Selection of flag switches language of text
Page count - Add field in the Products entity for pageCount and pageCountAdmin
- When a page is loaded add to the pageCount (and if an Admin user add to pageCountAdmin only)
|
|
|
|
Complete
|
| |
|
|
|
New functionality: Glossary - Add a new entity called Glossary or Help
- Creates a page with some background that can be linked from another page. But shouldn't be in the main drop-down menus
|
|
|
-
|
Pending
|
| |
|
|
|
Users - Edit User fails because
- Password is not visible
- If the user has 2 or more than 3 names in the fullName
|
|
|
-
|
Complete
|
| |
|
|
|
Contact Box on HomePage - if there is only 1 active product, don't show the checkbox
- Include in the CompanyDetails a checkbox to ask whether to include the tel number and or the Message question in the contact us box
|
|
|
|
Pending
|
| |
|
|
|
Translations - Create import/export buttons for the translations
- Replace records with same English
|
|
|
-
|
Complete
|
| |
|
|
|
Useful Articles - Create a “Useful articles page” with some helpful topics.
|
|
|
-
|
Pending
|
| |
|
|
|
Product List - Button to make Active/Inactive from the Index
- Buttons to Change the Ranking and Renumber
|
|
|
-
|
Complete
|
| |
|
|
|
Templates - See if you can move all the twig templates under an ATS directory so you can delete them all in the update bat file and resave easily
|
|
|
|
Pending
|
| |
|
|
|
CSS - Should these files be copied from the ATS Template?
|
|
|
-
|
Complete
|
| |
|
|
|
Multi-lingual - In Company Details control the default language, with one setting being to look at the browser language?
|
|
|
-
|
Pending
|
| |
|
|
|
Facebook Groups and Products
|
|
|
-
|
Complete
|
| |
|
|
|
Company Details - Boolean checkbox can't not be checked
|
|
|
|
Complete
|
| |
|
|
|
Header - Photo header appears if there are no photos stored
|
|
|
-
|
Pending
|
| |
|
|
|
ATS Template - Multi-lingual functionality:
- Include in the CompanyDetails entity a field called ‘multilingual’ (booelan)
- Create new entity called ‘Languages’ containing, language (English, French, German, Spanish) , flag icon file, and abbreviation
- Selection of flag switches language of text
- Page count
- Add field in the Products entity for pageCount and pageCountAdmin
- When a page is loaded add to the pageCount (and if an Admin user add to pageCountAdmin only
|
|
|
|
Complete
|
| |
|
|
|
Security - Email verification for New users
|
|
|
|
Pending
|
| |
|
|
|
CMS Copy - When switching between Static Page and Product, deleting the field for Static page/Product respectively
- New CMS: Product list to be ordered by ranking
|
|
|
-
|
Complete
|
| |
|
|
|
Photos - if the file is missing, you can't delete
|
|
|
|
Pending
|
| |
|
|
|
Backdoor Doesn't work: Password Encoder error
|
|
|
|
Complete
|
| |
|
|
|
Live server set up - Automate the process to give read/write access to the public/administration
- sudo chmod -R 775 /var/www/html/stephennurse/public/administration/Attachments/
- sudo chown -R www-data:www-data /var/www/html/stephennurse/public/administration/Attachments/
- Write a batch file that will copy the Map-Icon and Language-Icon files, to all the projects (or have them uploaded in the git process)
|
|
|
-
|
Pending
|
| |
|
|
|
Registration - Settings. Have a flag for enable registrations
- Email templates:
- Registration - Thank you registering and has a verification link to confirm
- Referral
- Display QR code on home page
|
|
|
-
|
Complete
|
| |
|
|
|
Website contacts - Add a delete all button
- Include the phoneChceker into the index view
|
|
|
-
|
Pending
|
| |
|
|
|
Create a Help entity - Ability to show video of implementing each function
|
|
|
|
Complete
|
| |
|
|
|
Instructions - Import Media file
- Display media file
- And launch
|
|
|
-
|
Complete
|
| |
|
|
|
OfficeAddress - Why doesn't it occupy full page, especially on mobile?
|
|
|
-
|
Complete
|
| |
|
|
|
- Add useful contacts – copy from Stephen-nurse or Immigration
- Include a map that shows the location of each restaurant/hotel etc
- Restaurant entity to include opening times (for on and off peak season)
- Menu entity
- Add all to the copy batch file
|
|
|
|
Complete
|
| |
|
|
|
Company Details - Index view - The i icon for Directions doesn't slice or raw
- Weather - Fails with GMT as time zone
- Map link field - increase height
|
|
|
-
|
Complete
|
| |
|
|
|
Header & Footer - Product list should be sorted by Ranking number
|
|
|
|
Complete
|
| |
|
|
|
Company Details - Button to add Longitude and Latitude into the Company Details record
- Can't save changes (since adding Photos)
|
|
|
|
Complete
|
| |
|
|
|
Weather - Index - Link to the live google weather page doesn't find the location specfied
- Create a daily chron job
|
|
|
-
|
Complete
|
| |
|
|
|
Company Details - Include Contact Details or not in the headers
|
|
|
|
Complete
|
| |
|
|
|
Products - Deleting a Product when the CMS is populated drives an error
|
|
|
-
|
Complete
|
| |
|
|
|
Languages - Add a link on the Active/Inactive to turn off/off instantly
- Add a ranking number to control the order of the flags in the dropdown
- Import feature to upload all the countries. Delete all
|
|
|
-
|
Complete
|
| |
|
|
|
Helpful files - View of Useful URLs on the mobile
- Email fails with one file
- Email fails when more than one file (different error)
|
|
|
-
|
Complete
|
| |
|
|
|
Languages - CompanyDetails page fails if no languages in database or no English
- Doesn't seem to work in TennisClub.
|
|
|
-
|
Complete
|
| |
|
|
|
Logout time - How do I control the time til the systems logs you out?
|
|
|
-
|
Complete
|
| |
|
|
|
CMS Copy - Can't save Edits
- Increase height of the content box
- Define different page layout formats and have the CMS copy be applied to that format
|
|
|
-
|
Complete
|
| |
|
|
|
Company Details - Doesn't save the Driving Instructions. Can't save edits
- Wrap google map link
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Project specific roles maintain in settings - Create an entity to define the roles available in the project
- Also in the User form, be able to control which fields are active as a function of the role
|
|
|
-
|
Complete
|
| |
|
|
|
Registration - Email fails
- Need to test the full process
|
|
|
|
Complete
|
| |
|
|
|
CMS Photo - Default the rotate to zero
- When editing, if it was a Product it reverts to Static upon opening
- If photo.photo is blank, it should be ignored in the controller (displaying product.html.twig)
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
QR page - Look and feel on full and small screen
|
|
|
|
Complete
|
| |
|
|
|
Business contacts - The File and Photo fields show when not empty. Copy JS found in Company Details Edit form
|
|
|
|
Complete
|
| |
|
|
|
HomePage (Photos) and Interests Page - If the hyperlink is blank it should do anything when clicked.
|
|
|
|
Complete
|
| |
|
|
|
Facebook Reviews - List of users : FindByRole function should have up to 3 roles
- Include a setting for limit review history (eg 3 months), and show/hide the reviews according to that limit
- Import Reviews needs to find the User and the Facebook Group from the entity
|
|
|
|
Complete
|
| |
|
|
|
CMS Copy - Headlings and Titles in CMS_Copy should be be hidden unless Ranking ==1
- Default Ranking =1 for first one and 2 thereafter
|
|
|
|
Complete
|
| |
|
|
|
Home page (photos only) - Looks terrible on Ipad Pro
|
|
|
-
|
Complete
|
| |
|
|
|
User - Add photo, which should be part of personal details
- Improve views
|
|
|
|
Complete
|
| |
|
|
|
Roles entity - Create a ranking of roles
- See if you can mimic the heirachy.
- ie Create a list of other roles that are granted by association.
User-roles - Consider how to handle the nesting (ie heirachy)
- Should you save the other roles upon exit?
|
|
|
|
Pending
|
| |
|
|
|
Useful files - E-mail functionality doesn't work
- Edit issue
|
|
|
|
Complete
|
| |
|
|
|
Photos - E-mail fails
- Handling of favourites
|
|
|
-
|
Complete
|
| |
|
|
|
Bugs in live systems vs ATSTemplate - MapIcon, Business Types and Business Contacts imports don't work on stephen-nurse.com
- Winter Cash Cup: Upgrade from ATS didn't work
|
|
|
-
|
Complete
|
| |
|
|
|
Services.yaml - The only directory that doesn't work is the favicons_directory and mapicons_directory
- However it works in the CompanyDetailsController, it only fails to work in twig (company-details-index, QR-homepage, base.html)
- In each of those twigs, they don't accept other directories from the service.yaml and favicon_directory works in other twigs
|
|
|
-
|
Complete
|
| |
|
|
|
Business contacts - New contact: Sort categories alphabetically
- FIle and photo field show in edit mode when not empty. Copy JS in Edit for CompanyDetails
- Index: Desktop class doesn’t work
- Count contacts where maplocation is not empty service
Git fails - Copy to Whistles and Bells
|
|
|
-
|
Complete
|
| |
|
|
|
CMS Photos - Movie files in Interests/Products or Home page don't seem to size correctly
|
|
|
|
Complete
|
| |
|
|
|
Business contacts - Test that the file attachment and photo get deleted if you delete a contact
|
|
|
-
|
Complete
|
| |
|
|
|
User - Work out a way to share some common features of the User entity but allowing for adaptions for each different project
- ChatGPT: I am building about 10 different websites that all work on Symfony/PHP. They will all share the same foundations or basic architecture (basic USER handling, a CMS, and other standard features) and any changes in one are updated across all by copying the Entity, Controller, Form, Repository and Templates. The each site will have some specific code unique to each site. The problem I have is that the USER entity needs to be slightly different for each site, so I can't copy those across. How can I maintain consistency and the uniqueness. My thought was to split the user entity in two and embed the second (different) USER2 contents within the USER form. Any suggestions
|
|
|
-
|
Complete
|
| |
|
|
|
Map Icons - New/Edit: Selection of icons to be sorted alphabetically
|
|
|
|
Complete
|
| |
|
|
|
Website contacts - How do I see what Product they are interested in?
|
|
|
|
Complete
|
| |
|
|
|
Email server - Emails failing in many projects
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
Mobile view needs to be improved - Dashboard
- Company Details
- Change from a table to a single record to display across whole page (Show)
- Show function doesn't work as is
- CMS_Copy - restrict content
- CMS_Photo - restrict content
|
|
|
-
|
Complete
|
| |
|
|
|
Users - Link the list of fields viewable to the CompanyDetails settings
- Home Address
- Business Address
- Personal Details
- Job Details
|
|
|
|
Complete
|
| |
|
|
|
Map Icons - Button to delete icons and hide/show the form field as appropriate
|
|
|
|
Complete
|
| |
|
|
|
Maps To calculate the optimal zoom level for a Google Map that just fits all of your venues without scrolling, you need to determine the bounding box that encompasses all the venue locations. Based on the bounding box, you can compute the zoom level that ensures all the venues are visible. Here’s how you can approach this: Steps to Calculate Optimal Zoom LevelFind the bounding box: For all your venues, compute the min and max latitudes and min and max longitudes: - minLat = minimum latitude of all venues
- maxLat = maximum latitude of all venues
- minLng = minimum longitude of all venues
- maxLng = maximum longitude of all venues
Calculate the geographical range: - The latitude range is:
latRange = maxLat - minLat - The longitude range is:
lngRange = maxLng - minLng
Calculate the center of the map: The center of the map is simply the average of the latitudes and longitudes: - centerLat = (maxLat + minLat) / 2
- centerLng = (maxLng + minLng) / 2
Calculate the diagonal distance: The diagonal distance between the top-left and bottom-right corners of the bounding box is critical for determining the zoom level. You can use the Haversine formula or a simplified approximation to compute the distance. The Haversine formula is: - a = sin²(Δφ/2) + cos(φ1) ⋅ cos(φ2) ⋅ sin²(Δλ/2) c = 2 ⋅ atan2(√a, √(1−a)) d = R ⋅ c
Where: - Δφ = difference in latitude (in radians)
- Δλ = difference in longitude (in radians)
- φ1, φ2 = latitude values in radians
- R = radius of the Earth (mean radius = 6,371 km)
- d = the distance between the two points (diagonal distance)
Estimate zoom level: Based on the diagonal distance, Google Maps provides a rough way to estimate the zoom level, which is typically from 0 (world) to 21 (street level). A common approach is to map the diagonal distance to zoom levels using a logarithmic scale, but this depends on the map's current bounds and the projection used. Generally, a simplified formula is: - zoomLevel = maxZoom - log(d / maxDistance) * scaleFactor
- maxZoom = the maximum zoom level allowed (usually 21)
- maxDistance = the maximum diagonal distance you want to show (e.g., distance across your entire map's viewable range)
- scaleFactor adjusts for the desired map fit
Using Google Maps API to Simplify:You can simplify this calculation by using the Google Maps API, which has a method to fit markers within a viewport using fitBounds(): // Assuming you have an array of venue locations in {lat, lng} format: const locations = [ {lat: 40.748817, lng: -73.985428}, {lat: 40.748217, lng: -73.985128}, // Add other venues here ]; // Create a bounds object const bounds = new google.maps.LatLngBounds(); // Extend bounds to include each venue locations.forEach(location => { bounds.extend(new google.maps.LatLng(location.lat, location.lng)); }); // Create a map with the bounds set const map = new google.maps.Map(document.getElementById("map"), { center: bounds.getCenter(), // Center map at the average of the venues zoom: 15 // You can let Google automatically choose the zoom or set a default }); // Fit map to the bounds map.fitBounds(bounds); This method will automatically adjust the zoom level and center based on your venues, ensuring all the locations are visible without scrolling. You don't need to manually calculate the zoom level if you're using this approach.
|
|
|
|
Complete
|
| |
|
|
|
Doctrine update - Entities not working - Instructions
- Weather
- Facebook Groups
- Competitor
- Competitor Service
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
ATS Company Details Show - Fix slider
- hide facebook months and registration email if deselected
|
|
|
|
Complete
|
| |
|
|
|
HomePage - Allow multi-selections in the Contact Us form
- Add Product-include in Contact form field
|
|
|
|
Complete
|
| |
|
|
|
User - Reset password doesn't work
|
|
|
|
Complete
|
| |
|
|
|
Interests/Products - In the hyperlink in the Products/Interests entity - in the index correct for https or www to launch even if lazily entered. Same for business contacts
|
|
|
|
Complete
|
| |
|
|
|
CMS Photo - When editing, if the file is loaded, don't show the input box
- Make the unique identifier just three letters
- Increase the size of the photo in the Edit field much larger
- Make the Hyperlink adaptable to include rhe https// and www
- Improve the title on the Edit page
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
HomePage - All photos - The photos don't have the hyerlink or the title pop-up working
|
|
|
-
|
Complete
|
| |
|
|
|
Products - Notes field should be better positioned (on the right, col-8) and be editable with CKEditor.
- As you hover over the Links for the Products in the menu it should show you the Notes
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Check backdoor functionality - Doesn't work in ComfyCats (live)
|
|
|
|
Complete
|
| |
|
|
|
Website contacts - Ordering of products according to ranking
- Similarly in email
|
|
|
-
|
Complete
|
| |
|
|
|
SQL download - Learn how to import into local
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Server clean-up - Button to clean up the attachments for all directories
- Button to import the mapicon files
|
|
|
|
Complete
|
| |
|
|
|
Workflow from Website Contact to User - The objective here is to automate the process of converting a Website Inquiry into a User
- Form received from client (in Website contacts).
- To do
- Allow multiple entries on the checklist
- Add field in Products for “Include in Contact Form” and references in the Contact Us form
- Add input in CompanyDetails as to whether to receive an alert with a new Inquiry
- And ‘Email’ text in Product form
- Office_Staff decides to accept a Website Inquiry or not (perhaps automate this).
- Converting to User creates a New User with the credentials provided in the Website Inquiry.
- Sends a generic email
-
|
|
|
|
Complete
|
| |
|
|
|
User - Default language - order by ranking
|
|
|
-
|
Complete
|
| |
|
|
|
Photos - Individual photo doesn't resize well when viewed by a mobile
|
|
|
-
|
Complete
|
| |
|
|
|
Photo Locations - New Photo Location creates an error
|
|
|
-
|
Complete
|
| |
|
|
|
Contact Us - Don't show the Interested in… and list of Products if there is only 1 product on offer
|
|
|
|
Complete
|
| |
|
|
|
Edit the bat file to add the new project specific inflation
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
Company Details - Need to make email and Default password mandatory, if using the contact form.
|
|
|
|
Complete
|
| |
|
|
|
CMS Photos - It is possible to select Video for a JPG
- When switching between Product and Static Page it keeps the Static Page name and therefore impacts the Save
|
|
|
-
|
Complete
|
| |
|
|
|
Multi-lingual - Make the titles in Indexes language-specific
|
|
|
-
|
Complete
|
| |
|
|
|
Photo Gallery - Email button doesn't work
- Favoured/unfavoured button don't work
|
|
|
-
|
Complete
|
| |
|
|
|
Mobile view - needs work. - CompanyDetails Show/Edit
- Products
- CMS- Edit/New is good
- SubPage
- CMSPhoto- index only
- UsefulLinks - ok
- Instructions -New
- Weather -ok
- Business contacts - New and Edit
- Map Icons - edit
- Facebook Groups - Index and Edit
- Competitors - New
|
|
|
|
Complete
|
| |
|
|
|
Clear all attachments - Button to clear public directory - assume that the directories will be made as files are saved for the first time?
|
|
|
-
|
Complete
|
| |
|
|
|
Photos - In the CountService, for the CountPrivateLocations, don't just count those Private locations, but those where the user has access to
|
|
|
-
|
Complete
|
| |
|
|
|
New functionality: Import from Outlook - I am building a system to manage client bookings and although i would prefer that clients book online directly, some do email me. I would like to build the ability to import the content, subject line and sender and date from my email system (eg Outlook) email into a record in the database
- My plans is that emails that need to be brought into the booking system would be moved to a specific directory (eg “Upload to system”) and these are the emails that the booking system would see and extract the data from. The booking system would need access to the email
- I am using Symfony/PHP - how can i build this?
|
|
|
|
Complete
|
| |
|
|
|
Users - VCF export not built
- Show each user's log count, counting the number of times the number has logged in.
- Hover to show the date/time of the last [5] view
|
|
|
|
Complete
|
| |
|
|
|
Header - Useful links show/hide doesn't seem to be in all projects
|
|
|
|
Complete
|
| |
|
|
|
Have in the Settings a flag for if site is still in testing mode. - If in Testing mode, then:
- Login screen contains the test login buttons
|
|
|
-
|
Complete
|
| |
|
|
|
User log - Build out a more comprehensive user tracking log. Not just logins . Google analytics
|
|
|
|
Complete
|
| |
|
|
|
Photo gallery - Don't open the photo-locations page unless an Admin and there are at least [15] different locations
- Instead show the name (and date and # photos) of each location in the dropdown. Listed either alphabetically or by date (make that a control in the Settings)
- Then have the private groups listed, in red
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
Project specific landing page post login for different access rights
|
|
|
-
|
Complete
|
| |
|
|
|
Header - Photo Gallery and Photos appear twice in the Header if logged in as ADMIN
|
|
|
|
Complete
|
| |
|
|
|
WhatsApp number - Develop a service that checks if a number is a valid WhatsApp number or not
|
|
|
-
|
Complete
|
| |
|
|
|
Products - Re-numbering/re-ordering button
|
|
|
|
Complete
|
| |
|
|
|
Product list (header) - If there is only one product in the ProductList, then it should become the Header
- Same for SubProducts
HomePage Contact Form - Still shows the DateTime sent.
- Phone number should be optional
Workflow
|
|
|
|
Complete
|
| |
|
|
|
User Indexes - Dynamic control of sorting in Index
|
|
|
|
Complete
|
| |
|
|
|
ROLES User - Photo field showing when populated.
|
|
|
-
|
Complete
|
| |
|
|
|
Users - I introduced sorting for all the columns (ie post pagination functionality) for the Users index. Curiously, some work but not all.
Business contacts - Tried to insert the PhoneAnalyzer into Business Contacts, but it fails
|
|
|
|
Complete
|
| |
|
|
|
Instructions - Control in Company Details to include a link to instructions functionality.
- Show in dashboard if selected.
- Include in Header display selections
Contacts details (Company Details settings) - Flag to include business card or not
- Business card to include only the information permissioned
- Perhaps include email as
|
|
|
|
Complete
|
| |
|
|
|