The Form Tools forums are no longer active, but the old posts have been archived here. Please see the Help page on how to get help / report issues.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Clients Losing Permission to Forms
Here's the error's it came up with:

FORM TOOLS CORE - ft_hooks - Invalid column: action_location
- is: enum('start','end')
- should be: varchar(100)

FORM TOOLS CORE - missing table: ft_module_extended_client_fields

FORM TOOLS CORE - missing table: ft_module_extended_client_field_options

Extended Client Fields - missing table: ft_module_extended_client_fields

Extended Client Fields - missing table: ft_module_extended_client_field_options
Hi Prig,

Ah, interesting.

Are you running v1.0.0 of the module? If so, ignore the last four errors - that was a glitch in the script. If you're running 1.0.1, try uninstalling the Extended Client Fields module and re-installing it. For some reason, the tables don't exist.

The first error, however, looks like a real issue. That column was updated in an early version of the 2.0.0 Beta.

Do you have access to phpMyAdmin, or a tool that lets you run queries on your database? If so, log in, select your Form Tools database and run this query. Note: you'll need to replace *** with the prefix for your tables. e.g. the table name would be ft_hooks or ft2_hooks or something.

ALTER TABLE ***hooks
CHANGE action_location action_location VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL

That should fix up this problem.

However, I don't think this should cause any dropped permissions....

You are running 2.0.4 now, correct?

- Ben
Hey Ben,

I just followed all your instructions. I ran that query successful. I uninstalled the extended clients field (I didn't bother reinstalling it because I don't use it currently), and I upgraded the Database Integrity module to 1.0.1.

The original error is gone but I now receive the following error:

FORM TOOLS CORE - ft_view_filters - Invalid column: operator
   - is: enum('equals','not_equals','like','before','after')
   - should be: enum('equals','not_equals','like','not_like','before','after')

In addition, it doesn't seem like I can access my themes options anymore. On the left hand side menu, Themes still appears as a link, but when I click on it nothing happens. When I go to the options menu there isn't a Themes tab either. I have two Form Tools installations and after upgrading to 2.0.4, the tab disappeared from both.

Hey Prig,

Don't worry about the Themes link not working: that's actually expected. Give this page a read over:

That explains how to fix the Themes page. It was moved out of the Settings tab with version 2.0.3. Because the menus are customizable I couldn't just update everyone's system to put it in a new location - it has to be done manually (don't worry, it's very simple).

For the other error, run this SQL query through phpMyAdmin:

ALTER TABLE ***view_filters
CHANGE operator operator ENUM('equals', 'not_equals', 'like', 'not_like', 'before', 'after' )
CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'equals'

Again, *** should be your database table prefix, like before.

After executing that query, re-run the Database Integrity module to check that all tables are all fixed now.

*However* after all this (!) I'm still not convinced these problems are related to your original problem: client account permissions being dropped. If I haven't already recommended it, could you try installing the Client Audit module? That module tracks all changes made to client accounts - including permission changes. It's very possible that it may help debug why this is occurring.


- Ben

1.) I just followed the instructions to fix the themes link and that worked great.

2.) I didn't know by adding .5 after an value in an order box would renumber everything after that value. The little things in life... Smile

3.) I executed the query and ran the module again and no errors came up.

4.) I installed the audit module. I'll keep an eye on it and see if anything comes up in regards to permissions being changed.

Thanks for all your help.

Update: I just checked out the audit log, and all the permissions were updated at 1:54 PM for every single user.
Ben, I have been having the same problem, but for my life, I cannot seem to come up with a set of steps to reproduce it for you. I have a few views that I've created and given only the clients access to those views. All Submission is still there available for me. Then all of the clients loose permission to the view. They are still listed on main as available, but I have to go back into the view and give them all permission again. Using the darkgrey theme.

The only help I can give you is the debug message they get:

It appears that your user account hasn't been assigned to any form Views, so you won't be able to see any data. Please contact the administrator for further help.
No further help available.
I ran the above msSQL code and it affected 4 rows, same views that were dropping clients and I will see if that solves the problem.
Yeah, I'm still having this issue. My audit log is filled with the permissions being reset.

I'm thinking of creating a workaround where I'll update the mysql database directly every few hours via a cron job.
Yeesh, that's a shame... but yes, that's a workaround until I can provide a fix.

Good to know it's being caught in the audit trail though. Do you have any clues as to what may have triggered it? Do you recall if the admin was logged around that time and what - if anything - they were doing?

- Ben
I was logged in and added some field to the DB and then added them to the view of another form. That was last evening. Then this morning a client logged in and said they had no views. But only those views that your fix fixed were affected, the other form and views for a different set of clients were ok.
I might have found the cause. I had finished the day by going back to all of my internal forms and checked to see if all of the clients should have access, had access. All of them that more than one client assigned to the form, now had no clients, so I added them back in.

Then I closed up my project and went to sleep. I was thinking about a field that I forgot to add to the latest internal form. I logged in as admin, went to that form, added 1 field to the database and then the next step was to add that new field to the view. No clients were assigned. So there is something between adding a new field to an internal form that resets those multi-client views while leaving the single client view intact.

Does that help?

Forum Jump:

Users browsing this thread: 1 Guest(s)