Logout User action

Yes you can :stuck_out_tongue_winking_eye:

I am running a new version (with lots of new features) that is currently undergoing a lot of testing. I don’t use it in production, because it may still contain bugs, but it is getting close. :wink:

Aha gotcha!

Im pushing it with the upgrades, my till isn’t supposed to be supporting windows 7. waiting for the cash to buy a touchscreen so I can upgrade! :smile:

Thanks for the above tutorials, I’ve just gone through them now, ill let you know how I get on!

Everyone here is great, what a community. I just hope with all the learning I’m doing now I can later pass on my knowledge. i get a lot of free time at work.

Matt

1 Like

Excellent thanks, it works!

Im going to follow the above tutorial to auto close a ticket after a delay too then we should be sorted! :smile:
Matt

So… it works fairly well. However… there are a pile of other scenarios that don’t work, so it is not a true timed autologout. We need to take more control over what is happening at various other times. For example…

Create a Ticket, then close it, or pay it, or whatever.
Now navigate somewhere, like the Accounts screen, or the Tickets screen, or the Reports screen, or simply click Select Table (or Customer), but don’t actually select an Entity.
Sit there until the delay has passed, and you will be logged out.

Ok, so we don’t really want to be logged out at that point. We need to reset the delay (reset the timer) somehow…

I’m thinking something like Application Screen Changed Event and an Update Program Setting Action to store the delay… let me think on this a little more…

It logs out the users well with how I’ve set it up now.

I have only 2 scenarios with users on my till as it goes straight into POS mode after login. this is:

  1. They complete the transaction, the amount processed was the exact amount that was tendered, the ticket auto closes and then auto logs out after 30 seconds.

  2. They complete the transaction, the amount processed was less than the amount that was tendered, the ticket auto closes after 30 seconds, the user logs out after a further 30 seconds.

For my trade, i believe the solution has been created.

Regards

Matt

Here is a Resetting Timer. In addition to the 2 Actions posted previously, add another one …

Action - Update Program Setting - AL Store Time


Add a new Rule …

Rule - Application Screen Changed - AL Screen Change

AL Store Time
Constraint: (none)
SettingName: ALtime
SettingValue: [=TN('{DATE:HH}')*60*60+TN('{DATE:mm}')*60+TN('{DATE:ss}')]

AL Execute Automation Command
Constraint: '[:CurrentScreen]'!='Management' && '[:CurrentScreen]'!='LoginScreen'
AMCname: AL AutoLogout
delayseconds: 5


Modify the Rule AL AutoLogout to add this Constraint to the Rule:

[=(TN('{DATE:HH}')*60*60+TN('{DATE:mm}')*60+TN('{DATE:ss}'))-TN('{SETTING:ALtime}')+1] *Greater* 5

Or, this Constraint to the Action called AL Logout User:

[=(TN('{DATE:HH}')*60*60+TN('{DATE:mm}')*60+TN('{DATE:ss}'))-TN('{SETTING:ALtime}')] >= 5

1 Like

Do you feel this is something that could benefit myself? I don’t use the select table method, I have a fast food business.

I suppose adding it won’t hurt though.

I really appreciate your time on this, I’m sure many others will benefit from this also.

Matt

Whether it would benefit is up to you.

The first solution I posted is based on the Ticket Closed Event.

The latter solution has that as well, but also operates on Application Screen Changed Event. Consider this regarding the first solution:

  • Login and go to the POS/Ticket Screen.
  • Let it sit there for the timeout value (i.e. 30 seconds).
  • nothing happens - you are still logged in, because you haven’t created a Ticket, nor Closed one, which is required by the first solution

Because the 2nd solution watches another event, you would be logged out after 30 seconds, no matter which screen you are on.

2 Likes

gotcha! Ok, thats great. Would this also be included before a ticket is closed but after it is processed?

Regards

Matt

I don’t understand your question. What do you mean by “processed”?

It will attempt to logout after a certain time, but at least one thing will prevent that from happening: an Open Ticket. I expect this to be the behavior you would want.

If you have implemented a mechanism to auto-close a ticket, then logout, then it’s a different story.

Yeh you pretty much answered my question there.

I meant after manually closing a ticket (although its automatic after 30 seconds for me now).

Regards

Matt

I followed your instructions to the letter but I cant get the system timer to trigger and logout the user. I even imported your file and followed your instructions on the follwoing posts twice over!
Ideas?

As I understand it this setup will automatically log off a user who after a certain periode of time e.g. 30 seconds created and submited (closed) a ticket. Am I right?

Hard to say what could be wrong. Either there is a typo, or the Ticket isn’t being marked as closed properly.

What version are you running?

I am running the most recent version of SambaPos. I even deleted all changes related to this function and typed them back in. I was testing this function when there was no open ticket and still no logout.

If it does not work for me thats ok. But I would like to know since you are testing a newer version of SambaPos does this version come with an “inactivity time logout function”?

Your doing something wrong. Please post some screenshots so we can help you. If I had a dollar for every time someone came on the forum tried to follow a tutorial and it didnt work and then said “I followed it to the letter” I would be rich. Almost every time it is something they missed while following it to the letter :stuck_out_tongue:

It does not come with what your asking for. It does however have the same option as v4 to create this yourself just as @QMcKay has demonstrated.

3 Likes

@Aksel, did you add a default mapping (* * * *) to all your Rules? You must do this, otherwise a Rule will never fire.

ahhh that could be it!!! I must have missed the mapping instruction bit so I left them all blank. Thanks for the hint!!! I will try it out latest Monday and let you know :smile:

1 Like

FYI, we rarely mention that Rules should have a mapping - we almost always leave that part out, because it is a “given” or “common knowledge”, and we assume that most users know this is required. From time to time, a new user isn’t aware of this, so it must be re-iterated…

:exclamation: All Rules require a Default Mapping (* * * *). Without a mapping, a Rule is disabled, and won’t do anything.

2 Likes

… It also warns when rule maps left empty and display rule name in gray color to indicate inactivity. Maybe I should improve warning message…

I would rather it add the mapping automatically by default.

2 Likes