Hi

On Thu, Aug 29, 2013 at 6:07 PM, Dinesh Kumar <dinesh.ku...@enterprisedb.com
> wrote:

> H
> i Dave,
>
> On Thu, Aug 29, 2013 at 8:32 AM, Dave Page <dp...@pgadmin.org> wrote:
>
>>
>>
>>
>> On Thu, Aug 29, 2013 at 4:28 PM, Dinesh Kumar <
>> dinesh.ku...@enterprisedb.com> wrote:
>>
>>> H
>>> i Dave,
>>>
>>> On Thu, Aug 29, 2013 at 7:29 AM, Dave Page <dp...@pgadmin.org> wrote:
>>>
>>>> Hi
>>>>
>>>>
>>>> On Thu, Aug 29, 2013 at 1:01 PM, Dinesh Kumar <
>>>> dinesh.ku...@enterprisedb.com> wrote:
>>>>
>>>>> Hi Dave,
>>>>>
>>>>> Sorry for the delay on this issue.
>>>>>
>>>>> Yes, i am able to reproduce the problem in Linux but not in windows. I
>>>>> am attaching the fix for this issue. After applying this fix, the 
>>>>> behaviour
>>>>> in windows and linux are same.
>>>>>
>>>>> Kindly let me know if i miss anything here.
>>>>>
>>>>
>>>> Still not quite right I'm afraid. If I open a user account with no
>>>> pre-existing expiry, then the dialogue will try to execute:
>>>>
>>>> ALTER ROLE rolename
>>>>    VALID UNTIL 'infinity';
>>>>
>>>>  As I haven't changed anything on the dialogue, it shouldn't try to
>>>> make any changes (or, enable the OK button). Also, the dialogue itself
>>>> shows the current date - it should be blank. If I choose a date - then it
>>>> still tries to set the expiry to infinity!
>>>>
>>>> Tested on Mac.
>>>>
>>>
>>>  Thanks for your inputs. In the current implementation, if the "calender
>>> control" doesn't have a proper value, then we do add "infinity" to the sql
>>> statement. It's the same case, in the edit/creating a role.
>>>
>>> I am not sure, whether we need to follow this implementation or not. I
>>> mean, adding "infinity" to the end of sql statement if the calender control
>>> value is an empty.
>>>
>>> But, i have removed this "infinity" condition and attaching the patch.
>>>
>>
>> Infinity is correct, but:
>>
>> - The SQL to set it should only be generated if the user has opened the
>> dialogue and removed any existing value. If the role is already set to
>> infinite expiration, then it shouldn't be set again.
>>
>> - Obviously this requires the ability to clear that value, and to display
>> is as a blank value in the event that you create a new role (it should
>> default to infinity) or if opening an existing role that is already set
>> that way.
>>
>> If the control doesn't allow you to clear the value, then maybe we need
>> to add a checkbox for infinite, and when un-checked, the user is able to
>> select a date and time, otherwise not.
>>
>> Thanks.
>>
>>
> Thanks for the suggestions. Please find the attached the patch for the
> same.
>
> Let me know if i miss anything here.
>
> Thanks in advance.
>

OK, that seems much better, but unfortunately still not quite perfect. I
spot two issues:

- Changing the time, but not the date, on an existing expiration datetime,
doesn't generate SQL and enable the OK button. Changing just the date does.

- If I clear the date and time, SQL is not generated to reset the valid
until time to infinity.

Thanks.

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Reply via email to